Zabbix агент 2 - новое поколение Zabbix агента, его можно использовать в качестве замены Zabbix агента. Zabbix агент 2 разработан для:
Агент 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 <опция> | Выполнение административных функций. Смотрите управление работой. | 
Отдельные примеры использования параметров командной строки:
Управление работой агента предоставляет некоторые опции для удаленного управления агентом.
| Опция | Описание | 
|---|---|
| log_level_increase | Увеличение уровня журналирования. | 
| log_level_decrease | Уменьшение уровня журналирования. | 
| metrics | Список доступных метрик. | 
| version | Отображение версии агента. | 
| userparameter_reload | Перезагрузка пользовательских параметров из текущего файла конфигурации. Обратите внимание, из всех опций конфигурации агента можно перезагрузить только UserParameter.  | 
       
| 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 соответственно.