Zabbix агент 2 — новое поколение Zabbix агента, его можно использовать в качестве замены Zabbix агента. Zabbix агент 2 разработан для:
Agent 2 написан на Go (с частичным использованием C кода из Zabbix агента). Для сборки Zabbix агент 2 требуется подготовленная среда Go с поддерживаемой в настоящее время версией Go.
Agent 2 не имеет встроенной поддержки режима демона на Linux; его можно запустить в качестве службы Windows.
Пассивные проверки работают аналогично Zabbix агенту. Активные проверки поддерживают интервалы по расписанию/гибкие интервалы, к тому же проверки выполняются параллельно в пределах одного активного сервера.
По умолчанию, Zabbix agent 2 планирует первый сбор данных по активным проверкам в случайное время в течение интервала времени обновления элемента данных, во избежание скачков в использовании ресурсов. Чтобы активные проверки, у которых отсутствует интервал обновления По расписанию, выполнялись сразу после перезапуска агента, укажите параметр ForceActiveChecksOnStart
(глобальный уровень) или Plugins.<ИмяПлагина>.System.ForceActiveChecksOnStart
(влияет только на проверки из конкретного плагина) в файле конфигурации. Параметр уровня плагина, если задан, переопределяет собой глобальный параметр. Принудительные активные проверки при запуске агента поддерживаются, начиная с Zabbix 6.0.2.
Параллелизм проверок
Проверки из разных плагинов могут выполняться параллельно. Количество параллельных проверок в пределах одного плагина ограничено настройкой производительности плагина. Каждый плагин может иметь жёстко зашитую в код настройку производительности (по умолчанию, 100), значение которой можно уменьшить, указав Plugins.<ИмяПлагина>.System.Capacity=N
при настройке параметра конфигурации Plugins. Прежнее название этого параметра Plugins.<ИмяПлагина>.Capacity
всё ещё поддерживается, но устарело с версии Zabbix 6.0.
Смотрите также: Методические указания по разработке плагинов [en].
Zabbix агент 2 поддерживается на следующих платформах:
Начиная с Zabbix 6.0.35, пакеты агента Zabbix 2 больше не доступны для RHEL 6 из-за несовместимости Go 1.22 (и новее) с GCC 4.4.7, предоставляемым RHEL 6, что приводит к ошибкам компиляции. Однако, следует отметить, что пакеты агента Zabbix по-прежнему поддерживаются.
Для установки Zabbix агента 2 доступны следующие варианты:
Windows:
Linux:
--enable-agent2
Возможности мониторинга с использованием Zabbix агента 2 могут быть расширены с помощью плагинов. В то время как встроенные плагины доступны «из коробки», подгружаемые плагины нужно устанавливать отдельно. Для более подробной информации смотрите Плагины.
Следующие параметры командной строки могут быть использованы с Zabbix агентом 2:
Параметр | Описание |
---|---|
-c --config <файл-конфигурации> | Путь к файлу конфигурации. Вы можете использовать данную опцию, чтобы задать файл конфигурации, размещенный в папке отличной от заданной по умолчанию. В UNIX, путь по умолчанию /usr/local/etc/zabbix_agent2.conf или как задано во время компиляции переменными --sysconfdir или --prefix |
-f --foreground | Запуск Zabbix агента без перехода в фоновый режим (по умолчанию: true). |
-p --print | Вывод известых элементов данных и выход. Примечание: Чтобы также получить результаты пользовательских параметров, вам необходимо указать файл конфигурации (если он находится вне папки заданной по умолчанию). |
-t --test <ключ элемента данных> | Тестирование указанного элемента данных и выход. Примечание: Чтобы также получить результат пользовательского параметра, вам необходимо указать файл конфигурации (если он находится вне папки заданной по умолчанию). |
-h --help | Вывод справочной информации и выход. |
-v --verbose | Вывод отладочной информации. Используйте эту опцию совместно с -p и -t опциями. |
-V --version | Вывод номера версии агента и выход. |
-R --runtime-control <опция> | Выполнение административных функций. Смотрите управление работой. |
Отдельные примеры использования параметров командной строки:
Управление работой агента предоставляет некоторые опции для удалённого управления агентом.
Опция | Описание |
---|---|
log_level_increase | Увеличение уровня журналирования. |
log_level_decrease | Уменьшение уровня журналирования. |
metrics | Список доступных метрик. |
version | Отображение версии агента. |
userparameter_reload | Загрузка заново значений параметров UserParameter и Include из текущего файла конфигурации. |
help | Отображение справочной информации о функции управления работой. |
Примеры:
Параметры конфигурации агента 2 большей частью совместимы с Zabbix агентом за несколькими исключениями.
Новые параметры | Описание |
---|---|
ControlSocket | Путь к сокету управления работой. Агент 2 использует управляющий сокет для административных команд. |
EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
Эти параметры используются для настройки постоянного хранилища агента 2 для активных элементов данных. |
ForceActiveChecksOnStart | Параметр определяет, должен ли агент выполнить активные проверки немедленно после перезапуска агента или равномерно распределить их по времени. Поддерживается, начиная с Zabbix 6.0.2. |
Plugins | Плагины могут иметь свои собственные параметры, в формате Plugins.<Имя плагина>.<Параметр>=<значение> . Общий параметр плагинов — System.Capacity, задаёт ограничение количества проверок, которые могут быть выполнены одновременно. |
StatusPort | Этот порт агент 2 будет слушать для запросов HTTP состояния и отображать список настроенных плагинов и некоторых внутренних параметров |
Исключенные параметры | Описание |
AllowRoot, User | Не поддерживается, так как режим демона не поддерживается. |
LoadModule, LoadModulePath | Загружаемые модули не поддерживаются. |
StartAgents | Этот параметр использовался в Zabbix агенте для увеличения параллелизма пассивных проверок или для их отключения. В Агенте 2 параллелизм настраивается на уровне плагинов и может быть ограничен настройкой производительности. Между тем полное отключение пассивных проверок в настоящее время не поддерживается. |
HostInterface, HostInterfaceItem | Ещё не поддерживается. |
Для получения подробной информации смотрите параметры файла конфигурации по zabbix_agent2.
Начиная с версии 4.4.8, Zabbix агент 2 также может быть скомпилирован с более старыми версиями OpenSSL (1.0.1, 1.0.2).
В этом случае Zabbix предоставляет мьютексы для блокировки в OpenSSL. Если блокировка или разблокировка мьютекса не удалась, то в стандартный поток ошибок (STDERR) выводится сообщение об ошибке, и агент 2 завершает работу, возвращая код 2 или 3 соответственно.