Параметры конфигурации: плагины

См. параметры конфигурации для плагинов агента Zabbix 2:

Принципы конфигурации плагинов

На этой странице описаны принципы конфигурации плагинов и рекомендации по их использованию.

Все плагины настраиваются с помощью параметра Plugins.* , который может быть частью файла конфигурации агента Zabbix 2 или собственного файла конфигурации плагина. Если плагин использует отдельный файл конфигурации, путь к этому файлу следует указать в параметре Include файла конфигурации агента Zabbix 2.

Типичный параметр плагина имеет следующую структуру:

Plugins.<PluginName>.<Parameter>=<Value>

Кроме того, существуют две специальные группы параметров:

Все имена параметров должны соответствовать следующим требованиям:

  • рекомендуется писать имена плагинов с заглавной буквы
  • параметр должен начинаться с заглавной буквы
  • специальные символы не допускаются
  • вложенность не ограничена максимальным уровнем
  • количество параметров не ограничено

Например, чтобы выполнять активные проверки, у которых сразу после перезапуска агента отсутствует интервал обновления Scheduling, только для плагина Uptime, задайте Plugins.Uptime.System.ForceActiveChecksOnStart=1 в файле конфигурации. Аналогично, чтобы задать пользовательский предел для одновременных проверок для плагина CPU, задайте Plugins.CPU.System.Capacity=N в файле конфигурации.

Значения по умолчанию

Вы можете задать значения по умолчанию для параметров, связанных с подключением (URI, имя пользователя, пароль и т. д.), в файле конфигурации в формате:

Plugins.<PluginName>.Default.<Parameter>=<Value>

Например, Plugins.Mysql.Default.Username=zabbix, Plugins.MongoDB.Default.Uri=tcp://127.0.0.1:27017 и т. д.

Если значение для такого параметра не указано в ключе элемента данных или в параметрах именованной сессии, плагин будет использовать значение по умолчанию. Если параметр по умолчанию также не определен, будут использоваться жестко заданные значения по умолчанию.

Если ключ элемента данных не содержит никаких параметров, агент Zabbix 2 попытается собрать метрику, используя значения, определенные в разделе параметров по умолчанию.

Именованные сеансы

Именованные сеансы представляют собой дополнительный уровень параметров плагина и могут использоваться для задания отдельных наборов параметров аутентификации для каждого из отслеживаемых экземпляров. Каждый параметр именованного сеанса должен иметь следующую структуру:

Plugins.<PluginName>.Sessions.<SessionName>.<Parameter>=<Value>

Имя сеанса можно использовать как параметр ключа элемента данных connString вместо отдельного указания URI, имени пользователя и/или пароля.

В ключах элементов данных первым параметром может быть либо connString, либо URI. Если первый параметр ключа не совпадает ни с одним именем сеанса, он будет интерпретирован как URI. Обратите внимание, что передача встроенных учетных данных URI в ключе элемента данных не поддерживается; вместо этого используйте параметры именованного сеанса.

Список доступных параметров именованного сеанса зависит от плагина.

Параметры сеанса можно переопределить, указав новые значения в параметрах ключа элемента данных (см. пример).

Если параметр не определен для именованного сеанса, Zabbix agent 2 будет использовать значение, заданное в параметре плагина по умолчанию.

Приоритет параметров

Плагины агента Zabbix 2 ищут значения параметров, связанных с подключением, в следующем порядке:

  1. Первый параметр ключа элемента данных сравнивается с именами сеансов. Если совпадение не найдено, он считается фактическим значением; в этом случае шаг 3 будет пропущен. Если совпадение найдено, значение параметра (обычно URI) должно быть определено в именованном сеансе.
  2. Другие параметры будут взяты из ключа элемента данных, если они определены.
  3. Если параметр ключа элемента данных (например, password) пуст, плагин будет искать соответствующий параметр именованного сеанса.
  4. Если параметр сеанса также не указан, будет использовано значение, заданное в соответствующем значении по умолчанию.
  5. Если ничего не поможет, плагин использует жестко заданное значение по умолчанию.

Пример 1

Мониторинг двух экземпляров "MySQL1" и "MySQL2".

Параметры конфигурации:

Plugins.Mysql.Sessions.MySQL1.Uri=tcp://127.0.0.1:3306
Plugins.Mysql.Sessions.MySQL1.User=mysql1_user
Plugins.Mysql.Sessions.MySQL1.Password=unique_password
Plugins.Mysql.Sessions.MySQL2.Uri=tcp://192.0.2.1:3306
Plugins.Mysql.Sessions.MySQL2.User=mysql2_user
Plugins.Mysql.Sessions.MySQL2.Password=different_password

В результате такой конфигурации каждое имя сеанса может использоваться как connString в ключе элемента данных, например mysql.ping[MySQL1] или mysql.ping[MySQL2].

Пример 2

Передача части параметров в ключе элемента данных.

Параметры конфигурации:

Plugins.PostgreSQL.Sessions.Session1.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Sessions.Session1.User=old_username
Plugins.PostgreSQL.Sessions.Session1.Password=session_password

Ключ элемента данных: pgsql.ping[session1,new_username,,postgres]

В результате такой конфигурации агент подключится к PostgreSQL, используя следующие параметры:

  • URI из параметра сеанса: 192.0.2.234:5432
  • Имя пользователя из ключа элемента данных: new_username
  • Пароль из параметра сеанса (так как он опущен в ключе элемента данных): session_password
  • Имя базы данных из ключа элемента данных: postgres

Пример 3

Сбор метрики с использованием параметров конфигурации по умолчанию.

Параметры конфигурации:

Plugins.PostgreSQL.Default.Uri=tcp://192.0.2.234:5432
Plugins.PostgreSQL.Default.User=zabbix
Plugins.PostgreSQL.Default.Password=password

Ключ элемента данных: pgsql.ping[,,,postgres]

В результате этой конфигурации агент будет подключаться к PostgreSQL, используя следующие параметры:

  • URI по умолчанию: 192.0.2.234:5432
  • Имя пользователя по умолчанию: zabbix
  • Пароль по умолчанию: password
  • Имя базы данных из ключа элемента данных: postgres

Соединения

Некоторые плагины поддерживают сбор метрик одновременно с нескольких экземпляров. Можно отслеживать как локальные, так и удаленные экземпляры. Поддерживаются TCP- и Unix-socket-соединения.

Рекомендуется настраивать плагины так, чтобы соединения с экземплярами оставались открытыми. Преимущества этого — снижение сетевой нагрузки, задержки, а также использования CPU и памяти за счет меньшего числа соединений. Клиентская библиотека берет это на себя.

Период времени, в течение которого неиспользуемые соединения должны оставаться открытыми, можно задать с помощью параметра Plugins.<PluginName>.KeepAlive. Пример: Plugins.Memcached.KeepAlive