5. Zabbix агент (Windows)

Обзор

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

Параметры перечислены без подробных сведений. Нажмите на параметр, чтобы увидеть полную информацию.

Параметр Описание
Alias Задаёт алиас для ключа элемента данных.
AllowKey Разрешение выполнения тех ключей элементов данных, которые соответствуют шаблону.
BufferSend Не хранить данные в буфере дольше N секунд.
BufferSize Максимальное количество значений в буфере памяти.
DebugLevel Уровень журналирования.
DenyKey Запрет выполнения тех ключей элементов данных, которые соответствуют шаблону.
EnableRemoteCommands Разрешены ли удалённые команды с Zabbix сервера.
HeartbeatFrequency Частота сообщений heartbeat, в секундах.
HostInterface Опциональный параметр, который задаёт интерфейс узла сети.
HostInterfaceItem Опциональный параметр, который задаёт элемент данных, используемый для получения интерфейса узла сети.
HostMetadata Опциональный параметр, который задаёт метаданные узла сети.
HostMetadataItem Опциональный параметр, который задаёт элемент данных Zabbix агента, используемый для получения метаданных узла сети.
Hostname Опциональный параметр, который задаёт имя узла сети.
HostnameItem Опциональный параметр, который задаёт элемент данных Zabbix агента, используемый для получения имени узла сети.
Include Возможность включить в файл конфигурации отдельные файлы или все файлы из папки.
ListenBacklog Максимальное количество соединений в состоянии ожидания в очереди TCP.
ListenIP Список (через запятую) IP адресов, которые должен слушать агент.
ListenPort Агент будет слушать этот порт для подключений с сервера.
LogFile Имя файла журнала.
LogFileSize Максимальный размер файла журнала.
LogRemoteCommands Включение журналирования выполняемых оболочкой команд как предупреждений.
LogType Тип вывода журнала.
MaxLinesPerSecond Максимальное количество новых строк в секунду, которые агент будет отправлять серверу или прокси при обработке активных проверок «log» и «logrt».
PerfCounter Определяет новый параметр <имя_параметра>, который является усреднённым значением системного счётчика производительности <путь_к_счётчику_производительности> за указанный период времени <период> (в секундах).
PerfCounterEn Определяет новый параметр <имя_параметра>, который является усреднённым значением системного счётчика производительности <путь_к_счётчику_производительности> за указанный период времени <период> (в секундах). По сравнению с PerfCounter, пути к счётчику производительности должны быть записаны по-английски.
RefreshActiveChecks Как часто обновлять список активных проверок.
Server Список (через запятую) IP адресов, опционально в CIDR нотации, или DNS имён хостов Zabbix серверов и Zabbix прокси.
ServerActive Адрес Zabbix сервера/прокси или конфигурация кластера для получения активных проверок.
SourceIP Локальный IP адрес для исходящих подключений.
StartAgents Количество экземпляров запускаемых при старте процессов zabbix_agentd, обрабатывающих пассивные проверки.
Timeout Указывает, как долго (в секундах) следует ожидать установления соединения и обмена данными с Zabbix прокси или сервером.
TLSAccept Какие входящие подключения принимать.
TLSCAFile Абсолютный путь к файлу, который содержит сертификаты удостоверяющих центров (certificate authority, CA) верхнего уровня для проверки сертификата узла, используется для зашифрованных соединений между компонентами Zabbix.
TLSCertFile Абсолютный путь к файлу, который содержит сертификат агента или цепочку сертификатов, используется для зашифрованных соединений между компонентами Zabbix.
TLSConnect Как агент должен подключаться к Zabbix серверу или прокси.
TLSCRLFile Абсолютный путь к файлу, содержащему отозванные сертификаты. Этот параметр используется для зашифрованных коммуникаций между компонентами Zabbix.
TLSKeyFile Абсолютный путь к файлу, содержащему закрытый ключ агента (private key), используется для зашифрованных коммуникаций между компонентами Zabbix.
TLSPSKFile Абсолютный путь к файлу, содержащему общий ключ (pre-shared key) агента. Используется для зашифрованных коммуникаций с сервером Zabbix.
TLSPSKIdentity Строка идентификатора PSK, используется для зашифрованных соединений с Zabbix сервером.
TLSServerCertIssuer Разрешённый эмитент сертификата сервера (прокси).
TLSServerCertSubject Разрешённый субъект сертификата сервера (прокси).
UnsafeUserParameters Разрешение передавать аргументами в пользовательские параметры все символы.
UserParameter Пользовательский параметр для мониторинга.
UserParameterDir Путь поиска по умолчанию для команд UserParameter.

Все параметры являются необязательными, если явно не оговорено, что параметр обязателен.

Обратите внимание:

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

Подробности параметра

Alias

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

Пример 1: Получение с сервера утилизации файла подкачки в процентах.

Alias=pg_usage:perf_counter[\Paging File(_Total)\% Usage]

Теперь для получения данных можно использовать сокращённый ключ pg_usage.

Пример 2: Получение утилизации CPU с параметрами по умолчанию и с пользовательскими параметрами.

Alias=cpu.load:system.cpu.load
       Alias=cpu.load[*]:system.cpu.load[*]

Такая запись позволяет использовать ключ cpu.load для получения утилизации CPU в процентах с параметрами по умолчанию, а также использовать cpu.load[percpu,avg15] для получения конкретных данных об утилизации CPU.

Пример 3: Выполнение нескольких правил низкоуровневого обнаружения, которые обрабатывают одни и те же элементы данных обнаружения.

Alias=vfs.fs.discovery[*]:vfs.fs.discovery

Теперь имеется возможность настроить несколько правил обнаружения, используя vfs.fs.discovery с разными параметрами для каждого правила, например, vfs.fs.discovery[foo], vfs.fs.discovery[bar] и т.д.

AllowKey

Разрешение выполнения тех ключей элементов данных, которые соответствуют шаблону. Шаблон ключа — это выражение с подстановочным знаком, которое поддерживает символ «*» для соответствия с любым количеством любых символов.
Можно задать несколько правил соответствия ключей в сочетании с DenyKey. Параметры обрабатываются по очереди в соответствии с порядком их появления. Смотрите также: Ограничение проверок агента.

BufferSend

Не хранить данные в буфере дольше N секунд.

По умолчанию: 5
Диапазон: 1-3600

BufferSize

Максимальное количество значений в буфере памяти. При заполнении буфера агент будет отправлять все собранные данные Zabbix серверу или прокси.

По умолчанию: 100
Диапазон: 2-65535

DebugLevel

Укажите уровень отладки:
0 — основная информация о запуске и остановке процессов Zabbix
1 — критическая информация;
2 — информация об ошибках;
3 — предупреждения;
4 — для отладки (выдает много информации);
5 — расширенная отладка (выдает еще больше информации).

По умолчанию: 3
Диапазон: 0-5

DenyKey

Запрет выполнения тех ключей элементов данных, которые соответствуют шаблону. Шаблон ключа — это выражение с подстановочным знаком, которое поддерживает символ «*» для соответствия с любым количеством любых символов.
Можно задать несколько правил соответствия ключей в сочетании с AllowKey. Параметры обрабатываются по очереди в соответствии с порядком их появления. Смотрите также: Ограничение проверок агента.

EnableRemoteCommands

Разрешены ли удалённые команды с Zabbix сервера. Этот параметр устарел, используйте вместо него AllowKey=system.run[*] или DenyKey=system.run[*].
Это внутренний алиас для параметров AllowKey/DenyKey, зависящий от значения:
0 — DenyKey=system.run[*]
1 — AllowKey=system.run[*]

По умолчанию: 0
Значения: 0 — не разрешены; 1 — разрешены

HeartbeatFrequency

Частота контрольных сообщений (heartbeat) в секундах. Используется для контроля доступности активных проверок.
0 — контрольные сообщения отключены.

По умолчанию: 60
Диапазон: 0-3600

HostInterface

Опциональный параметр, который задаёт интерфейс узла сети. Интерфейс узла сети используется в процессе авторегистрации узла сети. Если не задано, значение будет получено из HostInterfaceItem.
Агент выдаст ошибку и не запустится, если значение превышает ограничение в 255 символов.

Диапазон: 0–255 символов.

HostInterfaceItem

Опциональный параметр, который задаёт элемент данных, используемый для получения интерфейса узла сети.
Интерфейс узла сети используется в процессе авторегистрации узла сети.
Во время запроса на авторегистрацию агент будет выводить в журнал предупреждение, если значение, возвращаемое указанным элементом данных, превышает ограничение в 255 символов.
Элемент данных system.run[] поддерживается независимо от значений параметров AllowKey/DenyKey.
Данный параметр используется, только когда HostInterface не определён.

HostMetadata

Опциональный параметр, который задаёт метаданные узла сети. Метаданные узла сети используются только в процессе автоматической регистрации узлов сети (активный агент). Если не определено, то значение берётся от HostMetadataItem.
Агент выдаст ошибку и не запустится, если указанное значение превышает ограничение 2034 байта или не является UTF-8 строкой.

Диапазон: 0–2034 байта.

HostMetadataItem

Опциональный параметр, который задаёт элемент данных Zabbix агента, используемый для получения метаданных узла сети. Этот параметр используется, только если HostMetadata не определён. Поддерживаются UserParameters, счётчики производительности (performance counters) и алиасы. Элемент данных system.run[] поддерживается независимо от значений параметров AllowKey/DenyKey.
Значение HostMetadataItem извлекается на каждую попытку авторегистрации и используется только в процессе автоматической регистрации узлов сети (активный агент).
При запросе на авторегистрацию агент запишет в журнал предупреждение, если полученное от указанного элемента данных значение превышает ограничение в 65535 кодовых позиций (code points) UTF-8. Значение, возвращаемое указанным элементом данных, должно являться UTF-8 строкой, в противном случае оно будет игнорироваться.

Hostname

Список (через запятую) уникальных, регистрозависимых имён узла сети. Требуется для активных проверок и должно совпадать с именами узла сети, указанными на сервере. Если не задано, значение будет браться из HostnameItem.
Допустимые символы: алфавитно-цифровые, «.», « », «_» и «-». Максимальная длина: 128 символов на имя узла сети, 2048 символов для всей строки.

По умолчанию: Задаётся параметром HostnameItem

HostnameItem

Опциональный параметр, который задаёт элемент данных Zabbix агента, используемый для получения имени узла сети. Этот параметр используется, только если Hostname не определён. Не поддерживает UserParameters, счётчики производительности (performance counters) или алиасы, но поддерживает system.run[], независимо от значений AllowKey/DenyKey.
Смотрите также более подробное описание.

По умолчанию: system.hostname

Include

Вы можете включить отдельные файлы или все файлы в каталоге в файл конфигурации (расположен по умолчанию в папке C:\Program Files\Zabbix Agent , если Zabbix агент устанавливается с использованием установщика пакетов Windows MSI; расположен в папке, указанной во время установки, если Zabbix агент устанавливается как zip-архив). Все включаемые файлы должны иметь корректный синтаксис, в противном случае агент не запустится.
Для включения только необходимых файлов из указанной папки, поддерживается символ звёздочки для поиска совпадения по маске.
Смотрите специальные заметки по поводу ограничений.

Пример:

Include=C:\Program Files\Zabbix Agent\zabbix_agentd.d\*.conf
ListenBacklog

Максимальное количество соединений в состоянии ожидания в очереди TCP.
Значение по умолчанию является зашитой в коде константой, которая зависит от системы.
Максимально поддерживаемое значение зависит от системы, слишком большие значения могу быть молча урезаны до «указанного в реализации максимума» ('implementation-specified maximum').

По умолчанию: SOMAXCONN
Диапазон: 0 – INT_MAX

ListenIP

Список (через запятую) IP адресов, которые должен слушать агент.

По умолчанию: 0.0.0.0

ListenPort

Агент будет слушать этот порт на предмет подключений с сервера.

По умолчанию: 10050
Диапазон: 1024-32767

LogFile

Имя файла журнала агента.

По умолчанию: C:\\zabbix_agentd.log
Обязательное: Да, если для LogType задан как file; иначе — нет

LogFileSize

Максимальный размер файла журнала в МБ.
0 — отключение автоматической ротации журнала.
Примечание: Если лимит размера файла достигнут, а ротация по каким-либо причинам не удалась, существующий файл журнала усекается и начинается заново.

По умолчанию: 1
Диапазон: 0-1024

LogRemoteCommands

Разрешение журналировать выполняемые команды оболочки как предупреждения. Команды будут записаны в журнал, только если они выполняются удалённо. Записи в журнале не создаются, если system.run[] запускается локально параметрами HostMetadataItem, HostInterfaceItem или HostnameItem.

По умолчанию: 0
Значения: 0 — запрещено, 1 — разрешено

LogType

Тип вывода журнала:
file — запись журнала в файл, указанный в параметре LogFile;
system — запись в журнал событий Windows;
console — вывод журнала в стандартный вывод.

По умолчанию: file

MaxLinesPerSecond

Максимальное количество новых строк в секунду, которые агент будет отправлять Zabbix серверу или прокси при обработке активных проверок «log», «logrt» и «eventlog». Указаное значение будет переопределено параметром «maxlines», указанным в ключах элементов данных «log», «logrt» и «eventlog».
Примечание: при поиске нужной строки в элементах данных журналов Zabbix будет обрабатывать в 10 раз больше новых строк, чем указано в параметре MaxLinesPerSecond.

По умолчанию: 20
Диапазон: 1-1000

PerfCounter

Определяет новый параметр <имя_параметра>, который который является усреднённым значением системного счётчика производительности <путь_к_счётчику_производительности> за указанный период времени <период> (в секундах).
Синтаксис: <имя_параметра>,"<путь_к_счётчику_производительности>",<период>

Например, если хотите получать среднее количество прерываний процессора в секунду за последнюю минуту, вы можете задать новый параметр «interrupts» следующим образом:

PerfCounter = interrupts,"\Processor(0)\Interrupts/sec",60

Пожалуйста, обратите внимание на двойные кавычки вокруг пути счётчика производительности. Имя параметра (interrupts) используется как ключ элемента данных при создании элемента данных. Выборки для вычисления среднего значения будут браться каждую секунду.
Вы можете выполнить «typeperf -qx», чтобы получить список всех счётчиков производительности, доступных в Windows.

PerfCounterEn

Определяет новый параметр <имя_параметра>, который является усреднённым значением системного счётчика производительности <путь_к_счётчику_производительности> за указанный период времени <период> (в секундах). По сравнению с PerfCounter, пути к счётчику производительности должны быть записаны по-английски. Поддерживается только на Windows Server 2008/Vista и выше.
Синтаксис: <имя_параметра>,"<путь_к_счётчику_производительности>",<период>

Например, если хотите получать среднее количество прерываний процессора в секунду за последнюю минуту, вы можете задать новый параметр «interrupts» следующим образом:

PerfCounterEn = interrupts,"\Processor(0)\Interrupts/sec",60

Пожалуйста, обратите внимание на двойные кавычки вокруг пути счётчика производительности. Имя параметра (interrupts) используется как ключ элемента данных при создании элемента данных. Выборки для расчёта среднего значения будут браться каждую секунду.
Вы можете найти список английских строк путём просмотра следующего ключа реестра: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Perflib\009.

RefreshActiveChecks

Как часто обновлять список активных проверок, в секундах. Обратите внимание, что после неуспешного обновления активных проверок, следующая попытка будет предпринята через 60 секунд.

По умолчанию: 5
Диапазон: 1-86400

Server

Список (через запятую) IP адресов, опционально в CIDR нотации, или DNS имён хостов 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]] (https://tools.ietf.org/html/rfc4291#section-2.5.5). Пробелы разрешены.

Пример:

Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com

Обязательное: да, если для StartAgents явно не установлено значение 0.

ServerActive

Адрес 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

Количество экземпляров запускаемых при старте процессов zabbix_agentd, обрабатывающих пассивные проверки. Если выставлено в 0, отключает пассивные проверки и агент не будет слушать никакие TCP порты.

По умолчанию: 10
Диапазон: 0–100 (*)

Timeout

Указывает, как долго (в секундах) следует ожидать установления соединения и обмена данными с Zabbix сервером или прокси.
Этот параметр определяет продолжительность различных операций:

  • ожидание ответа от Zabbix сервера;
  • отправку запросов на Zabbix сервер, в том числе запросы конфигурации активных проверок и значения элементов данных;
  • получение данных журнала посредством мониторинга файла журнала или журнала событий Windows;
  • отправка сообщений heartbeat;
  • максимальная длительность для проверок vfs.;
  • используется модулями агента Zabbix;
  • также используется в качестве запасного варианта в сценариях, где сервер или прокси версии старше 7.0 отправляет проверки без тайм-аутов.

По умолчанию: 3
Диапазон: 1-30

TLSAccept

Какие входящие соединения принимать. Используется для пассивных проверок. Можно указать несколько значений через запятую:
unencrypted — принимать соединения без шифрования (по умолчанию)
psk — принимать подключения с TLS и общим ключом (pre-shared key, PSK)
cert — принимать подключения с TLS и сертификатом

Обязательное: да, если заданы TLS сертификат или параметры PSK (даже для незашифрованных подключений), в противном случае — нет

TLSCAFile

Абсолютный путь к файлу, который содержит сертификаты удостоверяющих центров (certificate authority, CA) верхнего уровня для проверки сертификата узла, используется для зашифрованных соединений между компонентами Zabbix.

TLSCertFile

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

TLSConnect

Как агент должен подключаться к Zabbix серверу или прокси. Используется для активных проверок. Можно указать только одно значение:
unencrypted — подключаться без шифрования (по умолчанию)
psk — подключаться, используя TLS и общий ключ (pre-shared key, PSK)
cert — подключаться, используя TLS и сертификат

Обязательное: да, если заданы TLS сертификат или параметры PSK (даже при незашифрованном соединении), в противном случае — нет

TLSCRLFile

Абсолютный путь к файлу, содержащему отозванные сертификаты. Этот параметр используется для зашифрованных коммуникаций между компонентами Zabbix.

TLSKeyFile

Абсолютный путь к файлу, содержащему закрытый ключ агента (private key), используется для зашифрованных коммуникаций между компонентами Zabbix.

TLSPSKFile

Абсолютный путь к файлу, содержащему общий ключ (pre-shared key) агента. Используется для зашифрованных коммуникаций с сервером Zabbix.

TLSPSKIdentity

Строка идентификатора PSK, используется для зашифрованных соединений с Zabbix сервером.

TLSServerCertIssuer

Разрешённый эмитент сертификата сервера (прокси).

TLSServerCertSubject

Разрешённый субъект сертификата сервера (прокси).

UnsafeUserParameters

Разрешить передавать аргументами в пользовательские параметры все символы. Не разрешены следующие символы: \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
Кроме того, не разрешены символы новой строки.

По умолчанию: 0
Значения: 0 — не разрешать, 1 — разрешить

UserParameter

Пользовательский параметр для мониторинга. Можно указать несколько пользовательских параметров.
Формат: UserParameter=<ключ>,<команда оболочки>
Обратите внимание, что команда не должна возвращать только пустую строку или EOL. Команды оболочки могут иметь относительные пути, если указан параметр UserParameterDir.

Пример:

UserParameter=system.test,dir /b | find /c /v ""
       UserParameter=check_cpu,.\custom\_script.bat
UserParameterDir

Путь поиска по умолчанию для команд UserParameter. Если используется, агент перед выполнением команды сменит свою рабочую директорию на указанную здесь. Таким образом, команды UserParameter могут иметь относительный префикс ./ вместо полного пути. Допустимо только одно значение.

Пример:

UserParameterDir=C:\opt\myscripts

(*) Количество активных серверов, перечисленных в параметре ServerActive, плюс количество запускаемых при старте экземпляров для пассивных проверок, указанное в StartAgents, должно быть меньше 64.