Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

3 Агент 2

Обзор

Zabbix агент 2 - новое поколение Zabbix агента, его можно использовать в качестве замены Zabbix агента. Zabbix агент 2 разработан для:

  • уменьшения количества TCP-соединений
  • улучшения многопоточности проверок
  • легкого расширения при помощи плагинов. Плагин должен уметь следующее:
    • обеспечивать простые проверки, состоящие только из нескольких строк кода
    • обеспечивать сложные проверки, состоящие из длительно выполняемых скриптов и автономного сбора данных с периодической отправкой данных обратно
  • простой замены Zabbix агента (поскольку он поддерживает весь предыдущий функционал)

Агент 2 написан на Go (с частичным использованием C кода из Zabbix агента). Для сборки Zabbix агента 2 требуется подготовленная среда Go с поддерживаемой в настоящее время версией Go.

Агент 2 не имеет встроенной поддержки режима демона на Linux; его можно запустить службой Windows.

Пассивные и активные проверки

Пассивные проверки работают аналогично Zabbix агенту. Активные проверки поддерживают интервалы по расписанию/гибкие интервалы, к тому же проверки выполняются параллельно в пределах одного активного сервера.

По умолчанию, после перезапуска Zabbix агент 2 планирует первый сбор данных по активным проверкам в случайное время в течение интервала времени обновления элемента данных, во избежание скачков в использовании ресурсов. Чтобы активные проверки, у которых отсутствует интервал обновления По расписанию, выполнялись сразу после перезапуска агента, укажите параметр ForceActiveChecksOnStart (глобальный уровень) или Plugins.<ИмяПлагина>.System.ForceActiveChecksOnStart (влияет только на проверки из конкретного плагина) в файле конфигурации. Параметр уровня плагина, если задан, переопределяет собой глобальный параметр. Принудительные активные проверки при запуске агента поддерживаются, начиная с Zabbix 6.0.2.

Параллелизм проверок

Проверки из разных плагинов могут выполняться параллельно. Количество параллельных проверок в пределах одного плагина ограничено настройкой производительности плагина. Каждый плагин может иметь жёстко зашитую в код настройку производительности (по умолчанию, 100), значение которой можно уменьшить, указав Plugins.<ИмяПлагина>.System.Capacity=N при настройке параметра конфигурации Plugins. Прежнее название этого параметра Plugins.<ИмяПлагина>.Capacity всё ещё поддерживается, но устарело с версии Zabbix 6.0.

Поддерживаемые платформы

Zabbix агент 2 поддерживается на следующих платформах:

Установка

Zabbix агент 2 доступен в уже подготовленных, скомпилированных пакетах Zabbix. Для компиляции Zabbix агента 2 из исходных кодов вам необходимо указать опцию конфигурации --enable-agent2.

Опции

Следующие параметры командной строки могут быть использованы с 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 <опция> Выполнение административных функций. Смотрите управление работой.

Отдельные примеры использования параметров командной строки:

  • отображение всех встроенных элементов данных с их значениями
  • тестирование пользовательского параметра с ключом "mysql.ping", заданном в указанном файле конфигурации
shell> zabbix_agent2 --print
       shell> zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
Управление работой

Управление работой агента предоставляет некоторые опции для удаленного управления агентом.

Опция Описание
log_level_increase Увеличение уровня журналирования.
log_level_decrease Уменьшение уровня журналирования.
metrics Список доступных метрик.
version Отображение версии агента.
userparameter_reload Перезагрузка пользовательских параметров из текущего файла конфигурации.
Обратите внимание, из всех опций конфигурации агента можно перезагрузить только UserParameter.
help Отображение справочной информации о функции управления работой.

Примеры:

  • увеличение уровня журналирования агента 2
  • вывод опций управления работой
shell> zabbix_agent2 -R log_level_increase
       shell> zabbix_agent2 -R 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 соответственно.