1 Сервер

Обзор

Zabbix сервер - центральный процесс программного обеспечения Zabbix.

Сервер выполняет опрос и отлов данных, вычисляет триггеры, отправляет оповещения пользователям. Он является центральным компонентом, которому Zabbix агенты и прокси сообщают данные о доступности и целостности систем. Сервер может самостоятельно удаленно проверять сетевые службы (такие как веб-сервера и почтовые сервера), используя простые проверки сервисов.

Сервер является главным хранилищем, в котором хранятся все конфигурационные, статистические и оперативные данные, так же он рассылает уведомления администраторам в случае возникновения проблем с любой из наблюдаемых систем.

Функционал базового Zabbix сервера разделен на три отдельных компонента; это: Zabbix сервер, веб-интерфейс и хранилище в базе данных.

Все данные о конфигурации Zabbix хранятся в базе данных, с которой взаимодействует и сервер и веб-интерфейс. Например, когда вы создаете новый элемент данных используя веб-интерфейс (или API), запись об этом добавляется в таблицу элементов данных в базе данных. Затем, раз в минуту Zabbix сервер опрашивает таблицу элементов данных для получения списка активных элементов данных, и сохраняет этот список в кэш Zabbix сервера. Именно поэтому любые изменения в веб-интерфейсе Zabbix будут отображены в разделе последних данных с задержкой до двух минут.

Запуск сервера

Если установлен из пакета

Zabbix сервер работает как демон. Для запуска сервера выполните:

shell> service zabbix-server start

Эта команда будет работать на большинстве GNU/Linux системах. На других системах вам, возможно, потребуется выполнить:

shell> /etc/init.d/zabbix-server start

Аналогично, для остановки/перезапуска/просмотра состояния, используйте следующие команды:

shell> service zabbix-server stop
       shell> service zabbix-server restart
       shell> service zabbix-server status
Запуск вручную

Если выше приведенные команды не работают, вам необходимо запустить сервер вручную. Найдите путь к бинарному файлу zabbix_server и выполните:

shell> 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 config_cache_reload

Пример использования административных функций для вызова выполнения очистки базы данных:

shell> zabbix_server -c /usr/local/etc/zabbix_server.conf -R housekeeper_execute

Примеры использования административных функций по изменению уровня журналирования:

Увеличение уровня журналирования по всем процессам:
       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 - поллер проверок icmpping
  • ipmi manager - менеджер IPMI поллеров
  • ipmi poller - поллер для проверок по IPMI
  • java 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 сервер протестирован на следующих платформах:

  • Linux
  • Solaris
  • AIX
  • HP-UX
  • Mac OS X
  • FreeBSD
  • OpenBSD
  • NetBSD
  • SCO Open Server
  • Tru64/OSF1

Также Zabbix может работать и на других Unix-подобных операционных системах.

Региональные настройки (локаль)

Обратите внимание, что сервер требует UTF-8 локаль, чтобы некоторые текстовые элементы данных интерпретировались корректно. Большинство современных Unix-подобных систем уже имеют локаль UTF-8 по умолчанию, тем не менее, есть некоторые системы где это необходимо указывать вручную.