==== - #2 Сервер ====
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[=<цель>] | Увеличение уровня журналирования, действует на все процессы, если цель не указана. | pid - Идентификатор процесса (1 до 65535) тип процесса - Все процессы указанного типа (например, poller) тип процесса,N - Тип процесса и номер (например, poller,3) |
log_level_decrease[=<цель>] | Уменьшение уровня журналирования, действует на все процессы, если цель не указана. |
Допустимый диапазон PID изменения уровня журналирования одного процесса с 1 до 65535. На системах с PID > 65535 как вариантом решения можно воспользоваться опцией <тип процесса,N> для изменения уровня журналирования отдельных процессов (например, "history syncer,6").
Пример использования административных функций для перезагрузки кэша конфигурации сервера:
Пример использования административных функций для вызова выполнения очистки базы данных:
Примеры использования административных функций по изменению уровня журналирования:
Увеличение уровня журналирования по всем процессам:
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.
В связи с требованиями безопасности и критически важного характера работы сервера, UNIX является единственной операционной системой, которая может обеспечить необходимую производительность, отказоустойчивость и гибкость. Zabbix работает с ведущими на рынке версиями операционных систем.
Zabbix сервер протестирован на следующих платформах:
Также Zabbix может работать и на других Unix-подобных операционных системах.
Обратите внимание, что сервер требует UTF-8 локаль, чтобы некоторые текстовые элементы данных интерпретировались корректно. Большинство современных Unix-подобных систем уже имеют локаль UTF-8 по умолчанию, тем не менее, есть некоторые системы где это необходимо указывать вручную.