Однажды обнаружил предупреждение в панели 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» завершена.
На чтение 3 мин Просмотров 3.3к. Опубликовано 1 ноября, 2021 Обновлено 1 ноября, 2021
Стандартные настройки в 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
Настройка кеша
Для оптимизации заббикс сервера, стоит увеличить размер кеша, для этого — открываем:
# 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 resta
Можно увидеть наглядный пример:
Если после добавления хостов ( с разными подсетями) вы увидите что снова сработал этот триггер, то нужно увеличить 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
09.05.2019
Стандартные настройки в zabbix, не всегда хорошо работают и их необходимо изменить под свои нужды. Я собрал в данной статье, основные параметры для оптимизации. Возможно, — это не все и вы знаете больше, но я постараюсь максимизировать.
Настройка кеша
Для оптимизации zabbix сервера, стоит увеличить размер кеша, для этого — открываем:
sudo nano /etc/zabbix/zabbix_server.conf
Находим строку «CacheSize» и увеличиваем его.
CacheSize=256M
Я увеличил до 256M. При надобности, можно добавить.
Zabbix discoverer processes more than 75% busy
Недавно получил алерт в заббиксе:
Zabbix discoverer processes more than 75% busy
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartDiscoverers» и увеличиваем данный параметр:
StartDiscoverers=5
Я, опцию StartDiscoverers увеличил до 5. На этом настройка заканчивается, нужно сохранить конфиг и перезагрузить zabbix сервер:
sudo 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 конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartPingers» и увеличиваем данный параметр:
StartPingers=5
Я, опцию StartPingers увеличил до 5, тем самым — я увеличил количество процессов выполняющих ICMP Ping.
На этом настройка заканчивается, нужно сохранить конфиг и перезагрузить zabbix сервер:
sudo service zabbix-server restart
Zabbix poller processes more than 75% busy
poller — это процесс который опрашивает агентов.
Данный параметр стоит увеличивать в 2- случаях:
- Большая сеть
- Есть много недоступных ресурсов и они мониторятся.
Как исправить?
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartPollers» и увеличиваем данный параметр:
StartPollers=5
Я установил данный параметр в 5. Если очень будет худо, то увеличиваем его до 20. Ничто не приходит бесследно, увеличение процессов ведет к увеличение потребления ресурсов.
После этого, вы можете получить:
Zabbix unreachable poller processes more than 75% busy
Если видите у себя данное сообщение ( алерт, сработанный триггер), открываем конфиг:
sudo nano /etc/zabbix/zabbix_server.conf
Ищем строку с опцией «StartPollersUnreachable» и увеличиваем данный параметр:
StartPollersUnreachable=1
PS: У меня данный параметр используется по умолчанию и я его не трогал ( не было ошибок).
Имеется вероятность того, что перестанет хватать коннекщенов для БД, то надо увеличивать лимит подключений.
Zabbix housekeeper processes more than 75% busy
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
И приводим к виду:
HousekeepingFrequency=1
MaxHousekeeperDelete=100
Сохраняем файл и перезагружаем zabbix:
sudo service zabbix-server restart
Zabbix busy timer processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
sudo service zabbix-server restart
Zabbix busy escalator processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
Меняем переменную:
MaxHousekeeperDelete
Сохраняем файл и перезагружаем zabbix:
sudo service zabbix-server restart
Zabbix busy alerter processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
sudo service zabbix-server restart
Zabbix busy configuration syncer processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
Находим и изменяем:
HistoryCacheSize=
Сохраняем файл и перезагружаем zabbix:
sudo service zabbix-server restart
Zabbix busy db watchdog processes, in %
Начиная с Zabbix 3.4 alpha, нет необходимости в мониторинге процесса db watchdog, так как он был удален. Шаблон приложения Zabbix сервер не должен иметь этот элемент.
Zabbix busy history syncer processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
Находим и изменяем:
HistoryCacheSize=
CacheSize=
Сохраняем файл и перезагружаем zabbix:
sudo service zabbix-server restart
Zabbix busy self-monitoring processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
Переменную укажу позже (не знаю какая)!
Сохраняем файл и перезагружаем zabbix:
sudo service zabbix-server restart
Zabbix busy http poller processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
Находим и меняем параметр:
StartHTTPPollers=
Сохраняем файл и перезагружаем zabbix:
sudo service zabbix-server restart
Zabbix busy java poller processes, in %
Это можно исправить, откроем zabbix_server.conf конфиг-файл:
sudo nano /etc/zabbix/zabbix_server.conf
Находим и меняем параметр:
StartJavaPollers=
Сохраняем файл и перезагружаем zabbix
sudo service zabbix-server restart
А на этом, у меня все и статья «Оптимизация настроек Zabbix» завершена.
Если вы нашли ошибку, пожалуйста, выделите фрагмент текста и нажмите Ctrl+Enter.
Ошибку «Zabbix housekeeper processes more than 75% busy» можно исправить через файл-конфигуратор zabbix. Откроем файл zabbix_server.conf :
# nano /etc/zabbix/zabbix_server.conf
Находим параметр HousekeepingFrequency
приводим к виду, изменив значения по умолчанию:
### Option: HousekeepingFrequency # How often Zabbix will perform housekeeping procedure (in hours). # Housekeeping is removing outdated information from the database. # To prevent Housekeeper from being overloaded, no more than 4 times HousekeepingFrequency # hours of outdated information are deleted in one housekeeping cycle, for each item. # To lower load on server startup housekeeping is postponed for 30 minutes after server start. # With HousekeepingFrequency=0 the housekeeper can be only executed using the runtime control option. # In this case the period of outdated information deleted in one housekeeping cycle is 4 times the # period since the last housekeeping cycle, but not less than 4 hours and not greater than 4 days. # # Mandatory: no # Range: 0-24 # Default: # HousekeepingFrequency=1 HousekeepingFrequency=1
и MaxHousekeeperDelete
:
### Option: MaxHousekeeperDelete # The table "housekeeper" contains "tasks" for housekeeping procedure in the format: # [housekeeperid], [tablename], [field], [value]. # No more than 'MaxHousekeeperDelete' rows (corresponding to [tablename], [field], [value]) # will be deleted per one task in one housekeeping cycle. # If set to 0 then no limit is used at all. In this case you must know what you are doing! # # Mandatory: no # Range: 0-1000000 # Default: # MaxHousekeeperDelete=5000 MaxHousekeeperDelete=200
HousekeepingFrequency=1
MaxHousekeeperDelete=100
Сохраняем файл и перезагружаем zabbix:
# service zabbix-server restart