3 Агент 2

Обзор

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

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

В настоящий момент поддержка Zabbix агент 2 экспериментальна.

Agent 2 написан на Go (с некоторым переиспользованием C кода из Zabbix агента). Для сборки Zabbix агент 2 требуется подготовленная среда Go версии 1.12+.

Agent 2 не поддерживает работу в режиме демона.

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

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

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

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

Агент 2 поддерживается только на Linux платформе.

Если устанавливается из пакетов, то Агент 2 поддерживается на:

  • RHEL/CentOS 8
  • SLES 15 SP1+
  • Debian 9, 10
  • Ubuntu 18.04

Установка

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

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

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

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

Опция Описание
loglevel increase Увеличение уровня журналирования.
loglevel decrease Уменьшение уровня журналирования.
metrics Список доступных метрик.
version Отображение версии агента.
help Отображение справочной информации о функции управления работой.

Примеры:

  • увеличение уровня журналирования у агента 2
  • вывод опций управления работой
shell> zabbix_agent2 -R "loglevel increase"
       shell> zabbix_agent2 -R help

Файл конфигурации

Параметры конфигурации агента 2 большей частью совместимы с Zabbix агентом за несколькими исключениями.

Новые параметры Описание
ControlSocket Путь к сокету управления работой. Агент 2 использует контрольный сокет для административных команд.
Plugins Плагины могут иметь свои собственные параметры, в формате Plugins.<Имя плагина>.<Параметр>=<значение>. Общий параметр плагинов - Capacity, который управляет ограничением количества проверок, которые могут быть выполнены одновременно.
StatusPort Этот порт агент 2 будет слушать для запросов HTTP состояния и отображать список настроенных плагинов с некоторыми внутренними параметрами
Отброшенные параметры Описание
AllowRoot, User Не поддерживается, так как работа в режиме демона не поддерживается.
LoadModule, LoadModulePath Подгружаемые модули не поддерживаются.
StartAgents Этот параметр использовался в Zabbix агенте для увеличения количества параллельных пассивных проверок или для их отключения. В Agent 2, параллельность настраивается на уровне плагина и может быть ограничена настройкой производительности. Примите во внимание, что отключение пассивных проверок в настоящий момент не поддерживается.
HostInterface, HostInterfaceItem Ещё не поддерживается.

Для получения подробной информации смотрите параметры файла конфигурации по настройке zabbix_agent2.