5. Zabbix агент (Windows)

Обзор

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

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

Parameter Description
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 Максимальное количество новых строк, которое агент будет отправлять в секунду на сервер Zabbix или прокси при обработке активных проверок log и logrt.
PerfCounter Определяет новый параметр <parameter_name>, который является средним значением системного счетчика производительности <perf_counter_path> за указанный период времени <period> (в секундах).
PerfCounterEn Определяет новый параметр <parameter_name>, который является средним значением системного счетчика производительности <perf_counter_path> за указанный период времени <period> (в секундах). По сравнению с PerfCounter, пути perfcounter должны быть на английском языке.
RefreshActiveChecks Как часто обновляется список активных проверок.
Server Список IP-адресов, разделенных запятыми, при необходимости в нотации CIDR, или DNS-имен серверов Zabbix и прокси Zabbix.
ServerActive Адрес сервера Zabbix/прокси или конфигурация кластера, откуда получать активные проверки.
SourceIP Исходный IP-адрес.
StartAgents Количество предварительно созданных экземпляров zabbix_agentd, обрабатывающих пассивные проверки.
Timeout Указывает, сколько времени ждать (в секундах) установления соединения и обмена данными с прокси или сервером Zabbix.
TLSAccept Уровень шифрования, требуемый для входящих подключений.
TLSCAFile Полный путь к файлу, содержащему сертификаты CA верхнего уровня для проверки сертификата узла, используемые для шифрованной связи между компонентами Zabbix.
TLSCertFile Полный путь к файлу, содержащему сертификат агента или цепочку сертификатов, используемые для шифрованной связи между компонентами Zabbix.
TLSConnect Уровень шифрования, требуемый для подключений агента к серверу Zabbix или прокси.
TLSCRLFile Полный путь к файлу, содержащему отозванные сертификаты. Этот параметр используется для шифрованной связи между компонентами Zabbix.
TLSKeyFile Полный путь к файлу, содержащему закрытый ключ агента, используемый для шифрованной связи между компонентами Zabbix.
TLSPSKFile Полный путь к файлу, содержащему предварительно общий ключ агента, используемый для шифрованной связи с сервером Zabbix.
TLSPSKIdentity Строка идентификатора предварительно общего ключа, используемая для шифрованной связи с сервером Zabbix.
TLSServerCertIssuer Разрешенный издатель сертификата сервера (прокси).
TLSServerCertSubject Разрешенная тема сертификата сервера (прокси).
UnsafeUserParameters Разрешить передачу всех символов в аргументах пользовательских параметров.
UserParameter Пользовательский параметр для мониторинга.
UserParameterDir Путь поиска по умолчанию для команд UserParameter.

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

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

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

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

Псевдоним

Задает псевдоним для ключа элемента данных. Его можно использовать, чтобы заменить длинный и сложный ключ элемента данных более коротким и простым.
Может присутствовать несколько параметров 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

Опциональный параметр, который задаёт интерфейс узла сети (IP адрес либо DNS имя), используемый в процессе авторегистрации узла сети. Это значение будет использовано для заполнения интерфейса у свежесоздаваемого узла сети, можно явно настроить либо IP, либо DNS адрес. Для дополнительной информации смотрите Использование DNS в качестве интерфейса по умолчанию.

Если не задано, значение будет получено из HostInterfaceItem.

Агент выдаст ошибку и не запустится, если значение превышает ограничение в 255 символов.

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

HostInterfaceItem

Необязательный параметр, который определяет элемент данных, используемый для определения интерфейса узла сети (IP-адреса или DNS-имени) во время процесса авторегистрации узла сети. Это значение используется только в том случае, если HostInterface не задан. Подробнее см. Использование DNS в качестве интерфейса по умолчанию.

Во время запроса на авторегистрацию агент запишет предупреждающее сообщение, если значение, возвращаемое указанным элементом данных, превышает предел в 255 символов.

Элемент данных system.run[] поддерживается независимо от настроек AllowKey/DenyKey.

HostMetadata

Необязательный параметр, который определяет метаданные, используемые для идентификации или различения узла сети в процессе авторегистрации узла сети (активный агент). HostMetadata позволяет различать узлы сети не только по имени узла.

Если не задано, значение будет получено из HostMetadataItem.

Агент выдаст ошибку и не запустится, если указанное значение превышает предел в 2034 байта или является строкой не в UTF-8. Если параметр ожидает IP-адрес или DNS-имя, значения, которые являются допустимыми UTF-8, но не являются допустимыми IP-адресами или DNS-именами, также будут отклонены и помечены как недопустимые.

Многострочные метаданные не поддерживаются — вывод будет обрезан на первом разрыве строки.

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

HostMetadataItem

Необязательный параметр, который определяет элемент данных агента Zabbix, используемый для получения метаданных узла сети. Этот параметр используется только тогда, когда HostMetadata не определен.

Значение HostMetadataItem запрашивается при каждой попытке авторегистрации и используется только в процессе авторегистрации узла сети (активный агент). HostMetadataItem позволяет различать узлы сети не только по имени хоста.

Поддерживаются пользовательские параметры, счетчики производительности и псевдонимы. Элемент данных system.run[] поддерживается независимо от настроек AllowKey/DenyKey.

Во время запроса авторегистрации агент запишет предупреждение, если значение, возвращаемое указанным элементом данных, превышает предел в 65535 кодовых точек UTF-8. Значение, возвращаемое элементом данных, должно быть строкой UTF-8, иначе оно будет проигнорировано. Если параметр ожидает IP-адрес или DNS-имя, значения, которые являются допустимым UTF-8, но не являются допустимыми IP-адресами или DNS-именами, также будут отклонены и помечены как недопустимые.

Многострочные метаданные не поддерживаются — вывод будет обрезан на первом разрыве строки.

Имя узла сети

Список уникальных имен узлов сети, разделенных запятыми, с учетом регистра. Обязательно для активных проверок и должно совпадать с именами узлов сети, настроенными на сервере. Значение берется из HostnameItem, если оно не задано.
Допустимые символы: буквенно-цифровые, '.', ' ', '_' и '-'. Максимальная длина: 128 символов для каждого имени узла сети, 2048 символов для всей строки.

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

HostnameItem

Необязательный параметр, который определяет элемент данных агента Zabbix, используемый для получения имени узла сети. Этот параметр используется только в том случае, если Hostname не задан. Пользовательские параметры, счетчики производительности или псевдонимы не поддерживаются, но элемент данных 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

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

Например, если вы хотите получать среднее количество прерываний процессора в секунду за последнюю минуту, вы можете определить новый параметр "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

Сервер

Список 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-compatible IPv6 addresses" (0000::/96 prefix) поддерживаются, но считаются устаревшими согласно RFC4291. Пробелы допускаются.

Пример:

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

Пример для группы Zabbix прокси:

ServerActive=proxy1.example.com;proxy2.example.com;proxy3.example.com;proxy4.example.com;proxy5.example.com

Пример для нескольких серверов:

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 или прокси 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 и предварительно общим ключом (PSK);
  • cert - принимать подключения с TLS и сертификатом.

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

TLSCAFile

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

TLSCertFile

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

TLSConnect

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

  • unencrypted - подключение без шифрования (по умолчанию);
  • psk - подключение с использованием TLS и предварительно разделенного ключа (PSK);
  • cert - подключение с использованием TLS и сертификата.

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

TLSCRLFile

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

TLSKeyFile

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

TLSPSKFile

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

TLSPSKIdentity

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

TLSServerCertIssuer

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

TLSServerCertSubject

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

UnsafeUserParameters

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

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

UserParameter

Пользовательский параметр для мониторинга. Может быть несколько пользовательских параметров.
Формат: UserParameter=<key>,<shell command>
Обратите внимание, что команда оболочки не должна возвращать пустую строку или только 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.