zabbix部署常见的报错

问题一Zabbix alerter processes more than 75% busy
问题原因:
zabbix服务器邮件进程繁忙导致的,一般是因为设置动作的间隔太短。特殊情况下会产生大量告警,如服务器发几万封邮件过程中,邮件进程发挂了
解决方案:
01.删除数据库解决(风险较大,不建议)
02.修改邮件脚本,将邮件的动作改为打印时间,等待邮件完全释放再改回来,如下
[root@m01 ~]# cat /usr/lib/zabbix/alertscripts/sms 2 3 #!/bin/bash 4 5 echo date >>/tmp/sms.txt

创新互联建站-专业网站定制、快速模板网站建设、高性价比罗城网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式罗城网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖罗城地区。费用合理售后完善,十余年实体公司更值得信赖。

问题二Zabbix discoverer processes more than 75% busy
问题原因:
01.配置了discovery自动发现任务,配置的每个discovery任务在一定时间内占用1个进程,而zabbix_server.conf中默认配置只有1个discovery(被注释,默认生效)
02.为了快速验证自动发现效果,将discovery任务的"Delay"由默认3600s设置成60s
解决方案:
01.修改配置文件中的StartDiscoverers进程数量,取消其之前的#号并将数值修改为5,最后重启服务
(注:根据系统硬件配置,可以设置成更高的数值,但其范围为0~250)

[root@m01 ~]# grep 'StartDiscoverers' /etc/zabbix/zabbix_server.conf 2 3 ### Option: StartDiscoverers 4 5 StartDiscoverers=5 6 7 [root@m01 ~]# systemctl restart zabbix-server.service

02.编写定时任务脚本重启zabbix_server来降低负载
[root@m01 ~]# crontab -e 2 3 @daily service zabbix-server restart > /dev/null 2>&1 4 5 #计划会每天自动重启Zabbix服务以结束僵尸进程并清理内存等

问题三Zabbix poller processes more than 75% busy
问题原因:
01.通过Zabbix agent采集数据的设备死机或其他原因导致zabbix agent死掉server获取不到数据

  1. server向agent获取数据时时间过长,超过了server设置的timeout时间
    解决方案:
    01.增加Zabbix Server启动时初始化的进程数量

    Option: StartPollers 2 3 StartPollers=10 #改成多少取决于服务器的性能和监控的数量,如果内存足够的话可以设置更高

    02.修改模板自动发现规则中的保留失去的资源期间为0

问题四Zabbix housekeeper processes more than 75% busy
问题原因:
为了防止数据库持续增大,zabbix有自动删除历史数据的机制即housekeeper,而MySQL删除数据时性能会降低,就会报错
解决方案:
调整HousekeepingFrequency参数
HousekeepingFrequency=12 #间隔时间 2 3 MaxHousekeeperDelete=1000000 #最大删除量

问题五Zabbix server内存溢出,无法启动
问题原因:
zabbix使用一段时间后,再次加入一批交换机监控,zabbix-server将无法启动,查看日志显示如下(提示内存溢出,需调整zabbix服务器配置zabbix_server.conf)
2816:20170725:174352.675 [file:dbconfig.c,line:652] zbx_mem_realloc(): out of memory (requested 162664 bytes) 2 3 2816:20170725:174352.675 [file:dbconfig.c,line:652] zbx_mem_realloc(): please increase CacheSize configuration parameter
解决方案:
vim zabbix_server.conf 2 3 CacheSize=1024M #默认为8M

问题六 PHP Fatal error: Allowed memory size of 134217728 bytes exhausted (tried to allocate 11 bytes)
问题原因:
zabbix某些页面无法打开,查看php日志发现,当访问这个页面时报错内存不足
解决方案:
不清楚是否内存泄露,最简单的方法是调大php进程的可用内存
[root@zabbix-master ~]# grep 'memory_limit' /etc/httpd/conf.d/zabbix.conf 2 3 php_value memory_limit 512M #默认128M

问题七cannot create semaphore set: [28] No space left on device

报错原因:
kernel.sem参数设置过小,

共享内存:可以通过ipcs -lm命令查看目前系统共享内存的参数限制

cat /proc/sys/kernel/sem
250 32000 32 128

修改文件vi /etc/sysctl.conf

kernel.sem =500 64000 64 128

执行sysctl -p /etc/sysctl.conf

问题 八 1710:20190710:155517.142 cannot send list of active checks to "192.168.160.26": host [192.168.177.37] not found

问题原因:

1 zabbix agent端hostname和web界面的不一致

2 主机删除后 agent端没有停止造成的

解决方案:

修改agent端的hostname 或者web界面中的主机名

关闭删除主机的agent客户端


文章名称:zabbix部署常见的报错
文章源于:http://myzitong.com/article/gjsshi.html