CentOS 7上Zabbix使用总结
1. CentOS 7上启动zabbix-server失败,/var/log/messages中的报错信息如下:
Feb 22 12:56:43 mysql-server1 systemd: Starting Zabbix Server with MySQL DB... Feb 22 12:56:43 mysql-server1 kernel: zabbix_server[1599]: segfault at 18 ip 00007fce09ca6bd0 sp 00007fffa39b7808 error 4 in libpthread-2.17.so[7fce09c9d000+16000] Feb 22 12:56:43 mysql-server1 systemd: zabbix-server-mysql.service: control process exited, code=killed status=11 Feb 22 12:56:43 mysql-server1 systemd: Failed to start Zabbix Server with MySQL DB. Feb 22 12:56:43 mysql-server1 systemd: Unit zabbix-server-mysql.service entered failed state.
解决方法:
# rpm -Uvh --force ftp://bo.mirror.garr.it/1/slc/centos/7.0.1406/updates/x86_64/Packages/gnutls-3.1.18-10.el7_0.x86_64.rpm
Retrieving ftp://bo.mirror.garr.it/1/slc/centos/7.0.1406/updates/x86_64/Packages/gnutls-3.1.18-10.el7_0.x86_64.rpm Preparing... ################################# [100%] Updating / installing... 1:gnutls-3.1.18-10.el7_0 ################################# [ 50%] Cleaning up / removing... 2:gnutls-3.3.8-12.el7 ################################# [100%]
该RPM包可以到安科网资源站下载:
------------------------------------------分割线------------------------------------------
具体下载目录在 /2017年资料/2月/15日/CentOS 7上Zabbix使用总结/
------------------------------------------分割线------------------------------------------
2. CentOS 7的Zabbix官方源和epel源
# rpm -ivh http://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-2.2.11-1.el7.x86_64.rpm
# rpm -ivh http://dl.Fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm
前者是Zabbix的官方源,后者是epel,前者只是安装zabbix这个软件,后者是安装epel的yum源,该epel源包含了zabbix的相关软件包,两者只用其一即可,如果两个都装了,在后续安装的过程中会报冲突。
Transaction check error: file /var/log/zabbix from install of zabbix22-agent-2.2.11-1.el7.x86_64 conflicts with file from package zabbix-2.2.11-1.el7.x86_64
epel中包含的zabbix的软件包如下所示:
zabbix20.x86_64 2.0.16-1.el7 epel zabbix20-agent.x86_64 2.0.16-1.el7 epel zabbix20-proxy.noarch 2.0.16-1.el7 epel zabbix20-proxy-mysql.x86_64 2.0.16-1.el7 epel zabbix20-proxy-pgsql.x86_64 2.0.16-1.el7 epel zabbix20-proxy-sqlite3.x86_64 2.0.16-1.el7 epel zabbix20-server.noarch 2.0.16-1.el7 epel zabbix20-server-mysql.x86_64 2.0.16-1.el7 epel zabbix20-server-pgsql.x86_64 2.0.16-1.el7 epel zabbix20-web.noarch 2.0.16-1.el7 epel zabbix20-web-mysql.noarch 2.0.16-1.el7 epel zabbix20-web-pgsql.noarch 2.0.16-1.el7 epel zabbix22.x86_64 2.2.11-1.el7 epel zabbix22-agent.x86_64 2.2.11-1.el7 epel zabbix22-dbfiles-mysql.noarch 2.2.11-1.el7 epel zabbix22-dbfiles-pgsql.noarch 2.2.11-1.el7 epel zabbix22-dbfiles-sqlite3.noarch 2.2.11-1.el7 epel zabbix22-proxy.noarch 2.2.11-1.el7 epel zabbix22-proxy-mysql.x86_64 2.2.11-1.el7 epel zabbix22-proxy-pgsql.x86_64 2.2.11-1.el7 epel zabbix22-proxy-sqlite3.x86_64 2.2.11-1.el7 epel zabbix22-server.noarch 2.2.11-1.el7 epel zabbix22-server-mysql.x86_64 2.2.11-1.el7 epel zabbix22-server-pgsql.x86_64 2.2.11-1.el7 epel zabbix22-web.noarch 2.2.11-1.el7 epel zabbix22-web-mysql.noarch 2.2.11-1.el7 epel zabbix22-web-pgsql.noarch 2.2.11-1.el7 epel
3. 利用zabbix_get验证Agent的配置是否正确
# zabbix_get -s 192.168.244.144 -p 10050 -k system.uanme ZBX_NOTSUPPORTED
ZBX_NOTSUPPORTED代表监控项有问题
# zabbix_get -s 192.168.244.144 -p 10050 -k agent.ping 1
4. 59635:20160223:161315.258 no active checks on server [192.168.244.146:10051]: host [192.168.244.146] not found
原因:/etc/zabbix_agentd.conf中的Hostname与zabbix web页面Monitoring->Configuration->Hosts 页面的Name不匹配
5. 在执行system.run时报“ZBX_NOTSUPPORTED”错误
[root@localhost ~]# zabbix_get -s 192.168.244.10 -k system.run['df -h'] ZBX_NOTSUPPORTED
原因:客户端中配置文件中EnableRemoteCommands默认为0,没有开启。
开启后,
[root@localhost ~]# zabbix_get -s 192.168.244.10 -k system.run['df -h'] Filesystem Size Used Avail Use% Mounted on /dev/sda3 18G 8.7G 8.0G 53% / tmpfs 238M 0 238M 0% /dev/shm /dev/sda1 190M 27M 154M 15% /boot
6. 被动模式和主动模式的区别
被动模式:
1> Server打开一个TCP连接
2> Server发送一个key为agent.ping\n
3> Agent接受到这个请求,然后响应数据<HEADER><DATALEN>1
4> Server对接收到的数据进行处理
5> TCP连接关闭
主动模式:
1> Agent向Server建立一个TCP的连接
2> Agent请求需要检测的数据列表
3> Server响应Agent,发送一个Items列表(item key,delay)
4> Agent响应请求
5> TCP连接关闭
6> Agent开始周期性地收集数据。
7> Agent向Server建议一个TCP连接
8> Agent发送在采集周期内,需要采集的数据给Server。
9> Server处理Agent发送的数据。
10> TCP连接关闭
7. 如何禁用Zabbix的重新安装
禁用前:
如何禁用:
# vim /usr/share/zabbix/include/menu.inc.php
/**, array( 'url' => 'setup.php', 'label' => _('Installation') )**/
禁用后:
如果数据库不变的话,重装数据库基本上没影响,还是展示之前的数据。
8. 如何设置zabbix前端页面的刷新时间
右上角Profile->User->Refresh (in seconds)
一些Zabbix相关教程集合:
ZABBIX 的详细介绍:请点这里
ZABBIX 的下载地址:请点这里