头图

转自@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

方法二:

  1. vi php.ini

找到 allow_url_fopen 这个参数设置成 On,即

allow_url_fopen = On

  1. 让你的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 下

  1. vi php.ini

加入

extension=openssl.so

  1. 重启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。


同创永益
15 声望3 粉丝

同创永益,面向未来的组织韧性服务提供商