Zabbix сервер - центральный процесс программного обеспечения Zabbix.
Сервер выполняет опрос и отлов данных, вычисляет триггеры, отправляет оповещения пользователям. Он является центральным компонентом, которому Zabbix агенты и прокси сообщают данные о доступности и целостности систем. Сервер может самостоятельно удаленно проверять сетевые службы (такие как веб-сервера и почтовые сервера), используя простые проверки сервисов.
Сервер является главным хранилищем, в котором хранятся все конфигурационные, статистические и оперативные данные, так же он рассылает уведомления администраторам в случае возникновения проблем с любой из наблюдаемых систем.
Функционал базового Zabbix сервера разделен на три отдельных компонента; это: Zabbix сервер, веб-интерфейс и хранилище в базе данных.
Все данные о конфигурации Zabbix хранятся в базе данных, с которой взаимодействует и сервер и веб-интерфейс. Например, когда вы создаете новый элемент данных используя веб-интерфейс (или API), запись об этом добавляется в таблицу элементов данных в базе данных. Затем, раз в минуту Zabbix сервер опрашивает таблицу элементов данных для получения списка активных элементов данных, и сохраняет этот список в кэш Zabbix сервера. Именно поэтому любые изменения в веб-интерфейсе Zabbix будут отображены в разделе последних данных с задержкой до двух минут.
Zabbix сервер работает как демон. Для запуска сервера выполните:
Эта команда будет работать на большинстве GNU/Linux системах. На других системах вам, возможно, потребуется выполнить:
Аналогично, для остановки/перезапуска/просмотра состояния, используйте следующие команды:
shell> service zabbix-server stop
shell> service zabbix-server restart
shell> service zabbix-server status
Если выше приведенные команды не работают, вам необходимо запустить сервер вручную. Найдите путь к бинарному файлу zabbix_server и выполните:
Можно использовать следующие параметры командной строки с Zabbix сервером:
-c --config <файл> путь к файлу конфигурации (по умолчанию /usr/local/etc/zabbix_server.conf)
-R --runtime-control <опция> выполнение административных функций
-h --help вывод этого сообщения помощи
-V --version вывод номера версии
Выполнение административных функций не поддерживается в OpenBSD и NetBSD.
Примеры запуска Zabbix сервера с параметрами командой строки:
shell> zabbix_server -c /usr/local/etc/zabbix_server.conf
shell> zabbix_server --help
shell> zabbix_server -V
Опции управления работой:
Опция | Описание | Цель |
---|---|---|
config_cache_reload | Перезагрузка кэша конфигурации. Игнорируется, если кэш уже загружается в текущий момент времени. | |
housekeeper_execute | Запуск процедуры очистки базы данных. Игнорируется, если процедура очистки выполняется в данный момент. | |
log_level_increase[=<цель>] | Увеличение уровня журналирования, действует на все процессы, если цель не указана. | Цель можно указать с помощью: тип процесса - все процессы указанного типа (например, poller) Смотрите весь список типов процессов сервера. тип процесса,N - тип процесса и номер (например, poller,3) pid - идентификатора процесса (от 1 до 65535). Для больших значений указывайте цель в виде 'тип-процесса,N'. |
log_level_decrease[=<цель>] | Уменьшение уровня журналирования, действует на все процессы, если цель не указана. |
Допустимый диапазон PID изменения уровня журналирования одного процесса с 1 до 65535. На системах с PID > 65535 как вариант решения для изменения уровня журналирования отдельных процессов опция может использоваться <тип процесса,N>.
Пример использования административных функций для перезагрузки кэша конфигурации сервера:
Пример использования административных функций для вызова выполнения очистки базы данных:
Примеры использования административных функций по изменению уровня журналирования:
Увеличение уровня журналирования по всем процессам:
shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase
Увеличение уровня журналирования у второго процесса поллера:
shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=poller,2
Увеличение уровня журналирования у процесса с PID 1234:
shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_increase=1234
Уменьшение уровня журналирования по всем http поллер процессам:
shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R log_level_decrease="http poller"
Zabbix сервер спроектирован для запуска от непривилегированного пользователя (non-root). Он будет работать от любого непривилегированного пользователя от которого был запущен. Таким образом, вы можете запускать сервер от имени любого непривилегированного пользователя, без каких либо последствий.
Если вы попытаетесь запустить сервер от 'root', сервер сразу переключится на пользователя 'zabbix', который должен присутствовать в вашей системе. Единственный способ запустить сервер от пользователя 'root' - соответствующим образом отредактировать параметр 'AllowRoot' в файле конфигурации сервера.
Если Zabbix сервер и агент работают на одном сервере, то рекомендуется использовать разных пользователей для запуска сервера и для запуска агента. В противном случае, если сервер и агент запущены под одним пользователем, агент будет иметь доступ к файлу конфигурации сервера и любой пользователь с правами Администратора в Zabbix может с легкостью получить, например, пароль от базы данных.
Смотрите опции файла конфигурации для получения подробной информации по настройке Zabbix сервера.
Скрипты используются для автоматического запуска/остановки процессов Zabbix при включении/выключении системы. Скрипты находятся в директории misc/init.d.
alert manager
- менеджер задач оповещенияalerter
- процесс отправки уведомленийconfiguration syncer
- процесс управления кэшем данных конфигурации в оперативной памятиdiscoverer
- процесс обнаружения устройствescalator
- процесс эскалации действийhistory syncer
- процесс, который записывает историю в БДhousekeeper
- процесс удаления старых данных историиhttp poller
- поллер веб-мониторингаicmp pinger
- поллер проверок icmppingipmi manager
- менеджер IPMI поллеровipmi poller
- поллер для проверок по IPMIjava poller
- поллер для Java проверокlld manager
- процесс менеджера для задач низкоуровневого обнаруженияlld worker
- "worker" процесс для задач низкоуровневого обнаруженияpoller
- обычный поллер для пассивных проверокpreprocessing manager
- менеджер задач предобработкиpreprocessing worker
- процесс предобработки данныхproxy poller
- поллер для пассивных проксиself-monitoring
- процесс сбора внутренней статистики сервераsnmp trapper
- траппер сбора/обработки SNMP траповtask manager
- процесс для удаленного выполнения задач, которые запрашиваются другими компонентами (например, возможности закрытия проблемы, подтверждения проблемы, принудительной проверки значения элемента данных, удаленной команды)timer
- процесс обработки обслуживанийtrapper
- процесс-улавливатель для активных проверок, трапов, и проксиunreachable poller
- поллер недоступных устройствvmware collector
- коллектор данных VMware, ответственный за сбор данных со служб VmwareМожно использовать файл журнала сервера для наблюдения за этими типами процессов.
Различные типы процессов Zabbix сервера можно мониторить используя внутренний элемент данных zabbix[процесс,<тип>,<режим>,<состояние>].
В связи с требованиями безопасности и критически важного характера работы сервера, UNIX является единственной операционной системой, которая может обеспечить необходимую производительность, отказоустойчивость и гибкость. Zabbix работает с ведущими на рынке версиями операционных систем.
Zabbix сервер протестирован на следующих платформах:
Также Zabbix может работать и на других Unix-подобных операционных системах.
Обратите внимание, что сервер требует UTF-8 локаль, чтобы некоторые текстовые элементы данных интерпретировались корректно. Большинство современных Unix-подобных систем уже имеют локаль UTF-8 по умолчанию, тем не менее, есть некоторые системы где это необходимо указывать вручную.