转自@twt社区【作者】许远
【摘要】本文包括两篇Zabbix应用技能分享:Zabbix 负载判断与调整配置参数;Zabbix_server正常运行,却提示服务器没有运行的解决办法。
Zabbix负载判断与调整配置参数
目的:
在Zabbix负载时提供排查思路及处理方法(主要讲解调整配置参数)
处理负载的方式:
禁用异常监控及使用Zabbix客户端主动方式、调整zabbix配置参数、告警收敛(去除没必要的告警,以及避免告警风暴)、硬件更新
建议:
不使用zabbix管家清理历史数据与趋势数据,数据量大时,zabbix管家数据清理会直接导致zabbix崩溃;可使用数据库表分区的方式,把对应的数据分为多个分区逐个清理
背景:
随着公司体系加大,使用zabbix监控的机器越来越多,主机部分指标时延越来越大,1mà5mà10m
1、检查zabbix队列,查看是否存在5m以上的队列,查看细节确认哪些主机导致队列,有队列则继续下一步(若无队列,界面操作过慢,可以使用IOSTAT检查数据库IO情况)
2、查看对应的主机,是否监控状态异常,状态正常则继续下一步(如果异常:把主机禁用,过几分钟后查看队列是否消失)
3、手动在zabbix采集服务器上使用zabbix_get命令获取界面无数据的指标,正常获取则继续下一步(若异常,根据报错进行处理问题)
zabbix_get –s 客户端IP –k 键值
4、目前可以判断,数据是可以正常获取,但通过客户端推送时,数据响应时间过长(客户端agent可配置超时时间默认3s,可配置30s,修改后数据仍是前面的情况,则继续下一步),导致界面无法显示;
在图形功能找到zabbix的自身监控,查看”Zabbix cache usage.% free”
在图形中,我们可以看到zabbix自身的性能已达到负载,超过预定阈值,我们可以通过调整zabbix-server配置文件参数,加大zabbix性能
StartPollers=160
StartPollersUnreacheable=80
StartTrappers=20
StartPingers=100
StartDiscoverers=120
Cachesize=1024M
startDBSyncers=16
HistoryCacheSize-1024M
TrendCacheSize=1024M
HIstoryTextCacheSize-512M
重启zabbix-server
5、调整参数后,发下zabbix数据采集恢复正常,队列消失
Zabbix_server正常运行,却提示服务器没有运行
Zabbix突然出现了:
Zabbix server is not running:the information displayed may not be current
Zabbix 服务器没有运行:显示的信息可能不是当前的
一、SELinux未关闭
selinux一定要关闭,如果开启selinux,可能zabbix的discovery都不能正常使用
关闭selinux方法:
1、修改/etc/selinux/config文件中的SELINUX=“”值为disable,然后重启。
2、如果不想重启,使用setenforce 0
setenforce 1,selinux为enforcing模式
setenforce 0,selinux为permissive模式
二、zabbix web 目录下面,$ZBX_SERVER 是否为IP,如果是localhost,ping一下localhost是否能解析。如果不能,需要/etc/hosts文件里增加相应的项目。
三、查看php的fsockopen模块是否启用。
方法一:
第一步:
php.ini文件中查找
allow_url_fopen = On
使其值为On
第二步:
php.ini文件中查找
extension=php_openssl.dll
如果前面有分号,去掉分号
第三步:
重启web服务器,apache或IIS
方法二:
- vi php.ini
找到 allow_url_fopen 这个参数设置成 On,即
allow_url_fopen = On
- 让你的php支持 opensll扩展。
默认,是没有openssl扩展的,只能重新编译安装。
yum install openssl openssl-devel
cd /usr/local/src/php-5.2.14/ext/openssl
/usr/local/php/bin/phpize
./configure –with-openssl –with-php-config=/usr/local/bin/php-config
make && make install
看提示,把编译成的openssl.so 拷贝到你在php.ini 中指定的 extension_dir 下
- vi php.ini
加入
extension=openssl.so
- 重启web server
四、监控对象占满了trapper进程导致前端与server无法通信
“At least one trapper process must be running to display server availability and view queue in the frontend.”——Trapper进程用于接收前端查询server可用性及队列的请求将StartTrappers=20调整到StartTrappers=100,重启zabbix-server。