问题一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
问题二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获取不到数据 02. 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客户端