Однажды обнаружил предупреждение в панели Zabbix:
Zabbix housekeeper processes more than 75% busy
Процессы housekeeper предназначены для очистки устаревших данных, например в каждом элементе данных указывается период хранения истории и период хранения трендов, все что больше этих значений, то и очищается процессами housekeeper чтобы база данных не выросла до гигантских размеров.
Первое что можно оптимизировать, это интервал обновления, чем он реже, тем меньше данных заносится в базу данных и меньше потом придётся очищать. Все шаблоны я создавал сам, если есть существующие шаблоны, то их можно полностью клонировать и изменить. Например для клиентских коммутаторов на доступе я указывал интервал обновления 15m, период хранения истории 1d, период хранения трендов 60d. На серверах и прочем сетевом оборудовании в ядре естественно делал интервал обновления чаще по мере необходимости и больше период хранения трендов.
В конфигурации Zabbix сервера есть параметры для настройки housekeeper, откроем файл конфигурации в текстовом редакторе:
nano /etc/zabbix/zabbix_server.conf
Параметр HousekeepingFrequency определяет как часто процессы housekeeper будут выполнять очистку (в часах), по умолчанию значение равно 1, что означает — каждый час, доступные значения 0-24.
Параметр MaxHousekeeperDelete определяет сколько значений в таблицах базы данных будет удалено, по умолчанию 5000, что очень мало для сервера с большим количеством хостов и элементов данных, доступные значения 0-1000000. Если указать 0, то это уберет лимит, но нужно учитывать производительность дисковой системы и количество данных которые нужно удалить в базе данных, чтобы не получилось что процессы housekeeper будут запускать очистку каждый час и выполнять ее более часа. По умолчанию триггер «Zabbix housekeeper processes more than 75% busy» срабатывает если процесс очистки длится более 30 минут, за временем выполнения и нагрузкой на дисковую систему можно следить на графиках.
На момент написания статьи, этот Zabbix сервер обслуживал 754 хоста и имел 25609 элементов данных, в конфигурации я указал параметры:
HousekeepingFrequency=1 MaxHousekeeperDelete=550000
Как видим по графикам, очистка выполняется не дольше 15 минут.
Обычно если очистка выполняется более 30 минут, то это связано с тем что процессы housekeeper выполняются редко (например не каждый час) или не хватает дисковой производительности и не оптимизирован сервер баз данных.
Если собралось очень много устаревших данных, то можно остановить Zabbix сервер и очистить данные SQL запросами, примеры смотрите в другой моей статье, а также SQL запросы для массового изменения интервалов обновления в элементах данных.
SQL запросы для Zabbix
Смотрите другие мои стать про Zabbix
Стандартные настройки в zabbix, не всегда хорошо работают и их необходимо тюнить под свои нужды. Я собрал в данной статье, основные параметры для оптимизации. Возможно, — это не все и вы знаете больше, но я постараюсь максимизировать.
Настройка кеша
Для оптимизации заббикс сервера, стоит увеличить размер кеша, для этого — открываем:
# vim /etc/zabbix/zabbix_server.conf
Находим строку «CacheSize» и увеличиваем его.
### 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=256M
Я увеличил до 256M. При надобности, можно добавить.
Zabbix discoverer processes more than 75% busy
Недавно получил алерт в заббиксе:
Zabbix discoverer processes more than 75% busy
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartDiscoverers» и увеличиваем данный параметр:
### Option: StartDiscoverers # Number of pre-forked instances of discoverers. # # Mandatory: no # Range: 0-250 # Default: StartDiscoverers=5
Я, опцию StartDiscoverers увеличил до 5. На этом настройка заканчивается, нужно сохранить конфиг и перезагрузить zabbix сервер:
# service zabbix-server restart
Можно увидеть мой наглядный пример:
Если после добавления хостов ( с разными подсетями) вы увидите что снова сработал этот триггер, то нужно увеличить StartDiscoverers.
Zabbix icmp pinger processes more than 75% busy
Недавно получил алерт в заббиксе:
Zabbix icmp pinger processes more than 75% busy
Данное сообщение, говорит — что процесс(ы) выполняющие ping по хостам, перегружены.
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartPingers» и увеличиваем данный параметр:
### Option: StartPingers # Number of pre-forked instances of ICMP pingers. # # Mandatory: no # Range: 0-1000 # Default: StartPingers=5
Я, опцию StartPingers увеличил до 5, тем самым — я увеличил количество процессов выполняющих ICMP Ping.
На этом настройка заканчивается, нужно сохранить конфиг и перезагрузить zabbix сервер:
# service zabbix-server restart
Zabbix poller processes more than 75% busy
poller — это процесс который опрашивает агентов.
Данный параметр стоит увеличивать в 2- случаях:
- Большая сеть
- Есть много недоступных ресурсов и они мониторятся.
Как исправить?
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartPollers» и увеличиваем данный параметр:
### Option: StartPollers # Number of pre-forked instances of pollers. # # Mandatory: no # Range: 0-1000 # Default: StartPollers=5
Я установил данный параметр в 5. Если очень будет худо, то увеличиваем его до 20. Ничто не приходит бесследно, увеличение процессов ведет к увеличение потребления ресурсов.
После этого, вы можете получить:
Zabbix unreachable poller processes more than 75% busy
Если видите у себя данное сообщение ( алерт, сработанный триггер), открываем конфиг:
# vim /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartPollersUnreachable» и увеличиваем данный параметр:
### 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
PS: У меня данный параметр используется по умолчанию и я его не трогал ( не было ошибок).
Имеется вероятность того, что перестанет хватать коннекщенов для БД, то надо увеличивать лимит подключений.
Zabbix housekeeper processes more than 75% busy
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
И приводим к виду:
HousekeepingFrequency=1 MaxHousekeeperDelete=100
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy timer processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy escalator processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy alerter processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy configuration syncer processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Находим и изменяем:
HistoryCacheSize=
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy db watchdog processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy history syncer processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Находим и изменяем:
HistoryCacheSize= CacheSize=
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy self-monitoring processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy http poller processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Находим и меняем параметр:
StartHTTPPollers=
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy java poller processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Находим и меняем параметр:
StartJavaPollers=
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
А на этом, у меня все и статья «Оптимизация настроек Zabbix» завершена.
-
Настройка кеша
-
Zabbix discoverer processes more than 75% busy
-
Zabbix icmp pinger processes more than 75% busy
-
Zabbix poller processes more than 75% busy
-
Zabbix housekeeper processes more than 75% busy
-
Zabbix busy timer processes, in %
-
Zabbix busy escalator processes, in %
-
Zabbix busy alerter processes, in %
-
Zabbix busy configuration syncer processes, in %
-
Zabbix busy db watchdog processes, in %
-
Zabbix busy history syncer processes, in %
-
Zabbix busy self-monitoring processes, in %
-
Zabbix busy http poller processes, in %
-
Zabbix busy java poller processes, in %
Стандартные настройки в zabbix, не всегда хорошо работают и их необходимо тюнить под свои нужды. Я собрал в данной статье, основные параметры для оптимизации. Возможно, — это не все и вы знаете больше, но я постараюсь максимизировать.
Настройка кеша
Для оптимизации заббикс сервера, стоит увеличить размер кеша, для этого — открываем:
# vim /etc/zabbix/zabbix_server.conf
Находим строку «CacheSize» и увеличиваем его.
### 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=256M
Я увеличил до 256M. При надобности, можно добавить.
Zabbix discoverer processes more than 75% busy
Недавно получил алерт в заббиксе:
Zabbix discoverer processes more than 75% busy
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartDiscoverers» и увеличиваем данный параметр:
### Option: StartDiscoverers # Number of pre-forked instances of discoverers. # # Mandatory: no # Range: 0-250 # Default: StartDiscoverers=5
Я, опцию StartDiscoverers увеличил до 5. На этом настройка заканчивается, нужно сохранить конфиг и перезагрузить zabbix сервер:
# service zabbix-server restart
Можно увидеть мой наглядный пример:
Если после добавления хостов ( с разными подсетями) вы увидите что снова сработал этот триггер, то нужно увеличить StartDiscoverers.
к содержанию ↑
Zabbix icmp pinger processes more than 75% busy
Недавно получил алерт в заббиксе:
Zabbix icmp pinger processes more than 75% busy
Данное сообщение, говорит — что процесс(ы) выполняющие ping по хостам, перегружены.
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartPingers» и увеличиваем данный параметр:
### Option: StartPingers # Number of pre-forked instances of ICMP pingers. # # Mandatory: no # Range: 0-1000 # Default: StartPingers=5
Я, опцию StartPingers увеличил до 5, тем самым — я увеличил количество процессов выполняющих ICMP Ping.
На этом настройка заканчивается, нужно сохранить конфиг и перезагрузить zabbix сервер:
# service zabbix-server restart
к содержанию ↑
Zabbix poller processes more than 75% busy
poller — это процесс который опрашивает агентов.
Данный параметр стоит увеличивать в 2- случаях:
- Большая сеть
- Есть много недоступных ресурсов и они мониторятся.
Как исправить?
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartPollers» и увеличиваем данный параметр:
### Option: StartPollers # Number of pre-forked instances of pollers. # # Mandatory: no # Range: 0-1000 # Default: StartPollers=5
Я установил данный параметр в 5. Если очень будет худо, то увеличиваем его до 20. Ничто не приходит бесследно, увеличение процессов ведет к увеличение потребления ресурсов.
После этого, вы можете получить:
Zabbix unreachable poller processes more than 75% busy
Если видите у себя данное сообщение ( алерт, сработанный триггер), открываем конфиг:
# vim /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartPollersUnreachable» и увеличиваем данный параметр:
### 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
PS: У меня данный параметр используется по умолчанию и я его не трогал ( не было ошибок).
Имеется вероятность того, что перестанет хватать коннекщенов для БД, то надо увеличивать лимит подключений.
к содержанию ↑
Zabbix housekeeper processes more than 75% busy
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
И приводим к виду:
HousekeepingFrequency=1 MaxHousekeeperDelete=100
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy timer processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy escalator processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy alerter processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy configuration syncer processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Находим и изменяем:
HistoryCacheSize=
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy db watchdog processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy history syncer processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Находим и изменяем:
HistoryCacheSize= CacheSize=
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy self-monitoring processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy http poller processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Находим и меняем параметр:
StartHTTPPollers=
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
Zabbix busy java poller processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
# vim /etc/zabbix/zabbix_server.conf
Находим и меняем параметр:
StartJavaPollers=
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart
А на этом, у меня все и статья «Оптимизация настроек Zabbix» завершена.
We are using Zabbix 3.2 but can´t fix this problem:
«Zabbix housekeeper processes more than 75% busy»
What could solve the problem? Any suggestions? We think that the values per second is to high …
Status of Zabbix:
Number of hosts (enabled/disabled/templates) 129 62 / 20 / 47
Number of items (enabled/disabled/not supported) 30870 26192 / 4602 / 76
Number of triggers (enabled/disabled [problem/ok]) 9438 9265 / 173 [44 / 9221]
Required server performance, new values per second 847.06
Our Server conf is the following:
StartPollers=356
StartTrappers= 30
StartPingers= 2
CacheSize= 512M
HistoryCacheSize= 1024M
asked Oct 14, 2016 at 10:08
For how long is the housekeeper busy? You can see that in the graphs, provided by the default Zabbix server template.
If it’s up to 10 minutes, you can probably ignore that and tune the trigger to be less sensitive.
If it’s more, it is a general Zabbix DB performance issue. Consider the following, roughly in this order:
- reduce history retention periods. If you have been using the defaults of 90 days, drop it to 7, if possible. Note that this change will take some time to have an effect if your items have a lot of history data
- reduce new values per second — extend item intervals
- tune the database — you can find basic suggestions in the Zabbix manual
- use database partitioning (but be ready for manually fixing any issues)
- have more memory & faster disks for your database server
answered Oct 14, 2016 at 11:50
RichlvRichlv
3,8621 gold badge16 silver badges20 bronze badges
5
Log inSkip to main contentSkip to sidebar
- ZABBIX BUGS AND ISSUES
- ZBX-15311
Log In
Export
- XMLWordPrintable
Details
-
Type:
Incident report
-
Status:
Closed -
Priority:
Critical
-
Resolution:
Won’t fix
-
Affects Version/s:
4.0.2
-
Fix Version/s:
None
-
Component/s:
Server (S)
-
Labels:
None
-
Environment:
Debian 9.5
Description
Steps to reproduce:
- Since Update from Zabbix 4.0.0 to 4.0.2
- «Zabbix housekeeper processes more than 75% busy» is for hours a warning
Result:
watch -tn 0.2 ‘ps -fC zabbix_server | grep housekeeper’
Shows this:
zabbix 639 502 0 Dez11 ? 00:00:06 /usr/sbin/zabbix_server: housekeeper [removing deleted items data]
Attachments
Attachments
-
- Sort By Name
- Sort By Date
- Ascending
- Descending
- Thumbnails
- List
- Download All
-
- image-2018-12-12-15-06-09-773.png
- 31 kB
- 2018 Dec 12 16:06
-
- screenshot-1.png
- 76 kB
- 2018 Dec 12 16:27
Activity
People
- Assignee:
-
Unassigned
- Reporter:
-
Georg Aminidis
- Votes:
-
0
Vote for this issue
- Watchers:
-
6
Start watching this issue
Dates
- Created:
-
2018 Dec 12 16:06
- Updated:
-
2018 Dec 13 10:45
- Resolved:
-
2018 Dec 13 10:11
Hi all,
I keep getting the above warning on our Zabbix server. I’ve gone through the Zabbix forum, but there isn’t a lot of information there about this. And what is there isn’t explained very well (IMO).
I’ve looked at server.conf and have read the notes with and taking warning of «you must know what you are doing!» at the end of it.
So I just added HousekeepingFrequency=1 and left the MaxHousekeeperDelete alone.
Has anyone come across this warning before?
Current set up is
Zabbix 4.0.4 — 10.1.34-MariaDB
260 host
4534 items
2392 triggers
Thanks
Read these next…
Can’t communicate with scanner
Hardware
Hello everyone,I have a client that uses Kodak ScanMate i940 scanners at their desks. They recently got a new computer that we prepped and put on their domain. This new computer is recognizing the scanner but it is unusable with the error «can’t communica…
Different MAC address, same computer name — multiple DHCP leases
Windows
I’m noticing a lot more now that our Wifi DHCP scopes are filled by the same computer name, but with different mac addresses. I know there’s a feature in Windows 10 called Random hardware addresses, but that setting is off. Is there anything else that cou…
Snap! — No-Password Logins, Solar Powered Water Filter, Glitch in the Matrix?
Spiceworks Originals
Your daily dose of tech news, in brief.
Welcome to the Snap!
Flashback: February 9, 1996: Introduction of the Bandai Pippin (Read more HERE.)
Bonus Flashback: February 9, 1990: Galileo Probe does a Venus Flyby (Read more HERE.)
You nee…
Roku TV being used as Wallboard Issues
Hardware
Helping someone out at their shop. They have 4 large Roku screens and 2 laptops with dual HDMI ports for video. They are viewing static website business dashboards and PowerPoint. At first all 4 screens connected to wireless, worked for a while but with a…
Charging for SSO
Security
We have SSO set up with around 5 or 6 solution providers via our M365. Not one of them charges for this, they just sent us the documentation.I identified another online service in use by one of our departments which would benefit from using SSO for staff …
Прочитано:
3 717
Часто случается, что дефолтные значения не всегда подходят для работы, в большинстве случаев они помогают начать работать, а уже потом из сложившейся ситуации сделать выводы и смотреть в сторону их изменения. Вот и сейчас мой сервер мониторинга за состоянием узлов — Zabbix порадовал меня сообщением, с первого взгляда пока для меня ничего не значащим. Последующее чтение документации показало, что по дефолту у меня в конфигурационном файле zabbix_server.conf значение параметра StartPingers равно единице:
ekzorchik@srv-mon:~$ sudo nano /etc/zabbix/zabbix_server.conf
# Mandatory: no
# Range: 0-1000
# Default:
# StartPingers=1
а вот шаблон Template ICMP Ping у меня применим к более чем одному хосту, когда хостов стало 8 штук, панель управления мониторингом zabbix вывело сообщение:
Zabbix discoverer processes more than 75% busy
На заметку: Данное сообщение означает, что процесс или процессы задействующие работу по нацеленному шаблону перегружены.
Для равномерного создания процессов, нужно параметр StartPingers увеличить к примеру до:
StartPingers = 5
Значение подбирается опытным путем и предсказать его заранее не представляется возможным. Изменяя данный параметр мы распределяем количество задействованных процессов входимых в шаблон Template ICMP Ping
По окончании изменений необходимо сделать перезапуск серверной части Zabbix:
ekzorchik@srv-mon:~$ sudo service zabbix-server restart
Также не лишним будет увеличить «Интервал обновления» данных задейстованных в определении доступности/не доступности узла поставленного на мониторинг. Делается это следующим образом:
http://IP&DNS/zabbix — Configuration — Templates — находим шаблон Template ICMP Ping — после в нем переходим к Items (Элемент Данных) и для каждого элемента:
- ICMP loss
- ICMP Ping
- ICMP response time
корректируем значение в параметре: Update interval (in sec) c 60 секунд к примеру до 180 секунд, т. е. Вместо одной минуты следующих запрос проводить через три минуты на предмет проверки.
Этими действиями мы тюнингуем Zabbix сервер с целью оптимизированного съема/анализа узлов и при этом не нарушая работы Zabbix сервера вызванного повышенной нагрузкой дефолтных параметров.
Пока вышеприведенные значения в моем случае успешно справляются, также добавил на мониторинг еще 14 узлов базовых станции, таких как Grandstream GP715, D-Link DVG-5008SG, D-Link DVG-2024S и результат Zabbix сервер не испытывает проблем. Как что-то у меня будет не так с Zabbix сервер все это и многое другое будет оформлено в виде пошаговой заметки и опубликовано на моем блоге, а пока все. С уважением, автор блога — ekzorchik.