Table of Contents

4 Zabbix агент 2 (UNIX)

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

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

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

Поддерживаемые параметры в файле конфигурации Zabbix агента 2 (zabbix_agent2):

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

Примеры:

1. Получение ID пользователя '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 Не хранить данные в буфере дольше N секунд.
BufferSize нет 2-65535 100 Максимальное количество значений в буфере памяти. Агент будет отправлять
все собранные данные Zabbix серверу или прокси при заполнении буфера.
Обратите внимание, что если буфер заполнен, данные будут отправлены раньше.
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 - включено
Если постоянное хранилище отключено, будет использован буфер памяти.
HostInterface нет 0-255 символов Необязательный параметр, определяющий интерфейс узла сети.
Интерфейс хоста используется в процессе автоматической регистрации узла сети.
Агент выдаст ошибку и не запустится, если значение превышает ограничение в 255 символов.
Если значение не определено, значение будет получено от HostInterfaceItem.
Поддерживается, начиная с Zabbix 4.4.0.
HostInterfaceItem нет Необязательный параметр, который определяет элемент данных, используемый для получения интерфейса узла сети.
Интерфейс узла сети используется в процессе автоматической регистрации узла сети.
Во время запроса на автоматическую регистрацию агент регистрирует предупреждающее сообщение, если значение, возвращаемое указанным элементом данных, превышает ограничение в 255 символов.
Эта опция используется только когда HostInterface не определен.
Поддерживается, начиная с Zabbix 4.4.0.
HostMetadata нет 0-255 символов Опциональный параметр, который задает метаданные узла сети. Метаданные узла сети используются только в процессе автоматической регистрации узлов сети (активный агент).
Агент выдаст ошибку и не запустится, если указанное значение выходит за лимит длины строки или не является UTF-8 строкой.
Если не определено, то значение берётся от HostMetadataItem.
HostMetadataItem нет Опциональный параметр, который задает элемент данных, чтобы затем использовать его для получения метаданных узла сети.
В процессе запроса авторегистрации агент запишет в журнал предупреждающее сообщение, если полученное значение от указанного элемента данных выходит за лимит в 255 символов.
Этот параметр используется только, если HostMetadata не определен.
Поддерживаются UserParameters и алиасы. Поддерживается system.run[] независимо от значения EnableRemoteCommands.
Значение полученное от указанного элемента данных должно являться UTF-8 строкой, в противном случае оно будет игнорироваться.
Hostname нет Задается HostnameItem'ом Уникальное, регистрозависимое имя хоста.
Требуется для активных проверок и должно совпадать с именем узла сети указанном на сервере.
Допустимые символы: буквенно-цифровые, '.', ' ', '_' и '-'.
Максимальная длина: 128
HostnameItem нет system.hostname Элемент данных, который используется для формирования Hostname, если этот параметр не указан. Игнорируется, если задан параметр Hostname.
Не поддерживает UserParameters, счетчики производительности и алиасы, но поддерживает system.run[], независимо от значения EnableRemoteCommands.
Include нет Вы можете включить отдельные файлы или все файлы из папки с файлом конфигурации.
В процессе инсталляции Zabbix будет создана директория для включения файлов в /usr/local/etc, независимо от того изменена она или нет в процессе компиляции.
Для включения только необходимых файлов из указанной папки, поддерживается символ звездочки для поиска совпадения по маске. Например: /абсолютный/путь/к/файлам/конфигурации/*.conf.
Смотрите специальные заметки по поводу ограничений.
ListenIP нет 0.0.0.0 Список IP адресов разделенных запятыми, которые должен слушать агент.
Первый IP адрес отправляется на Zabbix сервер, если удается подключиться к нему, тогда происходит получение списка активных проверок.
ListenPort нет 1024-32767 10050 Агент будет слушать этот порт для подключений с сервера.
LogFile Да, если LogType задан как file, иначе
нет.
/tmp/zabbix_agentd.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 файла.
Plugins нет Плагины могут иметь один и более специфичных параметров конфигурации в формате:
Plugins.<ИмяПлагина>.<Параметр1>=<значение1>
Plugins.<ИмяПлагина>.<Параметр2>=<значение2>
Plugins.<PluginName>.KeepAlive нет 60-900 300 Максимальное время ожидания (в секундах) до закрытия неиспользуемых подключаемых модулей.
Пример: Plugins.Memcached.KeepAlive=200
Поддерживается для следующих плагинов: Memcached, MySQL, Redis, PostgreSQL.
Plugins.<PluginName>.Sessions.<sessionName>.<sessionParameter> нет Параметры именованых сессий.
<sessionName> - имя объекта мониторинга.
<sessionParameter> - название параметра (допустимые: Uri, Username, Password).
Пример: Plugins.Memcached.Sessions.Memcached1.Uri=tcp://localhost:11211
Plugins.Memcached.Sessions.Memcached1.Username=boss
Plugins.Memcached.Sessions.Memcached1.Password=secret
Plugins.Memcached.Sessions.Memcached2.Uri=tcp://localhost:11212 \\Поддерживается для плагинов: Memcached, MySQL, Redis, PostgreSQL.
Plugins.<PluginName>.Timeout нет 1-30 Глобальный таймаут Максимальное время ожидания (в секундах) для завершения запроса плагина.
\Поддерживается для плагинов: Memcached, MySQL, Redis, Docker, PostgreSQL.
Plugins.Docker.Entrypoint нет unix:///var/run/docker.sock Расположение unix-сокета демона Docker.
Должна содержать схему (поддерживается только unix://).
Plugins.Log.MaxLinesPerSecond нет 1-1000 20 Максимальное количество новых строк, которые агент будет отправлять в секунду на Zabbix сервер или прокси при обработке активных проверок 'log' и 'eventlog'.
Предоставленное значение будет переопределено параметром 'maxlines',
предоставленным в ключе элемента 'log' или 'eventlog'.
Обратите внимание: Zabbix обработает в 10 раз больше новых строк, чем установлено в MaxLinesPerSecond в процессе поиска нужной строки в элементах журнала.
Этот параметр поддерживается начиная с 4.4.2 и заменяет MaxLinesPerSecond.
Plugins.Postgres.Database нет postgres Имя базы данных, которое будет использоваться для PostgreSQL.
Plugins.Postgres.Host нет localhost IP адрес или DNS имя узла сети, используемого для PostgreSQL.
Примеры: localhost, 192.168.1.1
Plugins.Postgres.Port нет 5432 Порт, который будет использоваться для PostgreSQL.
Plugins.SystemRun.EnableRemoteCommands нет 0 Разрешены ли удаленные команды с Zabbix сервера.
0 - не разрешены
1 - разрешены
Этот параметр поддерживается начиная с 4.4.2 и заменяет EnableRemoteCommands.
Этот параметр не поддерживается начиная с 5.0.2, вместо этого используйте параметры AllowKey / DenyKey.
Plugins.SystemRun.LogRemoteCommands нет 0 Включение журналирования выполняемых shell команд как предупреждений.
0 - отключено
1 - включено
Этот параметр поддерживается начиная с 4.4.2 и заменяет LogRemoteCommands.
Plugins.Log.MaxLinesPerSecond нет 1-1000 20 Максимальное количество новых строк в секунду, которые агент будет отправлять Zabbix серверу или прокси при обработке активных проверок 'log' и 'eventlog'.
Указаное значение будет перезаписано параметром 'maxlines',
указанное в ключах элементов данных 'log' и 'eventlog'.
Обратите внимание: Zabbix будет обрабатывать в 10 раз больше новых строк, чем указано в MaxLinesPerSecond при поиске требуемой строки в элементах данных журналов.
Этот параметр поддерживается начиная с 4.4.2 и заменяет MaxLinesPerSecond.
RefreshActiveChecks нет 60-3600 120 Как часто обновлять список активных проверок, в секундах.
Обратите внимание, что после неуспешного обновления активных проверок, следующая попытка будет предпринята через 60 секунд.
Server да Список разделенных запятой 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 prefix) поддерживаются, но являются устаревшими согласно RFC4291 [en].
Пример: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.domain
Пробелы допускаются.
ServerActive нет Список пар IP:порт (или имя хоста:порт) Zabbix серверов или Zabbix прокси для активных проверок.
Можно указывать несколько адресов разделенных запятыми, чтобы параллельно использовать несколько независимых Zabbix серверов. Пробелы допускаются.
Если порт не указан, то используется порт по умолчанию.
IPv6 адреса должны быть заключены в квадратные скобки, если для хоста указывается порт.
Если порт порт не указан, то квадратные скобки для IPv6 адресов опциональны.
Если параметр не указан, активные проверки будут отключены.
Пример: ServerActive=127.0.0.1:20051,zabbix.example.com,[::1]:30051,::1,[12fc::1]
SourceIP нет Локальный IP адрес для исходящих подключений.
StatusPort нет 1024-32767 Если задан, агент будет слушать указанный порт для HTTP запросов состояния (http://localhost:<порт>/status).
Timeout нет 1-30 3 Тратить не более Timeout секунд при обработке.
TLSAccept да, если заданы TLS сертификат или параметры PSK (даже при незашифрованном соединении), в противном случае - нет Какие принимаются входящие подключения. Используется пассивными проверками. Можно указывать несколько значений, разделенных запятой:
unencrypted - принимать подключения без шифрования (по умолчанию)
psk - принимать подключения с TLS и pre-shared ключом (PSK)
cert - принимать подключения с TLS и сертификатом
TLSCAFile нет Абсолютный путь к файлу, который содержит сертификаты верхнего уровня CA(и) для верификации сертификата узла, используется для зашифрованных соединений между Zabbix компонентами.
TLSCertFile нет Абсолютный путь к файлу, который содержит сертификат или цепочку сертификатов, используется для зашифрованных соединений между Zabbix компонентами.
TLSConnect да, если заданы TLS сертификат или параметры PSK (даже при незашифрованном соединении), в противном случае - нет Как агент должен соединяться с Zabbix сервером или прокси. Используется активными проверками. Можно указать только одно значение:
unencrypted - подключаться без шифрования (по умолчанию)
psk - подключаться, используя TLS и pre-shared ключом (PSK)
cert - подключаться, используя TLS и сертификат
TLSCRLFile нет Абсолютный путь к файлу, который содержит отозванные сертификаты. Этот параметр используется для зашифрованных соединений между Zabbix компонентами.
TLSKeyFile нет Абсолютный путь к файлу, который содержит приватный ключ агента, используется для зашифрованных соединений между Zabbix компонентами.
TLSPSKFile нет Абсолютный путь к файлу, который содержит pre-shared ключ агента, используется для зашифрованных соединений с Zabbix сервером.
TLSPSKIdentity нет Строка идентификатор pre-shared ключа, используется для зашифрованных соединений с Zabbix сервером.
TLSServerCertIssuer нет Разрешенный эмитент сертификата сервера (прокси).
TLSServerCertSubject нет Разрешенная тема сертификата сервера (прокси).
UnsafeUserParameters нет 0,1 0 Разрешить все символы, которые можно передать аргументами в пользовательские параметры.
Не разрешены следующие символы:
\ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
Кроме того, не разрешены символы новой строки.
UserParameter нет Пользовательский параметр для мониторинга. Можно указать нескольких пользовательских параметров.
Формат: UserParameter=<ключ>,<shell команда>
Обратите внимание, что команда не должна возвращать только пустую строку или только EOL.
Например: UserParameter=system.test,who|wc -l