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

Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

3 Агент 2

Обзор

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

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

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

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

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

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

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

Смотрите также: Методические указания по разработке плагинов.

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

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

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

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

На Windows Агент 2 поддерживается на:

  • Windows Server 2008 R2 и более поздние
  • Windows 7 и более поздние

Инсталляция

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 для активных элементов данных.
Plugins Плагины могут иметь свои собственные параметры, в формате Plugins.<Имя плагина>.<Параметр>=<значение>. Общий параметр плагинов - 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 соответственно.