Zabbix сервер — центральный процесс программного обеспечения Zabbix.
Сервер выполняет опрос и отлов данных, вычисляет триггеры, отправляет оповещения пользователям. Он является центральным компонентом, которому Zabbix агенты и прокси сообщают данные о доступности и целостности систем. Сервер может самостоятельно удалённо проверять сетевые службы (такие как веб-сервера и почтовые сервера), используя простые проверки сервисов.
Сервер является главным хранилищем, в котором хранятся все конфигурационные, статистические и оперативные данные, он так же рассылает уведомления администраторам в случае возникновения проблем на любой из наблюдаемых систем.
Функционал базового Zabbix сервера разделен на три отдельных компонента; это: Zabbix сервер, веб-интерфейс и хранилище в базе данных.
Все данные о конфигурации Zabbix хранятся в базе данных, с которой взаимодействуют и сервер, и веб-интерфейс. Например, когда вы создаёте новый элемент данных, используя веб-интерфейс (или API), запись об этом добавляется в таблицу элементов данных в базе данных. Затем, раз в минуту Zabbix сервер опрашивает таблицу элементов данных для получения списка активных элементов данных, и сохраняет этот список в кэш Zabbix сервера. Поэтому любые изменения, сделанные в веб-интерфейсе Zabbix, могут отобразиться в разделе последних данных с задержкой до двух минут.
Zabbix сервер работает как демон. Его можно запустить, выполнив:
Эта команда будет работать на большинстве систем GNU/Linux. На других системах вам, возможно, потребуется выполнить:
Аналогично, для остановки/перезапуска/просмотра состояния используйте следующие команды:
Если приведённые ранее команды не работают, вам необходимо запустить сервер вручную. Найдите путь к бинарному файлу zabbix_server и выполните:
С сервером Zabbix можно использовать следующие параметры командной строки:
-c --config <файл> путь к файлу конфигурации (по умолчанию /usr/local/etc/zabbix_server.conf)
-f --foreground запуск Zabbix сервера без перехода в фоновый режим
-R --runtime-control <опция> выполнение административных функций
-h --help вывод этого сообщения помощи
-V --version вывод номера версии
Примеры запуска Zabbix сервера с параметрами командой строки:
Опции управления работой:
Опция | Описание | Цель |
---|---|---|
config_cache_reload | Перезагрузка кэша конфигурации. Игнорируется, если кэш уже загружается в текущий момент времени. | |
diaginfo[=<цель>] | Сбор диагностической информации в файл журнала сервера. | historycache — статистика кэша истории valuecache — статистика кэша значений preprocessing — статистика менеджера предобработки alerting — статистика менеджера оповещений lld — статистика LLD менеджера locks — список мьютексов (на *BSD системах список будет пустой) |
ha_status | Вывод состояния кластера высокой доступности (HA). | |
ha_remove_node=цель | Удаление ноды кластера высокой доступности (HA) по имени ноды или ID. Обратите внимание, что активные / резервные ноды нельзя удалять. |
цель — имя или ID ноды из списка (можно получить при выполнении ha_status) |
ha_set_failover_delay=задержка | Настройка задержки аварийного переключения нод в кластере высокой доступности (HA). Поддерживаются суффиксы времени, например, 10s, 1m. |
|
secrets_reload | Перезагрузка секретов из Хранилища. | |
service_cache_reload | Перезагрузка кэша менеджера услуг. | |
snmp_cache_reload | Перезагрузка кэша SNMP, очистка свойств SNMP (engine time, engine boots, engine id, учётных данных) по всем узлам сети. | |
housekeeper_execute | Запуск процедуры очистки базы данных. Игнорируется, если процедура очистки выполняется в данный момент. |
|
trigger_housekeeper_execute | Запуск процедуры очистки базы данных от триггеров для услуг, чтобы удалить проблемы, вызванные триггерами, которые с тех пор были удалены, включая относящииеся к услугам проблемы, сгенерированные такими проблемами (которые будут считаться решёнными на момент очистки). Обратите внимание, что до запуска процедуры очистки проблемы, вызванные удалёнными к данному моменту триггерами, всё ещё могут генерировать относящиеся к услугам проблемы и назначать их на услуги. Если ваша инсталляция содержит много правил вычисления состояния услуг на основе триггеров, которые часто меняют состояние обнаружен/не обнаружен, рассмотрите возможность увеличения частоты процедуры очистки от триггеров путём настойки параметра конфигурации сервера ProblemHousekeepingFrequency. Игнорируется, если процедура очистки от триггеров выполняется в данный момент. |
|
log_level_increase[=<цель>] | Увеличение уровня журналирования, действует на все процессы, если цель не указана. Не поддерживается на *BSD системах. |
тип процесса — Все процессы указанного типа (например, poller) Смотрите все типы процессов сервера. тип процесса,N — Тип процесса и его номер (например, poller,3) pid м Идентификатор процесса (от 1 до 65535). В случае значений PID больше 65535 укажите цель в виде 'тип процесса,N'. |
log_level_decrease[=<цель>] | Уменьшение уровня журналирования, действует на все процессы, если цель не указана. Не поддерживается на *BSD системах. |
|
prof_enable[=<цель>] | Активировать профилирование. Действует на все процессы, если цель не указана. Активированное прифилирование предоставляет подробности обо всех блокировках/мьютексах по имени функции. Поддерживается с версии Zabbix 6.0.13. |
тип процесса — Все процессы указанного типа (например, history syncer) Типы процессов, поддерживаемые в качестве целей профилирования: alerter, alert manager, availability manager, configuration syncer, discoverer, escalator, history poller, history syncer, housekeeper, http poller, icmp pinger, ipmi manager, ipmi poller, java poller, lld manager, lld worker, odbc poller, poller, preprocessing manager, preprocessing worker, proxy poller, self-monitoring, service manager, snmp trapper, task manager, timer, trapper, unreachable poller, vmware collector тип процесса,N — Тип процесса и его номер (например, history syncer,1) pid — Идентификатор процесса (от 1 до 65535). В случае значений PID больше 65535 укажите цель в виде 'тип процесса,N'. область — вместе с типом процесса и номером можно указать rwlock , mutex , processing (например, history syncer,1,processing) или все процессы указанного типа (например, history syncer,rwlock) |
prof_disable[=<цель>] | Деактивировать профилирование. Действует на все процессы, если цель не указана. Поддерживается с версии Zabbix 6.0.13. |
тип процесса — Все процессы указанного типа (например, history syncer) Типы процессов, поддерживаемые в качестве целей профилирования: см. prof_enable тип процесса,N — Тип процесса и его номер (например, history syncer,1) pid — Идентификатор процесса (от 1 до 65535). В случае значений PID больше 65535 укажите цель в виде 'тип процесса,N'. |
Пример использования административных функций для перезагрузки кэша конфигурации сервера:
Примеры использования административных функций для сбора диагностической информации:
#Сбор всей доступной диагностической информации в файл журнала сервера:
zabbix_server -R diaginfo
#Сбор статистики кэша истории в файл журнала сервера:
zabbix_server -R diaginfo=historycache
Пример использования административных функций для перезагрузки SNMP кэша:
Пример использования административных функций для вызова выполнения очистки базы данных:
Примеры использования административных функций по изменению уровня журналирования:
#Увеличение уровня журналирования по всем процессам:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
#Увеличение уровня журналирования у второго процесса поллера:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2
#Увеличение уровня журналирования у процесса с PID 1234:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234
#Уменьшение уровня журналирования по всем http поллер процессам:
zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"
Пример изменения настройки задержки аварийного переключения для HA в минимальное значение в 10 секунд:
Zabbix сервер спроектирован для запуска от непривилегированного пользователя (non-root). Он будет работать от любого непривилегированного пользователя, от которого был запущен. Таким образом, вы можете запускать сервер от имени любого непривилегированного пользователя, без каких-либо последствий.
Если вы попытаетесь запустить сервер от имени «root», сервер сразу переключится на пользователя «zabbix», который должен присутствовать в вашей системе. Единственный способ запустить сервер от пользователя «root» — соответствующим образом отредактировать параметр «AllowRoot» в файле конфигурации сервера.
Если Zabbix сервер и агент работают на одном сервере, то рекомендуется использовать разных пользователей для запуска сервера и для запуска агента. В противном случае, если сервер и агент запущены под одним пользователем, агент будет иметь доступ к файлу конфигурации сервера и любой пользователь с правами Администратора в Zabbix может с легкостью получить, например, пароль от базы данных.
Смотрите опции файла конфигурации для получения подробной информации по настройке zabbix_server.
Скрипты используются для автоматического запуска/остановки процессов Zabbix при включении/выключении системы. Скрипты располагаются в директории misc/init.d.
alert manager
— менеджер задач оповещенийalert syncer
— процесс записи оповещений в БДalerter
— процесс отправки оповещенийavailability manager
— процесс для обновления доступности узлов сетиconfiguration syncer
— процесс управления кэшем данных конфигурации в оперативной памятиdiscoverer
— процесс обнаружения устройствescalator
— процесс эскалации действийha manager
— процесс управления кластером высокой доступностиhistory poller
— процесс обработки вычисляемых, агрегированных и внутренних проверок, требующих подключения к базе данныхhistory syncer
— процесс, который записывает историю в БДhousekeeper
— процесс удаления устаревших данных историиhttp poller
— поллер веб-мониторингаicmp pinger
— поллер проверок icmppingipmi manager
— менеджер IPMI поллеровipmi poller
— поллер для проверок через IPMIjava poller
— поллер для Java проверокlld manager
— процесс менеджера задач низкоуровневого обнаруженияlld worker
— рабочий процесс для задач низкоуровневого обнаруженияodbc poller
— поллер для ODBC проверокpoller
— обычный поллер для пассивных проверокpreprocessing manager
— менеджер задач предобработкиpreprocessing worker
— рабочий процесс предобработки данныхproxy poller
— поллер для пассивных проксиreport manager
— процесс менеджера задач генерации отчётов по расписаниюreport writer
— процесс генерации отчётов по расписаниюself-monitoring
— процесс сбора внутренней статистики сервераservice manager
— процесс управления услугами для получения информации о проблемах, тегах проблем и событиях восстановления после проблем от процессов history syncer, task manager и alert managersnmp trapper
— траппер сбора/обработки SNMP траповtask manager
— процесс для удалённого выполнения задач, которые запрашиваются другими компонентами (например, функционал закрытия проблемы, подтверждения проблемы, принудительной проверки значения элемента данных, удалённой команды)timer
— процесс обработки обслуживанийtrapper
— процесс-улавливатель для активных проверок, трапов и взаимодействия с проксиunreachable poller
— поллер недоступных устройствvmware collector
— сборщик данных VMware, ответственный за сбор данных от служб VMwareМожно воспользоваться файлом журнала сервера для выявления этих типов процессов.
Различные типы процессов Zabbix сервера можно контролировать, используя внутренний элемент данных zabbix[процесс,<тип>,<режим>,<состояние>].
В связи с требованиями безопасности и критически важного характера работы сервера, UNIX является единственной операционной системой, которая может обеспечить необходимую производительность, отказоустойчивость и гибкость. Zabbix работает с ведущими на рынке версиями операционных систем.
Zabbix сервер протестирован на следующих платформах:
Zabbix может работать также и на других Unix-подобных операционных системах.
Обратите внимание, что серверу требуется локаль UTF-8, чтобы некоторые текстовые элементы данных интерпретировались корректно. Большинство современных Unix-подобных систем уже имеют локаль UTF-8 по умолчанию; тем не менее, есть некоторые системы где это необходимо указывать вручную.