4 Zabbix агент 2 (UNIX)

Обзор

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

В этом разделе перечислены параметры, поддерживаемые в файле конфигурации Zabbix агента 2 (zabbix_agent2.conf).

Обратите внимание, что:

  • Значения по умолчанию отражают значения по умолчанию процесса, а не значения в поставляемых файлах конфигурации;
  • Zabbix поддерживает файлы конфигурации только в кодировке UTF-8 без BOM;
  • Комментарии, начинающиеся с «#», поддерживаются только в начале строки.

Параметры

Параметр Обязательный Диапазон По умолчанию Описание
Alias нет Задаёт алиас для ключа элемента данных. Его можно использовать для замены длинных и сложных ключей элементов данных на более короткие и простые.
Можно добавлять несколько параметров Alias. Несколько параметров с одинаковым ключом Alias не разрешены.
Различные ключи параметра Alias могут ссылаться на тот же ключ элемента данных.
Алиасы можно использовать в параметре HostMetadataItem, но нельзя в параметре HostnameItem.

Примеры:

1. Получение числового идентификатора пользователя 'zabbix'.
Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1]
Теперь для получения данных можно использовать сокращённый ключ zabbix.userid.

2. Получение утилизации CPU с параметрами по умолчанию и с пользовательскими параметрами.
Alias=cpu.util:system.cpu.util
Alias=cpu.util[*]:system.cpu.util[*]
Такая запись позволяет использовать ключ cpu.util для получения утилизации CPU в процентах с параметрами по умолчанию, а также использовать cpu.util[all, idle, avg15] для получения конкретных данных об утилизации CPU.

3. Выполнение нескольких правил низкоуровневого обнаружения, которые обрабатывают одни и те же элементы данных обнаружения.
Alias=vfs.fs.discovery[*]:vfs.fs.discovery
Теперь имеется возможность настроить несколько правил обнаружения, используя vfs.fs.discovery с разными параметрами для каждого правила, например, vfs.fs.discovery[foo], vfs.fs.discovery[bar] и т.д.
AllowKey нет Разрешение выполнения тех ключей элементов данных, которые соответствуют шаблону. Шаблон ключа - это выражение с подстановочным знаком, которое поддерживает символ «*» для соответствия с любым количеством любых символов.
Можно задать несколько правил соответствия ключей в сочетании с DenyKey. Параметры обрабатываются по очереди в соответствии с порядком их появления.
Этот параметр поддерживается с версии Zabbix 5.0.0.
Смотрите также: Ограничение проверок агента.
BufferSend нет 1-3600 5 Интервал времени в секундах, определяющий, как часто значения из буфера отсылаются на Zabbix сервер.
Обратите внимание, что если буфер заполнен, данные будут отосланы раньше.
BufferSize нет 2-65535 100 Максимальное количество значений в буфере памяти. При заполнении буфера агент будет отправлять все собранные данные Zabbix серверу или прокси.
Этот параметр должен использоваться только если постоянный буфер отключён (EnablePersistentBuffer=0).
ControlSocket нет /tmp/agent.sock Сокет управления, используется при отправке команд управления при помощи опции '-R'.
DebugLevel нет 0-5 3 Задаёт уровень журналирования:
0 - основная информация о запуске и остановке процессов Zabbix
1 - критичная информация
2 - информация об ошибках
3 - предупреждения
4 - для отладки (записывается очень много информации)
5 - расширенная отладка (записывается ещё больше информации)
DenyKey нет Запрет выполнения тех ключей элементов данных, которые соответствуют шаблону. Шаблон ключа - это выражение с подстановочным знаком, которое поддерживает символ «*» для соответствия с любым количеством любых символов.
Можно задать несколько правил соответствия ключей в сочетании с AllowKey. Параметры обрабатываются по очереди в соответствии с порядком их появления.
Этот параметр поддерживается с версии Zabbix 5.0.0.
Смотрите также: Ограничение проверок агента.
EnablePersistentBuffer нет 0-1 0 Включить использование локального постоянного хранилища для активных элементов данных.
0 - отключено
1 - включено
Если постоянное хранилище отключено, будет использован буфер памяти.
ForceActiveChecksOnStart нет 0-1 0 Выполнить активные проверки сразу после перезапуска для первой полученной конфигурации.
0 - отключено
1 - включено
Также доступно как параметр конфигурации плагина, например: Plugins.Uptime.System.ForceActiveChecksOnStart=1
Этот параметр поддерживается с версии Zabbix 6.0.2.
HostInterface нет 0-255 символов Необязательный параметр, определяющий интерфейс узла сети.
Интерфейс узла сети используется в процессе автоматической регистрации узла сети.
Агент выдаст ошибку и не запустится, если значение превышает ограничение в 255 символов.
Если не определено, значение будет получено от HostInterfaceItem.
Этот параметр поддерживается с версии Zabbix 4.4.0.
HostInterfaceItem нет Необязательный параметр, который определяет элемент данных, используемый для получения интерфейса узла сети.
Интерфейс узла сети используется в процессе автоматической регистрации узла сети.
Во время запроса на автоматическую регистрацию агент регистрирует предупреждающее сообщение, если значение, возвращаемое указанным элементом данных, превышает ограничение в 255 символов.
Элемент данных system.run[] поддерживается независимо от значений параметров AllowKey/DenyKey.
Эта опция используется только когда HostInterface не определён.
Этот параметр поддерживается с версии Zabbix 4.4.0.
HostMetadata нет 0-255 символов Опциональный параметр, который задаёт метаданные узла сети. Метаданные узла сети используются только в процессе автоматической регистрации узлов сети.
Агент выдаст ошибку и не запустится, если указанное значение превышает ограничение длины строки или не является UTF-8 строкой.
Если не определено, то значение берётся от HostMetadataItem.
HostMetadataItem нет Опциональный параметр, который задаёт элемент данных, используемый для получения метаданных узла сети. Значение HostMetadataItem извлекается на каждую попытку авторегистрации для процесса автоматической регистрации узла сети.
При запросе на авторегистрацию агент запишет в журнал предупреждение, если полученное от указанного элемента данных значение превышает ограничение в 255 символов.
Этот параметр используется только если HostMetadata не определён.
Поддерживаются UserParameters и алиасы. Поддерживается system.run[] независимо от значений AllowKey/DenyKey.
Значение, возвращаемое указанным элементом данных, должно являться UTF-8 строкой, в противном случае оно будет игнорироваться.
Hostname нет Задаётся параметром HostnameItem Список (через запятую) уникальных, регистрозависимых имён узла сети.
Требуется для активных проверок и должно совпадать с именами узла сети, указанными на сервере. Если не задано, значение будет браться из HostnameItem.
Допустимые символы: буквенно-цифровые, '.', ' ', '_' и '-'.
Максимальная длина: 128 символов на имя узла сети, 2048 символов для всей строки.
HostnameItem нет system.hostname Элемент данных, который используется для формирования Hostname, если этот параметр не указан. Игнорируется, если задан параметр Hostname.
Не поддерживает UserParameters или алиасы, но поддерживает system.run[], независимо от значений AllowKey/DenyKey.
Include нет Вы можете включить в файл конфигурации отдельные файлы или все файлы из папки.
В процессе инсталляции Zabbix будет создана директория для включения файлов в /usr/local/etc, если только она не была изменена во время компиляции.
Для включения только необходимых файлов из указанной папки, поддерживается символ звёздочки для поиска совпадения по маске. Например: /absolute/path/to/config/files/*.conf.
Начиная с версии Zabbix 6.0.0, путь может быть относительным по отношению к местоположению файла zabbix_agent2.conf.
Смотрите специальные заметки по поводу ограничений.
ListenIP нет 0.0.0.0 Список (через запятую) IP адресов, которые должен слушать агент.
Первый IP адрес отсылается на Zabbix сервер при подключении к нему для получения списка активных проверок.
ListenPort нет 1024-32767 10050 Агент будет слушать этот порт для подключений с сервера.
LogFile Да, если LogType задан как file, иначе нет. /tmp/zabbix_agent2.log Имя файла журнала, если LogType равен значению 'file'.
LogFileSize нет 0-1024 1 Максимальный размер файла журнала в МБ.
0 - отключение автоматической ротации журнала.
Примечание: Если лимит размера файла достигнут, а ротация по каким-либо причинам не удалась, существующий файл журнала усекается и начинается заново.
LogType нет file Задаёт место, куда будут записываться сообщения журнала:
system - в syslog,
file - в файл, указанный параметром LogFile,
console - в стандартный вывод.
PersistentBufferFile нет Файл, в котором Zabbix агент 2 должен хранить базу данных SQLite.
Имя файла должно быть указано с абсолютным путём.
Этот параметр используется, только если включён постоянный буфер (EnablePersistentBuffer=1).
PersistentBufferPeriod нет 1m-365d 1h Период времени, в течение которого должны храниться данные, когда нет соединения с сервером или прокси. Более старые данные будут потеряны. Журнальные данные будут сохранены.
Этот параметр используется, только если включён постоянный буфер (EnablePersistentBuffer=1).
PidFile нет /tmp/zabbix_agent2.pid Имя PID файла.
Plugin нет Начиная с версии Zabbix 6.0.0, большинство плагинов имеют свои собственные файлы конфигурации. Файл конфигурации агента содержит параметры плагинов, перечисленные ниже.
Plugins.Log.MaxLinesPerSecond нет 1-1000 20 Максимальное количество новых строк, которые агент будет отправлять в секунду на Zabbix сервер или прокси при обработке активных проверок 'log' и 'eventlog'.
Указаное значение будет переопределено параметром 'maxlines', указанным в ключах элементов данных 'log' или 'eventlog'.
Обратите внимание: при поиске нужной строки в элементах данных журналов Zabbix будет обрабатывать в 10 раз больше новых строк, чем указано в параметре MaxLinesPerSecond.
Этот параметр поддерживается с версии 4.4.2 и заменяет MaxLinesPerSecond.
Plugins.SystemRun.LogRemoteCommands нет 0 Включение журналирования выполняемых оболочкой команд как предупреждений.
0 - отключено
1 - включено
Команды будут записаны в журнал, только если они выполняются удалённо. Записи в журнале не создаются, если system.run[] запускается локально параметрами HostMetadataItem, HostInterfaceItem или HostnameItem.
Этот параметр поддерживается с версии 4.4.2 и заменяет LogRemoteCommands.
PluginSocket нет /tmp/agent.plugin.sock Путь к файлу Unix сокета для коммуникаций с подгружаемыми плагинами.
PluginTimeout нет 1-30 Глобальный тайм-аут Тайм-аут для соединений с подгружаемыми плагинами.
RefreshActiveChecks нет 60-3600 120 Как часто обновлять список активных проверок, в секундах.
Обратите внимание, что после неуспешного обновления активных проверок, следующая попытка будет предпринята через 60 секунд.
Server да Список (через запятую) IP адресов, опционально в CIDR нотации, или имён хостов Zabbix серверов и Zabbix прокси.
Входящие соединения будут приниматься только с хостов, указанных в этом списке.
Если включена поддержка IPv6, то '127.0.0.1', '::ffff:127.0.0.1' обрабатываются одинаково, а '::/0' разрешает все IPv4 и IPv6 адреса.
'0.0.0.0/0' можно использовать, чтобы разрешить любой IPv4 адрес.
Пример: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
Пробелы разрешены.
ServerActive нет Адрес Zabbix сервера/прокси или конфигурация кластера для получения активных проверок.
Адрес Zabbix сервера/прокси - это IP адрес или DNS имя и опционально порт, разделённые двоеточием.
Конфигурация кластера - один или более адресов серверов, разделённые символом «точка с запятой».
Можно указать несколько серверов/кластеров/прокси Zabbix, разделяя их запятой.
От каждого сервера/кластера Zabbix должно быть указано не более одного Zabbix прокси.
Если указан Zabbix прокси, то сервер/кластер Zabbix для этого прокси не должны быть указаны.
Несколько адресов через запятую можно указать для использования нескольких независимых серверов Zabbix параллельно. Пробелы разрешены.
Если порт не указан, используется порт по умолчанию.
Адреса IPv6 должны быть заключены в квадратные скобки, если для этого хоста указан порт.
Если порт не указан, квадратные скобки для адресов IPv6 опциональны.
Если этот параметр не указан, активные проверки отключены.
Пример для Zabbix прокси:
ServerActive=127.0.0.1:10051
Пример для нескольких серверов:
ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
Пример для кластера высокой доступности:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051;zabbix.cluster.node3
Пример для конфигурации высокой доступности с двумя кластерами и одним сервером:
ServerActive=zabbix.cluster.node1;zabbix.cluster.node2:20051,zabbix.cluster2.node1;zabbix.cluster2.node2,zabbix.domain
SourceIP нет Локальный IP адрес для:
- исходящих подключений к Zabbix серверу или прокси;
- создания подключений при выполнении некоторых элементов данных (web.page.get, net.tcp.port и т.п.)
StatusPort нет 1024-32767 Если задан, агент будет слушать указанный порт для HTTP запросов состояния (http://localhost:<порт>/status).
Timeout нет 1-30 3 Тратить не более Timeout секунд при обработке.
TLSAccept да, если заданы TLS сертификат или параметры PSK (даже при незашифрованном соединении), в противном случае - нет Какие входящие подключения принимать. Используется для пассивных проверок. Можно указывать несколько значений через запятую:
unencrypted - принимать подключения без шифрования (по умолчанию)
psk - принимать подключения с TLS и общим ключом (pre-shared key, PSK)
cert - принимать подключения с TLS и сертификатом
TLSCAFile нет Абсолютный путь к файлу, который содержит сертификаты удостоверяющих центров (certificate authority, CA) верхнего уровня для проверки сертификата узла, используется для зашифрованных соединений между компонентами Zabbix.
TLSCertFile нет Абсолютный путь к файлу, который содержит сертификат агента или цепочку сертификатов, используется для зашифрованных соединений между компонентами Zabbix.
TLSConnect да, если заданы TLS сертификат или параметры PSK (даже при незашифрованном соединении), в противном случае - нет Как агент должен подключаться к Zabbix серверу или прокси. Используется для активных проверок. Можно указать только одно значение:
unencrypted - подключаться без шифрования (по умолчанию)
psk - подключаться, используя TLS и общий ключ (pre-shared key, PSK)
cert - подключаться, используя TLS и сертификат
TLSCRLFile нет Абсолютный путь к файлу, содержащему отозванные сертификаты. Этот параметр используется для зашифрованных коммуникаций между компонентами Zabbix.
TLSKeyFile нет Абсолютный путь к файлу, содержащему закрытый ключ агента (private key), используется для зашифрованных коммуникаций между компонентами Zabbix.
TLSPSKFile нет Абсолютный путь к файлу, содержащему общий ключ (pre-shared key) агента. Используется для зашифрованных коммуникаций с сервером Zabbix.
TLSPSKIdentity нет Строка идентификатора PSK, используется для зашифрованных соединений с Zabbix сервером.
TLSServerCertIssuer нет Разрешённый эмитент сертификата сервера (прокси).
TLSServerCertSubject нет Разрешённый субъект сертификата сервера (прокси).
UnsafeUserParameters нет 0,1 0 Разрешить передавать аргументами в пользовательские параметры все символы.
Не разрешены следующие символы:
\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
Кроме того, не разрешены символы новой строки.
UserParameter нет Пользовательский параметр для мониторинга. Можно указать несколько пользовательских параметров.
Формат: UserParameter=<ключ>,<shell команда>
Обратите внимание, что команда не должна возвращать только пустую строку или EOL.
Команды оболочки могут иметь относительные пути, если указан параметр UserParameterDir.
Примеры:
UserParameter=system.test,who|wc -l
UserParameter=check_cpu,./custom_script.sh
UserParameterDir нет Путь поиска по умолчанию для команд UserParameter. Если используется, агент перед выполнением команды сменит свою рабочую директорию на указанную здесь. Тем самым, команды UserParameter могут иметь относительный префикс ./ вместо полного пути.
Допустимо только одно значение.
Пример: UserParameterDir=/opt/myscripts