3 Zabbix агент (UNIX)

Обзор

В этом разделе перечислены параметры, поддерживаемые в файле конфигурации агента Zabbix (zabbix_agentd.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.
Смотрите также: Ограничение проверок агента.
AllowRoot нет 0 Разрешение агенту запускаться под 'root'. Если отключено, а агент запускается из-под 'root', агент вместо этого будет пытаться переключиться на пользователя 'zabbix'. Игнорируется, если агент запускается под обычным пользователем.
0 - не разрешено
1 - разрешено
BufferSend нет 1-3600 5 Не хранить данные в буфере дольше N секунд.
BufferSize нет 2-65535 100 Максимальное количество значений в буфере памяти. При заполнении буфера агент будет отправлять все собранные данные Zabbix серверу или прокси.
DebugLevel нет 0-5 3 Задаёт уровень журналирования:
0 - основная информация о запуске и остановке процессов Zabbix
1 - критичная информация
2 - информация об ошибках
3 - предупреждения
4 - для отладки (записывается очень много информации)
5 - расширенная отладка (записывается ещё больше информации)
DenyKey нет Запрет выполнения тех ключей элементов данных, которые соответствуют шаблону. Шаблон ключа - это выражение с подстановочным знаком, которое поддерживает символ «*» для соответствия с любым количеством любых символов.
Можно задать несколько правил соответствия ключей в сочетании с AllowKey. Параметры обрабатываются по очереди в соответствии с порядком их появления.
Этот параметр поддерживается с версии Zabbix 5.0.0.
Смотрите также: Ограничение проверок агента.
EnableRemoteCommands нет 0 Разрешены ли удалённые команды с Zabbix сервера. Этот параметр устарел, используйте вместо него AllowKey=system.run[*] или DenyKey=system.run[*].
Это внутренний алиас для параметров AllowKey/DenyKey, зависящий от значения:
0 - DenyKey=system.run[*]
1 - AllowKey=system.run[*]
HostInterface нет 0-255 символов Опциональный параметр, который задаёт интерфейс узла сети.
Интерфейс узла сети используется в процессе авторегистрации узла сети.
Агент выдаст ошибку и не запустится, если значение превышает ограничение в 255 символов.
Если не задано, значение будет получено из HostInterfaceItem.
Этот параметр поддерживается с версии Zabbix 4.4.0.
HostInterfaceItem нет Опциональный параметр, который задаёт элемент данных, используемый для получения интерфейса узла сети.
Интерфейс узла сети используется в процессе авторегистрации узла сети.
Во время запроса на авторегистрацию агент будет выводить в журнал предупреждение, если значение, возвращаемое указанным элементом данных, превышает ограничение в 255 символов.
Элемент данных system.run[] поддерживается независимо от значений параметров AllowKey/DenyKey.
Данный параметр используется только когда HostInterface не определён.
Этот параметр поддерживается с версии Zabbix 4.4.0.
HostMetadata нет 0-255 символов Опциональный параметр, который задаёт метаданные узла сети. Метаданные узла сети используются только в процессе автоматической регистрации узлов сети (активный агент).
Если не определено, то значение берётся от HostMetadataItem.
Агент выдаст ошибку и не запустится, если указанное значение превышает ограничение длины строки или не является UTF-8 строкой.
HostMetadataItem нет Опциональный параметр, который задаёт элемент данных Zabbix агента, используемый для получения метаданных узла сети. Этот параметр используется, только если HostMetadata не определён.
Поддерживаются UserParameters и алиасы. Поддерживается system.run[] независимо от значений AllowKey/DenyKey.
Значение HostMetadataItem извлекается на каждую попытку авторегистрации и используется только в процессе автоматической регистрации узлов сети (активный агент).
При запросе на авторегистрацию агент запишет в журнал предупреждение, если полученное от указанного элемента данных значение превышает ограничение в 255 символов.
Значение, возвращаемое указанным элементом данных, должно являться UTF-8 строкой, в противном случае оно будет игнорироваться.
Hostname нет Задаётся параметром HostnameItem Список (через запятую) уникальных, регистрозависимых имён узла сети.
Требуется для активных проверок и должно совпадать с именами узла сети, указанными на сервере. Если не задано, значение будет браться из HostnameItem.
Допустимые символы: буквенно-цифровые, '.', ' ', '_' и '-'.
Максимальная длина: 128 символов на имя узла сети, 2048 символов для всей строки.
HostnameItem нет system.hostname Опциональный параметр, который задаёт элемент данных Zabbix агента, используемый для получения имени узла сети. Этот параметр используется только, если Hostname не определён.
Не поддерживает UserParameters или алиасы, но поддерживает system.run[], независимо от значений AllowKey/DenyKey.
Include нет Вы можете включить в файл конфигурации отдельные файлы или все файлы из папки.
Для включения только необходимых файлов из указанной папки, поддерживается символ звёздочки для поиска совпадения по маске. Например: /absolute/path/to/config/files/*.conf.
Смотрите специальные заметки по поводу ограничений.
ListenBacklog нет 0 - INT_MAX SOMAXCONN Максимальное количество соединений в состоянии ожидания в очереди TCP.
Значение по умолчанию является зашитой в коде константой, которая зависит от системы.
Максимально поддерживаемое значение зависит от системы, слишком большие значения могут быть молча урезаны до «указанного в реализации максимума» ('implementation-specified maximum').
ListenIP нет 0.0.0.0 Список (через запятую) IP адресов, которые должен слушать агент.
Несколько IP адресов поддерживаются в версиях 1.8.3 и выше.
ListenPort нет 1024-32767 10050 Агент будет слушать этот порт для подключений с сервера.
LoadModule нет Модули, которые загружаются на агенте во время старта. Модули используются для расширения возможностей агента.
Форматы:
LoadModule=<module.so>
LoadModule=<path/module.so>
LoadModule=</abs_path/module.so>
Либо модули должны находиться в папке, указанной параметром LoadModulePath, либо путь должен быть указан перед именем модуля. Если указанный путь является абсолютным (начинается с '/'), то параметр LoadModulePath игнорируется.
Допускается добавлять несколько параметров LoadModule.
LoadModulePath нет Абсолютный путь к папке с модулями агента.
По умолчанию зависит от опций компиляции.
LogFile Да, если LogType задан как file, иначе нет. Имя файла журнала.
LogFileSize нет 0-1024 1 Максимальный размер файла журнала в МБ.
0 - отключение автоматической ротации журнала.
Примечание: Если лимит размера файла достигнут, а ротация по каким-либо причинам не удалась, существующий файл журнала усекается и начинается заново.
LogType нет file Тип вывода журнала:
file - запись журнала в файл, указанный в параметре LogFile,
system - запись журнала в syslog,
console - запись журнала в стандартный вывод.
Этот параметр поддерживается с версии Zabbix 3.0.0.
LogRemoteCommands нет 0 Включение журналирования выполняемых оболочкой команд как предупреждений.
0 - отключено
1 - включено
Команды будут записаны в журнал, только если они выполняются удалённо. Записи в журнале не создаются, если system.run[] запускается локально параметрами HostMetadataItem, HostInterfaceItem или HostnameItem.
MaxLinesPerSecond нет 1-1000 20 Максимальное количество новых строк в секунду, которые агент будет отправлять серверу или прокси при обработке активных проверок 'log' и 'eventlog'.
Указаное значение будет переопределено параметром 'maxlines', указанным в ключах элементов данных 'log' и 'eventlog'.
Обратите внимание: при поиске нужной строки в элементах данных журналов Zabbix будет обрабатывать в 10 раз больше новых строк, чем указано в параметре MaxLinesPerSecond.
PidFile нет /tmp/zabbix_agentd.pid Имя PID файла.
RefreshActiveChecks нет 60-3600 120 Как часто обновлять список активных проверок, в секундах.
Обратите внимание, что после неуспешного обновления активных проверок, следующая попытка будет предпринята через 60 секунд.
Server да, если StartAgents явно не выставлено в 0 Список (через запятую) IP адресов, опционально в CIDR нотации, или имён хостов Zabbix серверов и Zabbix прокси.
Входящие соединения будут приниматься только с хостов, указанных в этом списке.
Если включена поддержка IPv6, то '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' обрабатываются одинаково, а '::/0' разрешает все IPv4 и IPv6 адреса.
'0.0.0.0/0' можно использовать, чтобы разрешить любой IPv4 адрес.
Обратите внимание, что "IPv4-совместимые IPv6 адреса" (префикс 0000::/96) поддерживаются, но являются устаревшими согласно RFC4291 [en].
Пример: 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 и т.п.)
StartAgents нет 0-100 3 Количество экземпляров запускаемых при старте процессов zabbix_agentd, обрабатывающих пассивные проверки.
Если выставлено в 0, отключает пассивные проверки и агент не будет слушать никакие TCP порты.
Timeout нет 1-30 3 Тратить не более Timeout секунд при обработке.
TLSAccept да, если заданы TLS сертификат или параметры PSK (даже при незашифрованном соединении), в противном случае - нет Какие входящие подключения принимать. Используется для пассивных проверок. Можно указывать несколько значений через запятую:
unencrypted - принимать подключения без шифрования (по умолчанию)
psk - принимать подключения с TLS и общим ключом (pre-shared key, PSK)
cert - принимать подключения с TLS и сертификатом
Этот параметр поддерживается с версии Zabbix 3.0.0.
TLSCAFile нет Абсолютный путь к файлу, который содержит сертификаты удостоверяющих центров (certificate authority, CA) верхнего уровня для проверки сертификата узла, используется для зашифрованных соединений между компонентами Zabbix.
Этот параметр поддерживается с версии Zabbix 3.0.0.
TLSCertFile нет Абсолютный путь к файлу, который содержит сертификат агента или цепочку сертификатов, используется для зашифрованных соединений между компонентами Zabbix.
Этот параметр поддерживается с версии Zabbix 3.0.0.
TLSCipherAll нет Строка приоритетов GnuTLS или строка шифров OpenSSL (TLS 1.2). Переопределяет критерии выбора алгоритмов шифрования по умолчанию для шифрования на основе сертификатов и общего ключа (PSK).
Пример: TLS_AES_256_GCM_SHA384:TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
Этот параметр поддерживается с версии Zabbix 4.4.7.
TLSCipherAll13 нет Строка шифров для OpenSSL 1.1.1 или новее в TLS 1.3. Переопределяет критерии выбора алгоритмов шифрования по умолчанию для шифрования на основе сертификатов и общего ключа (PSK).
Пример для GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL::+SIGN-ALL:+CTYPE-X.509
Пример для OpenSSL: EECDH+aRSA+AES128:RSA+aRSA+AES128:kECDHEPSK+AES128:kPSK+AES128
Этот параметр поддерживается с версии Zabbix 4.4.7.
TLSCipherCert нет Строка приоритетов GnuTLS или строка шифров OpenSSL (TLS 1.2). Переопределяет критерии выбора алгоритмов шифрования по умолчанию для шифрования на основе сертификатов.
Пример для GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-RSA:+RSA:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL:+CTYPE-X.509
Пример для OpenSSL: EECDH+aRSA+AES128:RSA+aRSA+AES128
Этот параметр поддерживается с версии Zabbix 4.4.7.
TLSCipherCert13 нет Строка шифров для OpenSSL 1.1.1 или новее в TLS 1.3. Переопределяет критерии выбора алгоритмов шифрования по умолчанию для шифрования на основе сертификатов.
Этот параметр поддерживается с версии Zabbix 4.4.7.
TLSCipherPSK нет Строка приоритетов GnuTLS или строка шифров OpenSSL (TLS 1.2). Переопределяет критерии выбора алгоритмов шифрования по умолчанию для шифрования на основе общего ключа (PSK).
Пример для GnuTLS: NONE:+VERS-TLS1.2:+ECDHE-PSK:+PSK:+AES-128-GCM:+AES-128-CBC:+AEAD:+SHA256:+SHA1:+CURVE-ALL:+COMP-NULL:+SIGN-ALL
Пример для OpenSSL: kECDHEPSK+AES128:kPSK+AES128
Этот параметр поддерживается с версии Zabbix 4.4.7.
TLSCipherPSK13 нет Строка шифров для OpenSSL 1.1.1 или новее в TLS 1.3. Переопределяет критерии выбора алгоритмов шифрования по умолчанию для шифрования на основе общего ключа (PSK).
Пример: TLS_CHACHA20_POLY1305_SHA256:TLS_AES_128_GCM_SHA256
Этот параметр поддерживается с версии Zabbix 4.4.7.
TLSConnect да, если заданы TLS сертификат или параметры PSK (даже при незашифрованном соединении), в противном случае - нет Как агент должен подключаться к Zabbix серверу или прокси. Используется для активных проверок. Можно указать только одно значение:
unencrypted - подключаться без шифрования (по умолчанию)
psk - подключаться, используя TLS и общий ключ (pre-shared key, PSK)
cert - подключаться, используя TLS и сертификат
Этот параметр поддерживается с версии Zabbix 3.0.0.
TLSCRLFile нет Абсолютный путь к файлу, содержащему отозванные сертификаты. Этот параметр используется для зашифрованных коммуникаций между компонентами Zabbix.
Этот параметр поддерживается с версии Zabbix 3.0.0.
TLSKeyFile нет Абсолютный путь к файлу, содержащему закрытый ключ агента (private key), используется для зашифрованных коммуникаций между компонентами Zabbix.
Этот параметр поддерживается с версии Zabbix 3.0.0.
TLSPSKFile нет Абсолютный путь к файлу, содержащему общий ключ (pre-shared key) агента. Используется для зашифрованных коммуникаций с сервером Zabbix.
Этот параметр поддерживается с версии Zabbix 3.0.0.
TLSPSKIdentity нет Строка идентификатора PSK, используется для зашифрованных соединений с Zabbix сервером.
Этот параметр поддерживается с версии Zabbix 3.0.0.
TLSServerCertIssuer нет Разрешённый эмитент сертификата сервера (прокси).
Этот параметр поддерживается с версии Zabbix 3.0.0.
TLSServerCertSubject нет Разрешённый субъект сертификата сервера (прокси).
Этот параметр поддерживается с версии Zabbix 3.0.0.
UnsafeUserParameters нет 0,1 0 Разрешить передавать аргументами в пользовательские параметры все символы.
0 - не разрешать
1 - разрешить
Не разрешены следующие символы:
\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
Кроме того, не разрешены символы новой строки.
User нет zabbix Использование привилегий указанного, существующего пользователя системы.
Имеет эффект только если запускается под 'root' и AllowRoot отключён.
UserParameter нет Пользовательский параметр для мониторинга. Можно указать несколько пользовательских параметров.
Формат: UserParameter=<ключ>,<shell команда>
Обратите внимание, что команда не должна возвращать только пустую строку или EOL.
Команды оболочки могут иметь относительные пути, если указан параметр UserParameterDir.
Примеры:
UserParameter=system.test,who|wc -l
UserParameter=check_cpu,./custom_script.sh
UserParameterDir нет Путь поиска по умолчанию для команд UserParameter. Если используется, агент перед выполнением команды сменит свою рабочую директорию на указанную здесь. Тем самым, команды UserParameter могут иметь относительный префикс ./ вместо полного пути.
Допустимо только одно значение.
Пример: UserParameterDir=/opt/myscripts

Смотрите также

  1. Различия в конфигурациях Zabbix агента для активных и пассивных проверок, начиная с версии 2.0.0 [en]