Centos 7搭建Zabbix 4.0监控系统

要想实时地了解服务器的运行状况并且能在出现问题时及时解决,利用监控软件是一个很好的途径。就目前而言,有服务器的地方必然少不了监控系统。现有的监控软件有很多,但是Zabbix可以灵活的监控服务器资源,并且集Cacti和Nagio两者的优点于一身且功能更加强大,实现企业级分布式监控,所以在市场应用更广。

一、Zabbix概述

Zabbix是一个基于Web界面的企业级开源监控套件,提供分布式系统监控与网络监视功能。具有主机的性能监控、网络设备性能监控、数据库性能监控、多种告警方式、详细报表、图表的绘制等功能。监测的对象可以是Linux或Windows服务器,也可以是路由器、交换机等网络设备,通过SNMP(简单网络管理协议)、Zabbix、Agent、PING、端口监视等方法提供对远程网络服务器等监控、数据收集等功能,并提供通知机制使系统管理员可以快速定位、解决系统中存在的各种问题。目前Zabbix最新版本为Zabbix 3.4.官方网站是http://www.zabbix.com

Zabbix是免费的。Zabbix遵循GPL(通用公共许可证)版本2,这意味着它的源代码是可以自由分布的。Zabbix的商业版本是由Zabbix公司提供支持的。世界上很多大小不同的组织机构都依懒于Zabbix作为自己的一个主要的监控平台。尤其是现在很多互联网企业都在使用它。
Zabbix是一个高度集成的网络监控解决方案,具体描述如图:

1、Zabbix重要组件

zabbix主要由以下几个重要的组件构成,具体作用如下:

  • Zabbix Server:负责接收Agent发送报告信息的核心组件,所有的配置、数据统计、数据操作都由它组织进行;
  • Database strongage:负责存储所有的配置信息以及收集的数据;
  • Web interface:是zabbix的GUI接口,通常强开下与Zabbix Server运行在同一台主机上;
  • Proxy:属于可选组件,常用于分布式监控环境中,代理Server收集部分数据,然后转发到Server,可以减轻Server的压力;

*Agent:部署在被监控的主机(客户端)上,负责收集被监控端主机的数据,如CPU、内存、数据库等数据,然后发送到Server端或Proxy端;

2、Zabbix进程

默认情况下,Zabbix包含五个程序:zabbix_agentd、zabbix_get、zabbix_sender、zabbix_server、zabbix_proxy,另外有一个zabbix_java_gateway是可选的,需要另外安装。下面来分别介绍它们各自的作用:

  • zabbix_agentd:客户端守护进程,此进程用于收集被监控端的数据,如CPU负载、内存、硬盘使用情况等;
  • zabbix_get:zabbix工具是单独使用的命令。zabbix_get是在server或者proxy端执行获取远程客户端信息的命令。主要用于排错。例如:在server端获取不到客户端的内存数据时,我们可以使用zabbix_get获取客户端的内容的方式来做故障排查;
  • zabbix_sender:用于发送数据给server或者Proxy,通常用于耗时比较常的检查。很多检查非常耗时间,导致zabbix超时。于是我们在脚本执行完毕之后,可以使用sender主动提交数据;
  • zabbix_server:zabbix服务器端守护进程。zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy、
    zabbix_java_gateway的数据最终都是提交到server。数据并不都是主动提交给zabbix_server的,也有被动提交数据的,及server主动去获取数据;
  • zabbix_proxy:zabbix代理守护进程。功能类似于server,唯一不同的是它只是一个中转站,需要把收集到的数据主动(或被动)地提交到server上;
  • zabbix_java_gateway:在zabbix2.0之后引入的一个功能。顾名思义:Java网关,类似agentd,但目前只用于Java方面,需要特别注意的是,它只能主动去获取数据,而不能被动获取数据。它的数据最终会提交到server或者proxy;

3、Zabbix监控架构

在实际生产环境中,Zabbix根据网络环境,监控规模等外界因素分为三种架构:server-client(直接连接)、master-node-client(Node架构)、server-proxy-client(Proxy架构),如下图所示:

1)server-client架构(直接连接)

server-client架构是Zabbix的最简单的架构,监控机和被监控机之间不经过任何代理,直接在zabbix server和zabbix agentd之间进行数据交互,适用于网络比较简单,设备比较少的监控环境。

2)master-node-client架构(node架构)

master-node-client架构是Zabbix最复杂的监控架构,适用于跨网络、跨机房、设备较多的大型环境。每个node同时也是一个server端。node下面可以接proxy,也可以直接接client。node有自己的配置文件和数据库。其要做的是将配置信息和监控数据项master同步。当master发生故障或损坏,node可以保证架构的完整性。

3)server-proxy-client架构(proxy架构)

proxy是server、client之间沟通的一个桥梁,proxy本身没有前端,而且其本身并不存放数据,只是将agentd发来的数据暂时存放,而后在提交给server。该架构经常是和master-node-client架构做比较的架构,一般适用于跨机房、跨网络的中型网络架构的监控。

4、YUM安装Zabbix

Zabbix提供两种安装方式:YUM安装与编译安装。需要注意的是,由于Centos官方YUM源中并不提供Zabbix软件包以及相关依赖包,因此,如果想用YUM安装Zabbix需要通过Zabbix官方源或第三方的YUM源实现。Zabbix服务器需要LAMP环境或LNMP环境,以下实验部署环境采用YUM安装的LAMP环境为例,详细介绍Zabbix监控服务器的部署方法。

1)安装MariaDB

在Centos 7 系统光盘中默认提供的数据库不是MySQL而是MariaDB,因此在LAMP架构中使用MariaDB来充当“M”的角色,其余的组件还是保持原有的Apache与PHP。MariaDB是MySQL数据库源码的一个分支版本,与MySQL在大多数方面是兼容的。

2)安装Zabbix

因为安装Zabbix时会安装很多依赖包,其中包括httpd与PHP相关依赖包,所以直接安装Zabbix即可。无须在单独安装httpd与PHP。

二、搭建Zabbix监控服务器

此安装全部yum源均是通过连接公网使用网络源而配置的

Centos 7源:wget http://mirrors.aliyun.com/repo/Centos-7.repo

Zabbix 4.0源: rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm

Zabbix依赖程序:yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-apache-conf zabbix-agent

Zabbix官方网站:Zabbix官网

Zabbix 4.0官方配置文档:Zabbix 4.0官方配置文档

1、安装Centos 7源

[[email protected] ~]# cd /etc/yum.repos.d/
[[email protected] yum.repos.d]# ls
local.repo
[[email protected] yum.repos.d]# wget http://mirrors.aliyun.com/repo/Centos-7.repo
                                                             <!--安装网络Centos 7源-->

2、安装zabbix 4.0

[[email protected] yum.repos.d]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm

3、安装mariadb数据库

[[email protected] ~]# yum -y install mariadb mariadb-server   <!--安装mariadb数据库依赖-->
[[email protected] ~]# systemctl start mariadb.service         <!--启动服务-->
[[email protected] ~]# systemctl enable mariadb.service        <!--设置服务开机自启-->
[[email protected] ~]# mysqladmin -uroot password         <!--设置数据库密码-->
[[email protected] ~]# mysql -uroot [email protected]          <!--连接数据库-->
MariaDB [(none)]> create database zabbix character set utf8 collate utf8_bin;
    <!--创建数据库zabbix连接使用,数据库名字为zabbix,默认字符编码utf8,-->
MariaDB [(none)]> grant all privileges on zabbix.* to [email protected] identified by  ‘[email protected]‘;      <!--授权zabbix账户访问zabbix数据库密码是[email protected]>

4、安装及配置zabbix服务

[[email protected] ~]# yum -y install zabbix-server-mysql zabbix-web-mysql zabbix-agent
                                        <!--安装zabbix依赖程序-->
[[email protected] ~]# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql
-uzabbix [email protected] zabbix      <!--将zabbix数据导入到创建zabbix数据库中 -->
[[email protected] ~]# cp /etc/zabbix/zabbix_server.conf /etc/zabbix/zabbix_server.conf.bak  <!--备份zabbix服务配置文件-->
[[email protected] ~]# vim /etc/zabbix/zabbix_server.conf     <!--修改zabbix服务配置文件-->
91 DBHost=localhost          <!--去掉注释符号-->
100 DBName=zabbix         <!--数据库名称,根据实际修改,默认不用修改-->
116 DBUser=zabbix           <!--数据库用户名,默认不用修改-->
124 [email protected]     <!--数据库密码,修改此行-->
[[email protected] ~]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak <!--备份zabbix agent主配置文件-->
[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf
<!--编辑zabbix agent主配置文件,
(指定zabbix server的IP地址,这里要指定服务器的IP地址,现在是同一台服务器上,所有保持默认)
-->
98 Server=127.0.0.1              <!--客户端被动等待指定服务器来查询数据-->
139 ServerActive=127.0.0.1   <!--客户端主动提交数据到指定的服务器-->
150 Hostname=Zabbix server <!--建议修改此行,配置规范的主机名-->
[[email protected] ~]# vim /etc/httpd/conf.d/zabbix.conf
                       <!--编辑 Zabbix前端配置文件,设置时区为上海-->
21  php_value date.timezone Asia/Shanghai <!--设置为上海时区,并该行删除注释符号-->

现在服务器端基本配置完成,但是由于字体显示原因,可能使用浏览器访问时,会出现部分文字以乱码显示,所以要下载标准中文字体。可以通过网盘下载:https://pan.baidu.com/s/1iFpLZ4_5Snxry2jUmV8fCw
提取码:ao89

[[email protected] ~]# ls
anaconda-ks.cfg  initial-setup-ks.cfg  simkai.ttf
[[email protected] ~]# find / -name graphfont.ttf   <!--查看graphfont.ttf路径-->
/usr/share/zabbix/assets/fonts/graphfont.ttf
[[email protected] ~]# mv simkai.ttf /usr/share/zabbix/assets/fonts/
          <!--剪切中文字体到/usr/share/zabbix/assets/fonts/目录下-->
[[email protected] ~]# cd /usr/share/zabbix/assets/fonts/   <!--进入目录-->
[[email protected] fonts]# ls
graphfont.ttf            simkai.ttf
[[email protected] ~]# vim /usr/share/zabbix/include/defines.inc.php
         <!--修改PHP界面支持中文字体(如果不修改浏览器访问会出现乱码)-->
  70 define(‘ZBX_GRAPH_FONT_NAME‘,           ‘simkai‘);
                   <!--将原有的“graphfont”更改为“simkai” -->
[[email protected] ~]# systemctl start zabbix-server zabbix-agent httpd
             <!--启动zabbix-server、zabbix-agent、httpd服务-->
[[email protected] ~]# systemctl enable zabbix-server zabbix-agent httpd  <!--设置开机自动启动-->

5、通过客户端使用浏览器配置Zabbix服务器

我这里客户端使用的是火狐浏览器,如果没有可以通过上面连接提取

1)http://192.168.100.20/zabbix 访问zabbix前端安装向导,单击Next step键

2)环境检测界面,确保所有软件都是OK才可以继续

3)数据库连接配置界面,根据刚才创建好的zabbix数据库填写授权信息

4)数据库连接配置完成,填写zabbix服务信息

5)返回配置汇总信息,默认下一步

6)安装完成

7)登录界面输入默认的用户名Admin,密码zabbix即可登录到zabbix服务器

8)修改登录zabbix服务器的用户及密码,设置界面语言为中文

9)设置完成,退出重新登陆即可

10)创建bob用户,将用户加入Guests群组,设置密码、语言及主题

11)检测内存,不会出现中文乱码

6、配置zabbix监控Linux客户端

1)安装zabbix客户端依赖程序

[[email protected] yum.repos.d]# rpm -Uvh https://repo.zabbix.com/zabbix/4.4/rhel/8/x86_64/zabbix-release-4.4-1.el8.noarch.rpm
                       <!--网络源安装zabbix4.0版本-->
[[email protected] ~]# yum -y install zabbix-agent   <!--安装依赖程序-->
[[email protected] ~]# cp /etc/zabbix/zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf.bak
                 <!--备份配置文件-->
[[email protected] ~]# vim /etc/zabbix/zabbix_agentd.conf<!--修改zabbix客户端主配置文件-->
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=192.168.100.20      <!--zabbix服务器端-->
ServerActive=192.168.100.20      <!--zabbix服务器端-->
Hostname=192.168.100.30        <!--zabbix客户端计算机名或者IP地址-->
Include=/etc/zabbix/zabbix_agentd.d/*.conf
#UnsafeUserParameters=0
[[email protected] ~]# systemctl start zabbix-agent.service   <!--启动zabbix-agent服务-->
[[email protected] ~]# systemctl enable zabbix-agent.service <!--设置为开机自动启动-->
[[email protected] ~]# netstat -anptu | grep zabbix  <!--监听agent服务是否正常启动-->
tcp        0      0 0.0.0.0:10050           0.0.0.0:*               LISTEN      2244/zabbix_agentd
tcp6       0      0 :::10050                :::*                    LISTEN      2244/zabbix_agentd  

2)通过客户端使用浏览器配置Zabbix服务器监控Linux

①创建主机

②编辑详细信息,单击提交

③添加Linux主机应用集

④添加监控项

⑤创建图形

⑥创建触发器

⑦查看图形监控图

—————— 本文至此结束,感谢阅读 ——————

原文地址:https://blog.51cto.com/14156658/2460214

时间: 2024-12-13 05:54:41

Centos 7搭建Zabbix 4.0监控系统的相关文章

在CentOS 7.4 搭建zabbix 3.4 监控系统

[[email protected] ~]# cat /etc/redhat-releaseCentOS Linux release 7.4.1708 (Core) [[email protected] ~]# uname -r3.10.0-693.11.1.el7.x86_64 下载zabbix3.4版本的 yum源安装包 [[email protected] zabbix]# wget http://repo.zabbix.com/zabbix/3.4/rhel/7/x86_64/zabbi

CentOS 6.6 搭建Zabbix 3.0.3 过程

分享CentOS 6.6下搭建Zabbix 3.0.3 的过程,希望都大家有所帮助. 环境安装 系统环境: # cat /etc/RedHat-release CentOS release 6.6 (Final) 服务器IP地址: 10.20.0.101 Apache安装 #yum install httpd libxml2-devel net-snmp-devel libcurl-devel 配置web 更改ServerName # vim /etc/httpd/conf/httpd.conf

《Zabbix企业级分布式监控系统》预售

<Zabbix企业级分布式监控系统>预售 一.预售网站链接如下 网站名称 链接 亚马逊 http://www.amazon.cn/3/dp/B00MN6QEYK 当当 京东 二.书籍封面如下 三.该书相关信息如下 本书的读者QQ群: Zabbix企业级分布式监控 271659981 (可申请加入,验证码:Zabbix监控) 四.随书资料 随书所带的附件托管在github上面,完全开源. https://github.com/itnihao/zabbix-book 五.书籍目录如下 第一部分Za

Zabbix 3.0 监控MySQL [六]

Zabbix 3.0 监控MySQL [六] 2016年10月9日18:25:29 zabbix 笔者QQ:381493251 博客地址:www.abcdocker.com 微信公众号:abcdocker Abcdocker交流群:454666672 如果遇到什么问题可以进群询问,我们是一个乐于帮助的集体! Mysql监控 zabbix自带了一个监控mysql的模板,但是真正监控mysql的并不是zabbix自带的模板.而是percona公司的一个监控mysql模板 percona官网: www

Zabbix 3.0 监控Web [七]

Zabbix 3.0 监控Web [七] 2016年10月0日 zabbix 笔者QQ:381493251 博客地址:www.abcdocker.com 微信公众号:abcdocker Abcdocker交流群:454666672 如果遇到什么问题可以进群询问,我们是一个乐于帮助的集体! Zabbix 默认自带一个web监控 我们可以从Monitoring--->Web进行查看 按照前面的文章,我们在192.168.56.12上面已经开启了一个Tomcat端口为8080.如果没有的小伙伴可以阅读

zabbix 3.0监控邮件报警

zabbix 3.0 监控邮件报警 1.在监控服务器的/usr/local/zabbix/bin创建发送邮件脚本  vim send.py #!/usr/bin/env python  # -*- coding: utf-8 -*-  #!/usr/bmport pdb  import smtplib import string import time import sys reload(sys) sys.setdefaultencoding('utf-8') #pdb.set_trace() 

Zabbix企业级分布式监控系统最佳实践

[下载地址:https://pan.baidu.com/s/1VXBV7C3ULcwbdRtCbQ0xoQ ] <Zabbix企业级分布式监控系统>从运维(OPS)角度对Zabbix的各项功能进行了详细介绍,以自动化运维视角为出发点,对Zabbix的安装配置.自动化功能.监控告警.性能调优.Zabbix API.Zabbix协议.RPM安装包定制,结合saltstack实现自动化配置管理等内容进行了全方位的深入剖析.<Zabbix企业级分布式监控系统>分为初级内容.中级内容.高级内

在CentOS 7.5 搭建最新版zabbix 4.4 监控系统-date201911-13

安装zabbix前的准备 先了解zabbix架构 先安装mariaDB , http 即搭建LAMP架构和其它的依赖包 执行以下安装命令 成功后 下面开始安装zabbix 这是官网安装教程,可以作为参考https://www.zabbix.com/download?zabbix=4.0&os_distribution=centos&os_version=8&db=mysql Choose your platform Install and configure Zabbix serv

zabbix企业级分布式监控系统--zabbix-server和zabbix-agent的配置过程

首先,大家应该了解一下,什么是zabbix? Zabbix是一个分布式监控系统,支持多种采集方式和采集客户端,有专用的Agent(代理),也可以支持SNMP.IPMI.JMX.Telnet.SSH等多种协议,它将采集到的数据存放到数据库,然后对其进行分析整理,达到条件触发告警.其灵活的扩展性和丰富的功能是其他监控系统不能比的.相对来说,他的总体功能做得非常优秀,其界面也很简洁美观. 在国内,BAT的部分业务.豆瓣.58同城.PPTV.搜狐.Letv.人人.网易.小米.360等公司都在使用Zabb