3. Агент 2
Обзор
Zabbix агент 2 — это новое поколение Zabbix агента, написанное на Go (с повторным использованием части кода на C из Zabbix агента). Он предназначен для того, чтобы:
- Сократить количество TCP-соединений.
- Обеспечить улучшенную параллельность проверок.
- Легко расширяться с помощью плагинов, которые предоставляют простые проверки с минимальным объемом кода и поддерживают сложные проверки, состоящие из долго выполняющихся скриптов и автономного сбора данных с периодической отправкой отчетов.
- Работать в качестве замены Zabbix агента, поддерживая все предыдущие возможности.
Пассивные и активные проверки
Zabbix агент 2 поддерживает пассивные и активные проверки, аналогично Zabbix агенту. Кроме того, активные проверки Zabbix агента 2 поддерживают гибкие интервалы/интервалы по расписанию и параллельное выполнение проверок в рамках одного активного сервера.
По умолчанию после перезапуска Zabbix агент 2 планирует первый сбор данных для активных проверок на условно случайное время
в пределах интервала обновления элемента данных, чтобы предотвратить всплески использования ресурсов. Чтобы выполнять активные проверки, для которых
Scheduling интервал обновления сразу после перезапуска агента,
задайте параметр ForceActiveChecksOnStart (на глобальном уровне) или Plugins.<Plugin name>.System.ForceActiveChecksOnStart (влияет только на проверки конкретного плагина)
в файле конфигурации. Параметр уровня плагина, если он задан, переопределяет глобальный параметр.
Параллелизм проверок
Проверки из разных плагинов могут выполняться параллельно. Количество параллельных проверок в пределах одного плагина ограничено настройкой производительности плагина. Каждый плагин может иметь жёстко зашитую в код настройку производительности (по умолчанию, 1000), значение которой можно уменьшить, указав настройку Plugins.<ИмяПлагина>.System.Capacity=N в параметрах конфигурации плагина.
Поддерживаемые платформы
Список поддерживаемых платформ приведён на странице Требования.
Агент 2 в UNIX-подобных системах
Zabbix агент 2 в UNIX-подобных системах запускается на контролируемом узле сети.
Установка
Zabbix агент 2 можно установить в системах на базе Linux одним из следующих способов:
- Пакеты Zabbix — выберите компонент Agent 2 (после выбора версии Zabbix, дистрибутива ОС и версии ОС) и следуйте инструкциям.
- Исходный код Zabbix — загрузите исходные файлы и скомпилируйте агент, настроив его с параметром
--enable-agent2.
Возможности мониторинга Zabbix агента 2 можно расширить с помощью загружаемых плагинов, которые доступны отдельно. Подробнее см. в разделе Загружаемые плагины.
Если установлен как пакет
Zabbix агент 2 работает как процесс переднего плана и использует внешний менеджер служб (например, systemd) для выполнения в фоновом режиме; Zabbix агент 2 не имеет встроенной поддержки демонизации в Linux.
Агент можно запустить, выполнив:
systemctl start zabbix-agent2
Чтобы остановить, перезапустить или проверить состояние Zabbix агента 2, используйте следующие команды:
systemctl stop zabbix-agent2
systemctl restart zabbix-agent2
systemctl status zabbix-agent2
Запуск вручную
Вы можете запустить агент Zabbix, найдя исполняемый файл zabbix_agent2 и запустив его напрямую; например:
zabbix_agent2
Агент 2 в системах Windows
Zabbix агент 2 работает как отдельный процесс; однако его также можно запускать как службу Windows.
Установка
Zabbix агент 2 можно установить в Windows одним из следующих способов:
- Предварительно скомпилированные бинарные файлы Zabbix агента — загрузите пакет MSI-установщика агента и следуйте инструкциям на странице Установка Windows агента из MSI.
- Исходный код Zabbix — загрузите исходные файлы и следуйте инструкциям на странице Сборка Zabbix агента 2 в Windows.
Возможности мониторинга Zabbix агента 2 можно расширить с помощью загружаемых плагинов, которые доступны отдельно. Подробнее см. на странице Загружаемые плагины.
Дополнительные сведения об установке Zabbix агента 2 (из ZIP-архива) как службы Windows см. на странице Zabbix агент в Microsoft Windows.
Параметры
Следующие параметры командной строки можно использовать с Zabbix агент 2:
| Параметр | Описание |
|---|---|
| UNIX и Windows агент | |
| -c --config <config-file> | Путь к файлу конфигурации. Вы можете использовать этот параметр, чтобы указать файл конфигурации, отличный от используемого по умолчанию. В UNIX по умолчанию используется /usr/local/etc/zabbix_agent2.conf или путь, заданный переменными compile-time --sysconfdir или --prefix В Windows по умолчанию используется C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf |
| -f --foreground | Запустить Zabbix агент в режиме переднего плана (по умолчанию: true). |
| -p --print | Вывести известные элементы данных и завершить работу. Примечание: чтобы также возвращать результаты пользовательских параметров, необходимо указать файл конфигурации (если он не находится в расположении по умолчанию). |
| -t --test <item key> | Проверить указанный элемент данных и завершить работу. Примечание: чтобы также возвращать результаты пользовательских параметров, необходимо указать файл конфигурации (если он не находится в расположении по умолчанию). |
| -T --test-config | Проверить файл конфигурации и завершить работу. |
| -h --help | Вывести справочную информацию и завершить работу. |
| -v --verbose | Вывести отладочную информацию. Используйте этот параметр вместе с параметрами -p и -t. |
| -V --version | Вывести версию агента и информацию о лицензии. |
| -R --runtime-control <option> | Выполнить административные функции. См. runtime control. |
| Только Windows агент | |
| -m --multiple-agents | Использовать несколько экземпляров агента (с параметрами -i, -d, -s, -x). Чтобы различать имена служб экземпляров, в каждое имя службы будет включено значение Hostname из указанного файла конфигурации. |
| -S --startup-type <value> | Установить тип запуска службы Zabbix Windows agent. Допустимые значения:automatic - (по умолчанию) запускать службу автоматически при запуске Windows;delayed - отложить запуск службы до завершения запуска служб, запускаемых автоматически;manual - запускать службу вручную (пользователем или приложением);disabled - отключить службу, чтобы ее нельзя было запустить пользователем или приложением.Вы можете использовать этот параметр вместе с параметром -i или отдельно, чтобы изменить тип запуска уже установленной службы. |
| -i --install | Установить Zabbix Windows agent как службу. |
| -d --uninstall | Удалить службу Zabbix Windows agent. |
| -s --start | Запустить службу Zabbix Windows agent. |
| -x --stop | Остановить службу Zabbix Windows agent. |
Конкретные примеры использования параметров командной строки:
- вывести все встроенные элементы данных агента со значениями
- проверить пользовательский параметр с ключом "mysql.ping", определенный в указанном файле конфигурации
- установить службу "Zabbix Agent" для Windows, используя путь по умолчанию к файлу конфигурации C:\Program Files\Zabbix Agent 2\zabbix_agent2.conf
- изменить тип запуска установленной службы "Zabbix Agent" для Windows, используя файл конфигурации zabbix_agent2.conf, расположенный в той же папке, что и исполняемый файл агента
zabbix_agent2 --print
zabbix_agent2 -t "mysql.ping" -c /etc/zabbix/zabbix_agentd.conf
zabbix_agent2.exe -i
zabbix_agent2.exe -c zabbix_agent2.conf -S delayed
Управление работой
Управление работой агента предоставляет некоторые опции для удалённого управления агентом.
| Опция | Описание |
|---|---|
| log_level_increase | Увеличение уровня журналирования. |
| log_level_decrease | Уменьшение уровня журналирования. |
| metrics | Список доступных метрик. |
| version | Отображение версии агента. |
| userparameter_reload | Загрузка заново значений параметров UserParameter и Include из текущего файла конфигурации. |
| help | Отображение справочной информации о функции управления работой. |
Примеры:
- увеличение уровня журналирования агента 2
- вывод опций управления работой
zabbix_agent2 -R log_level_increase
zabbix_agent2 -R help
Файл конфигурации
Параметры конфигурации агент 2 в основном совместимы с Zabbix агентом, за некоторыми исключениями.
| Новые параметры | Описание |
|---|---|
| ControlSocket | Путь к управляющему сокету времени выполнения. Агент 2 использует управляющий сокет для команд времени выполнения. |
| EnablePersistentBuffer, PersistentBufferFile, PersistentBufferPeriod |
Эти параметры используются для настройки постоянного хранилища в агент 2 для активных элементов данных. |
| ForceActiveChecksOnStart | Определяет, должен ли агент выполнять активные проверки сразу после перезапуска или равномерно распределять их во времени. |
| Plugins | У плагинов могут быть собственные параметры в формате Plugins.<Plugin name>.<Parameter>=<value>. Общим параметром плагинов является System.Capacity, задающий предел проверок, которые могут выполняться одновременно. |
| StatusPort | Порт, на котором агент 2 будет ожидать HTTP-запрос статуса и отображать список настроенных плагинов и некоторые внутренние параметры |
| Удалённые параметры | Описание |
| AllowRoot, User | Не поддерживаются, поскольку поддержка демонизации отсутствует. |
| LoadModule, LoadModulePath | Загружаемые модули не поддерживаются. |
| StartAgents | Этот параметр использовался в Zabbix агенте для увеличения параллелизма пассивных проверок или их отключения. В Агент 2 параллелизм настраивается на уровне плагина и может быть ограничен параметром capacity. |
Для получения более подробной информации смотрите параметры файла конфигурации для zabbix_agent2.
Коды завершения
Zabbix агент 2 также может быть скомпилирован с более старыми версиями OpenSSL (1.0.1, 1.0.2).
В этом случае Zabbix предоставляет мьютексы для блокировки в OpenSSL. Если блокировка или разблокировка мьютекса не удалась, то в стандартный поток ошибок (STDERR) выводится сообщение об ошибке, и агент 2 завершает работу, возвращая код 2 или 3 соответственно.