Tag Archives: mysql

Zabbix unreachable poller processes more than 75% busy

“ZABBIX poller processes more than 75% busy” alert problem solved

Although there are various monitoring alarms in ZABBIX, the most frequently encountered ones are memory exhaustion, network congestion, IO slow and “ZABBIX poller processes more than 75% busy”. At the beginning, I didn’t care much because it didn’t affect the use and lasted for a while. With the increase of the database, ZABBIX consumes more and more memory. Poller processes are busy every day, and finally ZABBIX has to be moved to another server.

But this has not completely solved the problem, and the alarm is still coming for several days. When the email function of ZABBIX alert is turned on, this kind of email is frequently received. There are many problems causing busy polling. It is possible that MySQL supporting ZABBIX is stuck, io of ZABBIX server is stuck, and ZABBIX process is not enough to allocate memory. A simple way is to increase the number of processes initialized at the start of ZABBIX server, which directly increases the polling load and proportionally reduces the busy situation.

The method of adding initialization process is very simple. Edit the configuration file/ZABBIX of ZABBIX server_ server.conf , find the paragraph to configure startpollers:

one

two

three

four

five

six

seven

### Option: StartPollers

# Number of pre-forked instances of pollers.

#

# Mandatory: no

# Range: 0-1000

# Default:

# StartPollers=5

Cancel the comment of “startpollers = line” or add it directly after:

one

StartPollers=10

How many startpollers are changed depends on the performance of the server and the number of monitors. Kaijia did not encounter any alerts after setting startpollers to 12. If there is enough memory, it can be set higher. Run after setup:

one

servicezabbix-serverrestart

Restart ZABBIX. Of course, another way to reduce the load of ZABBIX server as a whole is to restart ZABBIX regularly. This method can be implemented with cron

one

crontab-e

Add a plan in the cron editor:

one

@dailyservicezabbix-serverrestart&>/dev/null2&>&1

This plan will automatically restart ZABBIX service every day to end the zombie process and clean up memory. At present, Kaijia has not encountered the problem of “ZABBIX poller processes more than 75% busy” again after configuring ZABBIX in this way.

or/ZABBIX_ server.conf

Most likely, you have this setting:
startdiscoverers = 1 can also become larger
continue to increase the number of instances discovered by pre forced.

If you decide not to use the discovery function, you can set the parameters:
startdiscoverers = 0