一、 zabbix 无法启动server服务器问题解决

zabbix运行过程中突然提示server未启动,重启服务仍然无法启动

zabbix服务端windows部署 zabbix服务端运行中 不_Server


zabbix服务端windows部署 zabbix服务端运行中 不_数据_02


查看zabbix日志,提示发现是内存用完了,建议增加缓存参数。

zabbix服务端windows部署 zabbix服务端运行中 不_数据_03

tailf /var/log/zabbix/zabbix_server.log 

  1230:20180706:165735.809 [file:dbconfig.c,line:90] zbx_mem_malloc(): out of memory (requested 120 bytes)
  1230:20180706:165735.809 [file:dbconfig.c,line:90] zbx_mem_malloc(): please increase CacheSize configuration parameter

因此,找到zabbix配置 文件 增加cache大小

vim /etc/zabbix/zabbix_server.conf
 ### Option: CacheSize
 #       Size of configuration cache, in bytes.
 #       Shared memory size for storing host, item and trigger data.
 #
 # Mandatory: no
# Range: 128K-8G
# Default:
 CacheSize=2048M

改完后再次重启server ,正常

systemctl start zabbix-server

zabbix服务端windows部署 zabbix服务端运行中 不_zabbix服务端windows部署_04

二、 zabbix unreachable poller processes more than 75% busy

最近在我们的企业微信经常收到这样的警报zabbix unreachable poller processes more than 75% busy

zabbix服务端windows部署 zabbix服务端运行中 不_数据_05


然后就看了一下zabbix的内部进程监控发现如下(现在问题已经解决)

zabbix服务端windows部署 zabbix服务端运行中 不_Server_06


查看官方文档

unreachable poller - poller for unreachable devices 用于轮询不可到达到的设备;

什么时候会出现这种情况:
1.通过Zabbix agent采集数据的设备处于moniting的状态但是此时机器死机或其他原因导致zabbix agent死掉server获取不到数据,此时unreachable poller就会升高。

2.通过Zabbix agent采集数据的设备处于moniting的状态但是server向agent获取数据时时间过长,经常超过server甚至的timeout时间,此时unreachable poller就会升高。

3、内存耗尽,网络不通(我们出现这样的原因是因为晚上断网导致的),IO太慢等都有可能导致

造成轮询忙的问题有很多中,支撑Zabbix的MySQL卡住了,Zabbix服务器的IO卡住了都有可能,Zabbix进程分配到内存不足都有可能。一个简单的方法是增加Zabbix Server启动时初始化的进程数量,这样直接增加了轮询的负载量,从比例上来讲忙的情况就少了
编辑Zabbix Server的配置文件/etc/zabbix/zabbix_server.conf,找到配置ADVANCED PARAMETERS的段落:

############ ADVANCED PARAMETERS ################

### Option: StartPollers
#       Number of pre-forked instances of pollers.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPollers=5  ##默认是5个进程,可以增加到10个

### Option: StartIPMIPollers
#       Number of pre-forked instances of IPMI pollers.
#       The IPMI manager process is automatically started when at least one IPMI poller is started.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartIPMIPollers=0

### Option: StartPreprocessors
#       Number of pre-forked instances of preprocessing workers.
#       The preprocessing manager process is automatically started when preprocessor worker is started.
#
# Mandatory: no
# Range: 1-1000
# Default:
# StartPreprocessors=3

### Option: StartPollersUnreachable
#       Number of pre-forked instances of pollers for unreachable hosts (including IPMI and Java).
#       At least one poller for unreachable hosts must be running if regular, IPMI or Java pollers
#       are started.
#
# Mandatory: no
# Range: 0-1000
# Default:
# StartPollersUnreachable=1  ##默认是一个进程,可以增加

三、zabbix触发器提示Too many processes on Zabbix server

zabbix服务端windows部署 zabbix服务端运行中 不_数据_07


原因是使用zabbix默认配置的监控模板中设置的触发器监控进程数默认值(默认是300)太少导致报警

zabbix服务端windows部署 zabbix服务端运行中 不_zabbix服务端windows部署_08


可以改成更高的数值。

配置—>模板—>Template OS Linux–kelong

zabbix服务端windows部署 zabbix服务端运行中 不_数据_09


Template OS Linux–kelong—>触发器—>Too many processes on {HOST.NAME}

zabbix服务端windows部署 zabbix服务端运行中 不_zabbix服务端windows部署_10


zabbix服务端windows部署 zabbix服务端运行中 不_数据_11


更新

刷新页面 等待一下 可以看到报警消失