1. Zabbix агент

Обзор

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

Существуют пассивные и активные проверки. При настройке элемента данных вы можете выбрать требуемый тип:

  • Zabbix агент — для пассивных проверок
  • Zabbix агент (активный) — для активных проверок

Обратите внимание, что все ключи элементов данных, поддерживаемые агентом Zabbix, также поддерживаются новым поколением Zabbix агента 2. Смотрите дополнительные ключи элементов данных, которые можно использовать только с агентом 2.

Поддерживаемые ключи элементов данных

Ниже перечислены ключи элементов данных, которые можно использовать с агентом Zabbix.

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

Item key Description Item group
kernel.maxfiles Максимальное число открытых файлов, поддерживаемое ОС. Kernel
kernel.maxproc Максимальное число процессов, поддерживаемое ОС.
kernel.openfiles Количество файловых дескрипторов, открытых в данный момент.
log Мониторинг файла журнала. Log monitoring
log.count Количество совпавших строк в контролируемом файле журнала.
logrt Мониторинг файла журнала с ротацией.
logrt.count Количество совпавших строк в контролируемом файле журнала с ротацией.
modbus.get Чтение данных Modbus. Modbus
net.dns Проверка состояния службы DNS. Network
net.dns.perf Проверка производительности службы DNS.
net.dns.record Выполнение DNS-запроса.
net.if.collisions Количество коллизий вне окна.
net.if.discovery Список сетевых интерфейсов.
net.if.in Статистика входящего трафика на сетевом интерфейсе.
net.if.out Статистика исходящего трафика на сетевом интерфейсе.
net.if.total Сумма статистики входящего и исходящего трафика на сетевом интерфейсе.
net.tcp.listen Проверка, находится ли этот TCP-порт в состоянии LISTEN.
net.tcp.port Проверка возможности установить TCP-соединение с указанным портом.
net.tcp.service Проверка, запущена ли служба и принимает ли она TCP-соединения.
net.tcp.service.perf Проверка производительности службы TCP.
net.tcp.socket.count Возвращает количество TCP-сокетов, соответствующих параметрам.
net.udp.listen Проверка, находится ли этот UDP-порт в состоянии LISTEN.
net.udp.service Проверка, запущена ли служба и отвечает ли она на UDP-запросы.
net.udp.service.perf Проверка производительности службы UDP.
net.udp.socket.count Возвращает количество UDP-сокетов, соответствующих параметрам.
proc.cpu.util Процент использования CPU процессом. Processes
proc.get Список процессов ОС и их параметров.
proc.mem Объем памяти, используемый процессом, в байтах.
proc.num Количество процессов.
sensor Показания аппаратного датчика. Sensors
system.boottime Время загрузки системы. System
system.cpu.discovery Список обнаруженных CPU/ядер CPU.
system.cpu.intr Прерывания устройства.
system.cpu.load Нагрузка CPU.
system.cpu.num Количество CPU.
system.cpu.switches Количество переключений контекста.
system.cpu.util Процент использования CPU.
system.hostname Имя узла сети системы.
system.hw.chassis Сведения о корпусе.
system.hw.cpu Сведения о CPU.
system.hw.devices Список устройств PCI или USB.
system.hw.macaddr Список MAC-адресов.
system.localtime Системное время.
system.run Выполнение указанной команды на узле сети.
system.stat Системная статистика.
system.sw.arch Сведения об архитектуре программного обеспечения.
system.sw.os Сведения об операционной системе.
system.sw.os.get Подробные сведения об операционной системе (версия, тип, название дистрибутива, минорная и мажорная версии и т. д).
system.sw.packages Список установленных пакетов.
system.sw.packages.get Подробный список установленных пакетов.
system.swap.in Статистика swap-in (из устройства в память).
system.swap.out Статистика swap-out (из памяти на устройство).
system.swap.size Размер пространства подкачки в байтах или в процентах от общего объема.
system.uname Идентификация системы.
system.uptime Время работы системы в секундах.
system.users.num Количество вошедших в систему пользователей.
vfs.dev.discovery Список блочных устройств и их тип. Virtual file systems
vfs.dev.read Статистика чтения диска.
vfs.dev.write Статистика записи на диск.
vfs.dir.count Количество записей каталога.
vfs.dir.get Список записей каталога.
vfs.dir.size Размер каталога.
vfs.file.cksum Контрольная сумма файла, вычисленная алгоритмом UNIX cksum.
vfs.file.contents Получение содержимого файла.
vfs.file.exists Проверка существования файла.
vfs.file.get Возвращает сведения о файле.
vfs.file.md5sum MD5-контрольная сумма файла.
vfs.file.owner Получение владельца файла.
vfs.file.permissions Возвращает 4-значную строку, содержащую восьмеричное число с правами UNIX.
vfs.file.regexp Получение строки в файле.
vfs.file.regmatch Поиск строки в файле.
vfs.file.size Размер файла.
vfs.file.time Сведения о времени файла.
vfs.fs.discovery Список смонтированных файловых систем с их типом и параметрами монтирования.
vfs.fs.get Список смонтированных файловых систем с их типом, доступным дисковым пространством, статистикой inode и параметрами монтирования.
vfs.fs.inode Количество или процент inode.
vfs.fs.size Дисковое пространство в байтах или в процентах от общего объема.
vm.memory.size Объем памяти в байтах или в процентах от общего объема. Virtual memory
web.page.get Получение содержимого веб-страницы. Web monitoring
web.page.perf Время загрузки полной веб-страницы.
web.page.regexp Поиск строки на веб-странице.
agent.hostmetadata Метаданные узла сети агента. Zabbix
agent.hostname Имя узла сети агента.
agent.ping Проверка доступности агента.
agent.variant Вариант агента Zabbix (Zabbix agent или Zabbix agent 2).
agent.version Версия агента Zabbix.
zabbix.stats Возвращает набор внутренних метрик сервера Zabbix или прокси. Если указаны ip и port, метрики извлекаются с удаленного экземпляра; в противном случае — с локального экземпляра.
zabbix.stats (queue) Возвращает количество контролируемых элементов данных в очереди, задержанных на сервере Zabbix или прокси. Если указаны ip и port, метрики извлекаются с удаленного экземпляра; в противном случае — с локального экземпляра.

Поддерживаемые платформы

Если в описании элемента данных не указано иное, элементы данных агента (и все параметры) поддерживаются на:

  • Linux
  • FreeBSD
  • Solaris
  • HP-UX
  • AIX
  • MacOS X
  • OpenBSD
  • NetBSD

Многие элементы данных агента также поддерживаются на Windows. Подробности смотрите на странице Элементы данных агента Windows.

Подробности ключей элементов данных

Параметры без угловых скобок обязательны. Параметры, обозначенные угловыми скобками < >, опциональны.

kernel.maxfiles


Максимальное количество открытых файлов, поддерживаемое ОС.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, MacOS X, OpenBSD, NetBSD.

kernel.maxproc


Максимальное количество процессов, поддерживаемое ОС.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux 2.6 и новее, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.

kernel.openfiles


Количество открытых в данный момент файловых дескрипторов.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux (элемент данных может работать и на других UNIX-подобных платформах).

log[файл,<регулярное выражение>,<кодировка>,<макс. кол-во строк>,<режим>,<вывод>,<максзадержка>,<опции>,<постоянное_хранилище>]


Мониторинг файлов журналов (логов).
Возвращаемое значение: Журнал (лог).
Смотрите Поддерживаемые платформы.

Параметры:

  • файл — абсолютный путь и имя файла журнала;
  • регулярное выражение — регулярное выражение, описывающее необходимый шаблон содержимого;
  • кодировкаидентификатор кодовой страницы;
  • макс. кол-во строк — максимальное количество новых строк в секунду, которое агент будет отправлять Zabbix серверу или прокси. Этот параметр переопределяет значение «MaxLinesPerSecond» в zabbix_agentd.conf;
  • режим — возможные значения: all (по умолчанию) или skip — пропуск обработки старых данных (влияет только на недавно созданные элементы данных);
  • вывод — опциональный шаблон форматирования вывода. Управляющая последовательность \0 заменяется найденной частью текста (начиная от первого символа совпадения, заканчивая символом, где совпадение заканчивается), тогда как управляющая последовательность \N (где N=1...9) заменяется N-ой совпадающей группой (или пустой строкой, если N превышает количество найденных групп);
  • максзадержка — максимальная задержка в секундах. Тип: число с плавающей точкой. Значения: 0 — (по умолчанию) никогда не игнорировать строки в файлах журналов; > 0.0 — игнорировать более старые строки с целью получения наиболее новых строк, проанализированных в течение «максзадержка» секунд. Перед использованием прочитайте заметки по максзадержка!
  • опции — дополнительные опции:
    mtime-noreread — не уникальные записи, перечитывать только, если размер файла изменяется (игнорировать изменение времени модификации). (Этот параметр устарел, начиная с 5.0.2, так как сейчас mtime игнорируется.)
  • постоянное_хранилище (только в zabbix_agentd на Unix системах; не поддерживается в Agent2) — абсолютный путь к директории, где хранить данные долговременного хранения. Смотрите также дополнительные заметки о файлах долговременного хранения.

Комментарии:

  • Элемент данных должен быть настроен как активная проверка;
  • Если файл не существует или доступ к нему не разрешён, элемент данных перейдёт в неподдерживаемое состояние;
  • Если параметр вывод оставить пустым — будет возвращена вся строка, содержащая текст, соответствующий регулярному выражению. Обратите внимание, что все глобальные регулярные выражения, за исключением «Результат ИСТИНА», всегда возвращают всю строку, соответствующую выражению, и параметр вывод игнорируется.
  • Извлечение содержимого согласно параметру вывод производится на стороне агента.

Примеры:

log[/var/log/syslog]
log[/var/log/syslog,error]
log[/home/zabbix/logs/logfile,,,100]

Пример использования параметра вывод для извлечения числа из записи в журнале:

log[/app1/app.log,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #будет соответствовать записи в журнале «2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors», и на сервер будет отправлено только число «6080». Так как отсылается числовое значение, для этого элемента данных «Тип информации» можно изменить на «Числовой (целое положительное)», и это значение можно будет использовать на графиках, в триггерах и т.п.

Пример использования параметра вывод для изменения вывода записи журнала перед отправкой на сервер:

log[/app1/app.log,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #будет соответствовать записи в журнале «2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors», и на сервер будет отправлена изменённая запись «2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08».
log.count[файл,<регулярное выражение>,<кодировка>,<макс. кол-во строк>,<режим>,<максзадержка>,<опции>,<постоянное_хранилище>]


Количество совпадающих строк в наблюдаемом файле журнала (логе).
Возвращаемое значение: Целое число.
Смотрите Поддерживаемые платформы.

Параметры:

  • файл — абсолютный путь и имя файла журнала;
  • регулярное выражение — регулярное выражение, описывающее необходимый шаблон содержимого;
  • кодировкаидентификатор кодовой страницы;
  • макс. кол-во строк — максимальное количество новых строк в секунду, которое агент будет анализировать (не может превышать 10000). Значением по умолчанию является 10*«MaxLinesPerSecond» в zabbix_agentd.conf.
  • режим — возможные значения: all (по умолчанию) или skip — пропуск обработки старых данных (влияет только на недавно созданные элементы данных).
  • максзадержка — максимальная задержка в секундах. Тип: число с плавающей точкой. Значения: 0 — (по умолчанию) никогда не игнорировать строки в файлах журналов; > 0.0 — игнорировать более старые строки с целью получения наиболее новых строк, проанализированных в течение «максзадержка» секунд. Перед использованием прочитайте заметки по максзадержка!
  • опции — дополнительные опции:
    mtime-noreread — не уникальные записи, перечитывать только, если размер файла изменяется (игнорировать изменения времени модификации). (Этот параметр устарел, начиная с 5.0.2, так как сейчас mtime игнорируется.)
  • постоянное_хранилище (только в zabbix_agentd на Unix системах; не поддерживается в Agent2) — абсолютный путь к директории, где хранить данные долговременного хранения. Смотрите также дополнительные заметки о файлах долговременного хранения.

Комментарии:

  • Элемент данных должен быть настроен как активная проверка;
  • Количество совпадающих строк вычисляется за счёт новых строк, начиная со времени последней проверки журнала агентом; таким образом, количество зависит от интервала обновления элемента данных;
  • Если файл не существует или доступ к нему не разрешён, элемент данных переходит в неподдерживаемое состояние.
logrt[регулярное выражение файла,<регулярное выражение>,<кодировка>,<макс. кол-во строк>,<режим>,<вывод>,<максзадержка>,<опции>,<постоянное_хранилище>]


Мониторинг файлов журналов (логов) с поддержкой ротации файлов журналов.
Возвращаемое значение: Журнал (лог).
Смотрите Поддерживаемые платформы.

Параметры:

  • регулярное выражение файла — абсолютный путь к файлу и регулярное выражение, описывающее его имя. Обратите внимание, что регулярное выражение применяется только к имени файла и не обязательно должно соответствовать всему имени (например, /path/to/agent будет соответствовать zabbix_agentd.log).
  • регулярное выражение — регулярное выражение, описывающее необходимый шаблон содержимого;
  • кодировкаидентификатор кодовой страницы;
  • макс. кол-во строк — максимальное количество новых строк в секунду, которое агент будет отправлять Zabbix серверу или прокси. Этот параметр переопределяет значение «MaxLinesPerSecond» в zabbix_agentd.conf.
  • режим возможные значения: all (по умолчанию) или skip — пропуск обработки старых данных (влияет только на недавно созданные элементы данных).
  • вывод — опциональный шаблон форматирования вывода. Управляющая последовательность \0 заменяется найденной частью текста (начиная от первого символа совпадения, заканчивая символом, где совпадение заканчивается), тогда как управляющая последовательность \N (где N=1...9) заменяется N-ой совпадающей группой (или пустой строкой, если N превышает количество найденных групп).
  • максзадержка — максимальная задержка в секундах. Тип: число с плавающей точкой. Значения: 0 — (по умолчанию) никогда не игнорировать строки в файлах журналов; > 0.0 — игнорировать более старые строки с целью получения наиболее новых строк, проанализированных в течение «максзадержка» секунд. Перед использованием прочитайте заметки по максзадержка!
  • опции — тип ротации файлов журналов и другие опции. Возможные значения:
    rotate (по умолчанию),
    copytruncate — обратите внимание, что copytruncate нельзя использовать вместе с maxdelay. В этом случае maxdelay должен быть равен 0 или не указан; смотрите заметки о copytruncate,
    mtime-reread — не уникальные записи, перечитывать, если время модификации или размер изменились (используется по умолчанию, если явно не указана опция mtime-*),
    mtime-noreread — не уникальные записи, перечитывать только если размер файла изменяется (игнорирование изменения времени модификации).
  • постоянное_хранилище (только в zabbix_agentd на Unix системах; не поддерживается в Agent2) — абсолютный путь к директории, где хранить данные долговременного хранения. Смотрите также дополнительные заметки о файлах долговременного хранения.

Комментарии:

  • Элемент данных должен быть настроен как активная проверка;
  • Ротация журналов основывается на времени последней модификации файлов;
  • Обратите внимание, что logrt разработан для работы с одним активным файлом журнала, с несколькими другими совпадающими уже устаревшими неактивными файлами. Если, например, директория содержит множество активных файлов журналов, по каждому такому файлу необходимо создавать отдельный элемент данных logrt. В противном случае, если один элемент данных logrt подхватит слишком много файлов, это может привести к исчерпанию памяти и сбою в мониторинге.
  • Если параметр вывод оставить пустым — будет возвращена вся строка, содержащая текст, соответствующий регулярному выражению. Обратите внимание, что все глобальные регулярные выражения, за исключием «Результат ИСТИНА», всегда возвращают всю соответствующую выражению строку, и параметр вывод игнорируется.
  • Извлечение содержимого согласно параметру вывод производится на стороне агента.
  • В параметре регулярное_выражение_файла путь к директории файла журнала и регулярное выражение имени файла журнала должны быть разделены правильным разделителем:
    • в Windows разделителем должна быть обратная косая черта (\); прямая косая черта может допускаться в других позициях, за исключением той, которая разделяет путь к директории файла журнала и регулярное выражение имени файла журнала (смотрите примеры ниже).
    • в других системах это должна быть прямая косая черта (/).

Примеры для Windows:

logrt["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #будет собирать данные из файлов в директории «c:/dir1/dir2/dir3», где имя файла начинается с «filename» и оканчивается любым расширением, соответствующим строке «.log».
logrt["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #будет собирать данные из лог-файлов, расположенных на сетевом ресурсе «//example.com/share/dir1/dir2/dir3», где имя файла начинается с «filename» и оканчивается любым расширением, соответствующим строке «.log».

Примеры для других систем:

logrt["/home/zabbix/logs/^logfile[0-9]{1,3}$",,,100] #совпадает с файлом наподобие «logfile1» (но не совпадает с «.logfile1»)
logrt["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #элемент данных будет собирать данные с файлов таких как «logfile_abc_1» или «logfile__001»

Пример использования параметра вывод для извлечения числа из записи в журнале:

logrt[/app1/^test.*log$,"task run [0-9.]+ sec, processed ([0-9]+) records, [0-9]+ errors",,,,\1] #этот элемент данных будет соответствовать записи в журнале «2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors», и на сервер будет отправлено только число «6080». Так как отсылается числовое значение, для этого элемента данных можно «Тип информации» изменить на «Числовой (целое положительное)», и это значение можно будет использовать на графиках, в триггерах и т.д.

Пример использования параметра вывод для изменения вывода записи журнала перед отправкой на сервер:

logrt[/app1/^test.*log$,"([0-9 :-]+) task run ([0-9.]+) sec, processed ([0-9]+) records, ([0-9]+) errors",,,,"\1 RECORDS: \3, ERRORS: \4, DURATION: \2"] #этот элемент данных будет соответствовать записи в журнале «2015-11-13 10:08:26 task run 6.08 sec, processed 6080 records, 0 errors», и на сервер отправится изменённая запись «2015-11-13 10:08:26 RECORDS: 6080, ERRORS: 0, DURATION: 6.08».
logrt.count[регулярное выражение файла ,<регулярное выражение>,<кодировка>,<макс. кол-во строк>,<режим>,<максзадержка>,<опции>,<постоянное_хранилище>]


Количество совпадающих строк в наблюдаемом файле журнала (логе) с поддержкой ротации файлов журналов.
Возвращаемое значение: Целое число.
Смотрите Поддерживаемые платформы.

Параметры:

  • регулярное выражение файла — абсолютный путь к файлу и регулярное выражение, описывающее его имя. Обратите внимание, что регулярное выражение применяется только к имени файла и не обязательно должно соответствовать всему имени (например, /path/to/agent будет соответствовать zabbix_agentd.log).
  • регулярное выражение — регулярное выражение, описывающее необходимый шаблон содержимого;
  • кодировкаидентификатор кодовой страницы;
  • макс. кол-во строк — максимальное количество новых строк в секунду, которое агент будет анализировать (не может превышать 10000). Значением по умолчанию является 10*«MaxLinesPerSecond» в zabbix_agentd.conf.
  • режим — возможные значения: all (по умолчанию) или skip — пропуск обработки старых данных (влияет только на недавно созданные элементы данных).
  • максзадержка — максимальная задержка в секундах. Тип: число с плавающей точкой. Значения: 0 — (по умолчанию) никогда не игнорировать строки в файлах журналов; > 0.0 — игнорировать более старые строки с целью получения наиболее новых строк, проанализированных в течение «максзадержка» секунд. Перед использованием прочитайте заметки по максзадержка!
  • опции — тип ротации файлов журналов и другие опции. Возможные значения:
    rotate (по умолчанию),
    copytruncate — обратите внимание, что copytruncate нельзя использовать вместе с maxdelay. В этом случае maxdelay должен быть равен 0 или не указан; смотрите заметки о copytruncate,
    mtime-reread — не уникальные записи, перечитывать, если время модификации или размер изменились (по умолчанию),
    mtime-noreread — не уникальные записи, перечитывать только если размер файла изменяется (игнорирование изменения времени модификации).
  • постоянное_хранилище (только в zabbix_agentd на Unix системах; не поддерживается в Agent2) — абсолютный путь к директории, где хранить данные долговременного хранения. Смотрите также дополнительные заметки о файлах долговременного хранения.

Комментарии:

  • Элемент данных должен быть настроен как активная проверка;
  • Количество совпадающих строк вычисляется за счёт новых строк, начиная со времени последней проверки журнала агентом; таким образом, количество зависит от интервала обновления элемента данных;
  • Ротация журналов основывается на времени последней модификации файлов;
  • В параметре регулярное_выражение_файла путь к директории файла журнала и регулярное выражение имени файла журнала должны быть разделены правильным разделителем:
    • в Windows разделителем должна быть обратная косая черта (\); прямая косая черта может допускаться в других позициях, за исключением той, которая разделяет путь к директории файла журнала и регулярное выражение имени файла журнала (смотрите примеры ниже).
    • в других системах это должна быть прямая косая черта (/).

Примеры для Windows:

logrt.count["c:/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #подсчёт количества совпадений с шаблоном «pattern_to_match» в журнальных файлах, расположенных в папке «c:/dir1/dir2/dir3».
logrt.count["//example.com/share/dir1/dir2/dir3\filename.*\.log","pattern_to_match"] #подсчёт количества совпадений с шаблоном «pattern_to_match» в журнальных файлах, расположенных на сетевом ресурсе «//example.com/share/dir1/dir2/dir3».

Примеры для других систем:

logrt.count["/home/zabbix/logs/.*","^logfile[0-9]{1,3}$",,100] #подсчёт количества совпадений с шаблоном «^logfile[0-9]{1,3}$» в журнальных файлах, расположенных в папке «/home/zabbix/logs».
logrt.count["/home/user/^logfile_.*_[0-9]{1,3}$","pattern_to_match","UTF-8",100] #подсчёт того, сколько раз шаблон «pattern_to_match» встречается в журнальных файлах, расположенных в «/home/user».
modbus.get[endpoint,<slave id>,<function>,<address>,<count>,<type>,<endianness>,<offset>]


Читает данные Modbus.
Возвращаемое значение: JSON string.
Поддерживаемые платформы: Linux, Windows.

Параметры:

  • endpoint - конечная точка, заданная как protocol://connection_string;
  • slave id - ID ведомого устройства;
  • function - функция Modbus;
  • address - адрес первого регистра, катушки или входа;
  • count - количество записей для чтения;
  • type - тип данных;
  • endianness - порядок байтов;
  • offset - количество регистров, начиная с 'address', результаты которых будут отброшены.

В Windows этот элемент данных следует UNC-путям в параметре endpoint, что может представлять риск безопасности.

См. подробное описание параметров.

net.dns[<ip>,имя,<тип>,<время ожидания>,<количество>,<протокол>]


Проверка состояния службы DNS.
Возвращаемые значения: 0 — DNS не работает (сервер не ответил или ответ DNS некорректен); 1 — DNS работает.
Смотрите Поддерживаемые платформы.

Параметры:

  • ip (на Windows поддерживается Zabbix агентом 2, игнорируется Zabbix агентом) — IP адрес DNS сервера (оставьте пустым, чтобы использовались DNS сервера по умолчанию);
  • имя — проверяемое имя DNS;
  • тип — запрашиваемый тип записи (по умолчанию SOA);
  • время ожидания (игнорируется в Windows, если только не используется Zabbix агент 2) — время ожидания ответа в секундах (по умолчанию 1 секунда);
  • количество (игнорируется в Windows, если только не используется Zabbix агент 2) — количество попыток запросов (по умолчанию 2);
  • протокол — используемый протокол при выполнении DNS запросов: udp (по умолчанию) или tcp.

Комментарии:

  • Возможные значения для тип: ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (не поддерживается Zabbix агентом на Windows, Zabbix агентом 2 на всех ОС), HINFO, MINFO, TXT, SRV
  • Для обратных DNS-запросов (когда type установлен на PTR) вы можете указать DNS-имя как в обратном, так и в необратном формате (см. примеры ниже). Обратите внимание, что при запросе записи PTR имя DNS на самом деле является IP-адресом.
  • Интерационализированные доменные имена не поддерживаются; вместо них, пожалуйста, используйте имена в IDNA кодировке.

Примеры:

net.dns[198.51.100.1,example.com,MX,2,1]

net.dns[,198.51.100.1,PTR]
net.dns[,1.100.51.198.in-addr.arpa,PTR]

net.dns[,2a00:1450:400f:800::200e,PTR]
net.dns[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.perf[<ip>,name,<type>,<timeout>,<count>,<protocol>]


Проверяет производительность службы DNS.
Возвращаемое значение: Float (0 - служба недоступна; seconds - количество секунд, потраченных на ожидание ответа от службы).
См. поддерживаемые платформы.

Параметры:

  • ip (игнорируется в Windows, если не используется Zabbix agent 2) - IP-адрес DNS-сервера (оставьте пустым для DNS-сервера по умолчанию);
  • name - DNS-имя для запроса;
  • type - тип записи, которую нужно запросить (по умолчанию SOA);
  • timeout (игнорируется в Windows, если не используется Zabbix agent 2) - время ожидания запроса в секундах (по умолчанию 1 секунда);
  • count (игнорируется в Windows, если не используется Zabbix agent 2) - количество попыток выполнения запроса (по умолчанию 2);
  • protocol - протокол, используемый для выполнения DNS-запросов: udp (по умолчанию) или tcp.

Комментарии:

  • Возможные значения type:
    ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (не поддерживается для Zabbix agent в Windows, Zabbix agent 2 во всех ОС), HINFO, MINFO, TXT, SRV.
  • Для обратных DNS-запросов (когда type установлен в PTR) можно указать DNS-имя как в обратном, так и в прямом формате (см. примеры ниже). Обратите внимание, что при запросе записи PTR DNS-имя фактически является IP-адресом.
  • Имена доменов в интернационализированном формате не поддерживаются, используйте вместо них имена, закодированные в IDNA.
  • Элемент данных возвращает время ответа вместо 0, если DNS-сервер отвечает кодом ошибки (например, NXDOMAIN или SERVFAIL).

Примеры:

net.dns.perf[198.51.100.1,example.com,MX,2,1]

net.dns.perf[,198.51.100.1,PTR]
net.dns.perf[,1.100.51.198.in-addr.arpa,PTR]

net.dns.perf[,2a00:1450:400f:800::200e,PTR]
net.dns.perf[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.dns.record[<ip>,имя,<тип>,<время ожидания>,<количество>,<протокол>]


Выполнение DNS запроса.

Zabbix агент 2 также предоставляет ключ net.dns.get, который предлагает дополнительные возможности, такие как больший набор типов записей и больший контроль над мониторингом DNS. Возвращаемое значение: строка символов с требуемым типом информации.
Смотрите Поддерживаемые платформы.

Параметры:

  • ip (игнорируется в Windows, если только не используется Zabbix агент 2) — IP адрес DNS сервера (оставьте пустым, чтобы использовались DNS сервера по умолчанию);
  • имя — проверяемое имя DNS;
  • тип — запрашиваемый тип записи (по умолчанию SOA);
  • время ожидания (игнорируется в Windows, если только не используется Zabbix агент 2) — время ожидания ответа в секундах (по умолчанию 1 секунда);
  • количество (игнорируется в Windows, если только не используется Zabbix агент 2) — количество попыток запросов (по умолчанию 2);
  • протокол — используемый протокол при выполнении DNS запросов: udp (по умолчанию) или tcp.

Комментарии:

  • Возможные значения для тип:
    ANY, A, NS, CNAME, MB, MG, MR, PTR, MD, MF, MX, SOA, NULL, WKS (не поддерживается Zabbix агентом на Windows, Zabbix агентом 2 на всех ОС), HINFO, MINFO, TXT, SRV
  • Для обратных DNS-запросов (когда type установлен на PTR) вы можете указать DNS-имя как в обратном, так и в необратном формате (см. примеры ниже). Обратите внимание, что при запросе записи PTR имя DNS на самом деле является IP-адресом.
  • Интернационализированные доменные имена не поддерживаются; вместо них, пожалуйста, используйте имена в IDNA кодировке.

Примеры:

net.dns.record[198.51.100.1,example.com,MX,2,1]

net.dns.record[,198.51.100.1,PTR]
net.dns.record[,1.100.51.198.in-addr.arpa,PTR]

net.dns.record[,2a00:1450:400f:800::200e,PTR]
net.dns.record[,e.0.0.2.0.0.0.0.0.0.0.0.0.0.0.0.0.0.8.0.f.0.0.4.0.5.4.1.0.0.a.2.ip6.arpa,PTR]
net.if.collisions[if]


Количество коллизий за пределами окна (out-of-window).
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD. На NetBSD требуются права суперпользователя (root).

Параметр:

  • if — имя сетевого интерфейса
net.if.discovery


Список сетевых интерфейсов. Используется для обнаружения на низком уровне.
Возвращаемое значение: JSON string.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD, Windows.

net.if.in[if,<режим>]


Статистика по входящему трафику сетевого интерфейса.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows. На NetBSD требуются права суперпользователя (root).

Параметры:

  • if — имя сетевого интерфейса (Unix); полное описание сетевого интерфейса или IPv4 адрес; или, если в фигурных скобках, GUID сетевого интерфейса (Windows);
  • режим — возможные значения:
    bytes — количество байт (по умолчанию)
    packets — количество пакетов
    errors — количество ошибок
    dropped — количество отброшенных пакетов
    overruns (fifo) — количество ошибок FIFO буфера
    frame — количество ошибок кадрирования пакетов
    compressed — количество сжатых пакетов, полученных драйвером устройства
    multicast — количество кадров многоадресного вещания, которые получены драйвером устройства

Комментарии:

  • Вы можете использовать этот ключ с шагом предобработки Изменение в секунду для получения статистики байт в секунду;
  • Режим dropped поддерживается только в Linux, FreeBSD, HP-UX, MacOS X, OpenBSD, NetBSD;
  • Режимы overruns, frame, compressed, multicast поддерживаются только в Linux;
  • На HP-UX этот элемент данных не предоставляет сведений о loopback-интерфейсах (например, lo0).

Примеры:

net.if.in[eth0]
net.if.in[eth0,errors]
net.if.out[if,<режим>]


Статистика по исходящему трафику сетевого интерфейса.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows. На NetBSD требуются права суперпользователя (root).

Параметры:

  • if — имя сетевого интерфейса (Unix); полное описание сетевого интерфейса или IPv4 адрес; или, если в фигурных скобках, GUID сетевого интерфейса (Windows);
  • режим — возможные значения:
    bytes — количество байт (по умолчанию)
    packets — количество пакетов
    errors — количество ошибок
    dropped — количество отброшенных пакетов
    overruns (fifo) — количество ошибок FIFO буфера
    collisions (colls) — количество коллизий, обнаруженных на интерфейсе
    carrier — количество потерь несущей, обнаруженных драйвером устройства
    compressed — количество сжатых пакетов, переданных драйвером устройства

Комментарии:

  • Вы можете использовать этот ключ с шагом предобработки Изменение в секунду для получения статистики байт в секунду;
  • Режим dropped поддерживается только в Linux, HP-UX;
  • Режимы overruns, collision, carrier, compressed поддерживаются только в Linux;
  • На HP-UX этот элемент данных не предоставляет сведений о loopback-интерфейсах (например, lo0).

Примеры:

net.if.out[eth0]
net.if.out[eth0,errors]
net.if.total[if,<режим>]


Суммарная статистика входящего и исходящего трафика на сетевом интерфейсе.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, Solaris5, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows. На NetBSD требуются права суперпользователя (root).

Параметры:

  • if — имя сетевого интерфейса (Unix); полное описание сетевого интерфейса или IPv4 адрес; или, если в фигурных скобках, GUID сетевого интерфейса (Windows);
  • режим — возможные значения:
    bytes — количество байт (по умолчанию)
    packets — количество пакетов
    errors — количество ошибок
    dropped — количество отброшенных пакетов
    overruns (fifo) — количество ошибок FIFO буфера
    collisions (colls) — количество коллизий, обнаруженных на интерфейсе
    compressed — количество сжатых пакетов, переданных или полученных драйвером устройства

Комментарии:

  • Вы можете использовать этот ключ с шагом предобработки Изменение в секунду для получения статистики байт в секунду;
  • Режим dropped поддерживается только в Linux, HP-UX. Отброшенные пакеты поддерживаются, только если оба ключа net.if.in и net.if.out работают с отброшенными пакетами на вашей платформе.
  • Режимы overruns, collision, compressed поддерживаются только в Linux;
  • На HP-UX этот элемент данных не предоставляет сведений о loopback-интерфейсах (например, lo0).

Примеры:

net.if.total[eth0]
net.if.total[eth0,errors]
net.tcp.listen[порт]


Проверка, находится ли TCP порт в состоянии LISTEN.
Возвращаемые значения: 0 — не находится в состоянии LISTEN; 1 — находится в состоянии LISTEN.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, MacOS X, Windows.

Параметр:

  • порт — номер TCP порта

На ядрах Linux 2.6.14 и более новых информация о TCP сокетах в состоянии listen берётся из интерфейса ядра NETLINK, если это возможно. В противном случае информация берётся из файлов /proc/net/tcp и /proc/net/tcp6.

Пример:

net.tcp.listen[80]
net.tcp.port[<ip>,порт]


Проверка возможности создания TCP подключения на указанный номер порта.
Возвращаемые значения: 0 — не удалось подключиться; 1 — удалось подключиться.
Смотрите Поддерживаемые платформы.

Параметры:

  • ip — IP адрес или DNS имя (по умолчанию 127.0.0.1);
  • порт — номер порта.

Комментарии:

  • Для простого тестирования производительности TCP используйте net.tcp.service.perf[tcp,<ip>,<порт>];
  • Эти проверки могут привести к дополнительным записям в системных файлах журналов (обычно журналируются сессии SMTP и SSH).

Пример:

net.tcp.port[,80] #можно использовать для проверки доступности веб-сервера, работающего на 80 порту
net.tcp.service[сервис,<ip>,<порт>]


Проверка того, что сервис запущен и принимает TCP подключения.
Возвращаемые значения: 0 — сервис недоступен; 1 — сервис запущен.
Смотрите Поддерживаемые платформы.

Параметры:

  • сервис — один из: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https или telnet (смотрите подробности);
  • ip — IP адрес или DNS имя (по умолчанию 127.0.0.1);
  • порт — номер порта (по умолчанию используется стандартный номер порта сервиса).

Комментарии:

  • Эти проверки могут привести к дополнительным записям в системных файлах журналов (обычно журналируются сессии SMTP и SSH);
  • Проверка шифрованных протоколов (таких как IMAP на 993 порту или POP на 995 порту) в настоящее время не поддерживается. В качестве обходного решения, пожалуйста, для подобных проверок используйте net.tcp.port[].
  • Проверка LDAP и HTTPS на платформе Windows поддерживается только Zabbix агентом 2;
  • Проверка telnet ищет запрос на вход (с «:» в конце).

Пример:

net.tcp.service[ftp,,45] #можно использовать для тестирования доступности FTP сервера на TCP 45 порту.
net.tcp.service.perf[сервис,<ip>,<порт>]


Проверка производительности TCP сервиса.
Возвращаемые значения: Число с плавающей точкой (0 — сервис недоступен; секунды — количество секунд, потраченное на подключение к сервису).
Смотрите Поддерживаемые платформы.

Параметры:

  • сервис — один из: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https или telnet (смотрите подробности);
  • ip — IP адрес или DNS имя (по умолчанию 127.0.0.1);
  • порт — номер порта (по умолчанию используется стандартный номер порта сервиса).

Комментарии:

  • Проверка шифрованных протоколов (таких как IMAP на 993 порту или POP на 995 порту) в настоящее время не поддерживается. В качестве обходного решения, пожалуйста, для подобных проверок используйте net.tcp.service.perf[tcp,<ip>,<порт>].
  • Проверка telnet ищет запрос на вход (с «:» в конце).

Пример:

net.tcp.service.perf[ssh] #можно использовать для тестирования скорости изначального ответа от SSH сервера
net.tcp.socket.count[<локальный_адрес>,<локальный_порт>,<удалённый_адрес>,<удалённый_порт>,<состояние>]


Получение количества TCP сокетов, соответствующих заданным параметрам.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, Windows.

Параметры:

  • локальный_адрес — локальный IPv4/6 адрес или CIDR подсеть;
  • локальный_порт — номер локального порта или имя сервиса;
  • удалённый_адрес — удалённый IPv4/6 адрес или CIDR подсеть;
  • удалённый_порт — номер удалённого порта или имя сервиса;
  • состояние — состояние соединения (established, syn_sent, syn_recv, fin_wait1, fin_wait2, time_wait, close, close_wait, last_ack, listen, closing).

Пример:

net.tcp.socket.count[,80,,,established] #количество соединений на локальный TCP порт 80 в состоянии «established»
net.udp.listen[порт]


Проверка, находится ли UDP порт в состоянии LISTEN.
Возвращаемые значения: 0 — не находится в состоянии LISTEN; 1 — находится в состоянии LISTEN.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, MacOS X.

Параметр:

  • порт — номер UDP порта

Пример:

net.udp.listen[68]
net.udp.service[сервис,<ip>,<порт>]


Проверка, запущен ли сервис и отвечает ли он на UDP запросы.
Возвращаемые значения: 0 — сервис недоступен; 1 — сервис запущен.
Смотрите Поддерживаемые платформы.

Параметры:

  • сервисntp (смотрите подробности);
  • ip — IP адрес или DNS имя (по умолчанию 127.0.0.1);
  • порт — номер порта (по умолчанию используется стандартный номер порта сервиса).

Пример:

net.udp.service[ntp,,45] #можно использовать для тестирования доступности NTP сервиса на 45 порту UDP
net.udp.service.perf[сервис,<ip>,<порт>]


Проверка производительности UDP сервиса.
Возвращаемые значения: Число с плавающей точкой (0 — сервис недоступен; секунды — количество секунд, потраченное на ожидание ответа от сервиса).
Смотрите Поддерживаемые платформы.

Параметры:

  • сервисntp (смотрите подробности);
  • ip — IP адрес или DNS имя (по умолчанию 127.0.0.1);
  • порт — номер порта (по умолчанию используется стандартный номер порта сервиса).

Пример:

net.udp.service.perf[ntp] #можно использовать для тестирования времени отклика от NTP сервиса
net.udp.socket.count[<локальный_адрес>,<локальный_порт>,<удалённый_адрес>,<удалённый_порт>,<состояние>]


Получение количества UDP сокетов, соответствующих заданным параметрам.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, Windows.

Параметры:

  • локальный_адрес — локальный IPv4/6 адрес или CIDR подсеть;
  • локальный_порт — номер локального порта или имя сервиса;
  • удалённый_адрес — удалённый IPv4/6 адрес или CIDR подсеть;
  • удалённый_порт — номер удалённого порта или имя сервиса;
  • состояние — состояние соединения (established, unconn).

Пример:

net.udp.socket.count[,,,,established] #возвращает количество UDP сокетов в состоянии «established»
proc.cpu.util[<имя>,<пользователь>,<тип>,<cmdline>,<режим>,<зона>]


Использование процессом CPU в процентах.
Возвращаемое значение: Число с плавающей точкой.
Поддерживаемые платформы: Linux, Solaris6.

Параметры:

  • имя — имя процесса (по умолчанию все процессы);
  • пользователь — имя пользователя (по умолчанию все пользователи));
  • тип — тип использования CPU: total (по умолчанию), user или system;
  • cmdline — фильтр по командной строке (является регулярным выражением);
  • режим — режим сбора данных: avg1 (по умолчанию), avg5 или avg15;
  • зона — целевая зона: current (по умолчанию) или all. Этот параметр поддерживается только на платформе Solaris.

Комментарии:

  • Возвращаемое значение основывается на использовании одного ядра CPU, в процентах. Например, утилизация CPU процесса, полностью использующего два ядра, равна 200%.
  • Данные использования CPU процессами собираются коллектором, который поддерживает максимально до 1024 уникальных (по имени, пользователю и командной строке) запросов. Запросы, к которым не было обращения в течение последних 24 часов, удаляются из коллектора.
  • В случае, когда агент скомпилирован на Solaris без поддержки зон, если задать параметр зона значением current (или по умолчанию) и запустить его на более новом Solaris, где зоны поддерживаются, то агент вернёт NOTSUPPORTED (агент не может ограничить результаты в пределах только текущей зоны). Однако, значение all в этом случае поддерживается.

Примеры:

proc.cpu.util[,root] #использование CPU по всем процессам, работающим под пользователем «root»
proc.cpu.util[zabbix_server,zabbix] #использование CPU по всем процессам zabbix_server, работающим под пользователем zabbix
proc.get[<name>,<user>,<cmdline>,<mode>]


Список процессов ОС и их параметров. Может использоваться для низкоуровневого обнаружения.
Возвращаемое значение: JSON string.
Поддерживаемые платформы: Linux, FreeBSD, Windows, OpenBSD, NetBSD.

Параметры:

  • name - имя процесса (по умолчанию all processes);
  • user - имя пользователя (по умолчанию all users);
  • cmdline - фильтрация по командной строке (это регулярное выражение). Этот параметр не поддерживается в Windows; на других платформах он не поддерживается, если для mode задано значение 'summary'.
  • mode - возможные значения:
    process (по умолчанию), thread (не поддерживается в NetBSD), summary. См. список параметров процесса, возвращаемых для каждого режима и ОС.

Комментарии:

  • Если значение не удается получить, например из-за ошибки (процесс уже завершился, недостаточно прав, сбой системного вызова), будет возвращено -1.
  • См. примечания по выбору процессов с параметрами name и cmdline (только для Linux).

Примеры:

proc.get[zabbix_server,zabbix,,process] #список всех процессов zabbix_server, запущенных от пользователя zabbix, возвращает одну запись на каждый PID
proc.get[java,,,thread] #список всех процессов Java, возвращает одну запись на каждый поток
proc.get[,zabbix,,summary] #сводные данные по процессам каждого типа, запущенным от пользователя zabbix, возвращает одну запись на каждое имя процесса
proc.mem[<имя>,<пользователь>,<режим>,<cmdline>,<тип памяти>]


Количество памяти, используемое процессом, в байтах.
Возвращаемое значение: Целое число — с режимом, равным max, min, sum; Число с плавающей точкой — с режимом, равным avg
Поддерживаемые платформы: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

Параметры:

  • имя — имя процесса (по умолчанию все процессы);
  • пользователь — имя пользователя (по умолчанию все пользователи);
  • режим — возможные значения: avg, max, min или sum (по умолчанию);
  • cmdline — фильтр по командной строке (является регулярным выражением);
  • тип памятитип памяти, используемый процессом

Комментарии:

  • Параметр тип памяти поддерживается только на Linux, FreeBSD, Solaris6, AIX;
  • Когда несколько процессов используют разделяемую память, сумма используемой процессами памяти может дать в результате большие, нереальные значения.

    Смотрите примечания по выбору процессов с параметрами имя и cmdline (специфично для Linux).

    Когда этот элемент данных вызывается из командной строки и содержит параметр командной строки (например, при использовании тестового режима агента: zabbix_agentd -t proc.mem[,,,apache2]), будет засчитан один дополнительный процесс, так как агент посчитает самого себя.

Примеры:

proc.mem[,root] #память, используемая всеми процессами, запущенными под пользователем «root»
proc.mem[zabbix_server,zabbix] #память, используемая всеми процессами zabbix_server, запущенными под пользователем zabbix
proc.mem[,oracle,max,oracleZABBIX] #память, используемая наиболее жадным до памяти процессом, запущенным под пользователем oracle и имеющим oracleZABBIX в командной строке
proc.num[<имя>,<пользователь>,<состояние>,<cmdline>,<зона>]


Количество процессов.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, Solaris6, HP-UX, AIX, OpenBSD, NetBSD, Windows.

Параметры:

  • имя — имя процесса (по умолчанию все процессы);
  • пользователь — имя пользователя (по умолчанию все пользователи);
  • состояние — возможные значения:
    all (по умолчанию),
    disk — непрерываемый сон,
    run — в процессе работы,
    sleep — прерываемый сон,
    trace — остановлен,
    zomb — зомби;
  • cmdline — фильтр по командной строке (является регулярным выражением);
  • зона — целевая зона: current (по умолчанию) или all. Этот параметр поддерживается только на платформе Solaris.

Комментарии:

  • Параметры состояния disk и trace поддерживаются только в Linux, FreeBSD, OpenBSD, NetBSD;
  • В системах Windows поддерживаются только параметры имя and пользователь;
  • Когда этот элемент данных вызывается из командной строки и содержит параметр командной строки (например, при использовании тестового режима агента: zabbix_agentd -t proc.num[,,,apache2]), будет засчитан один дополнительный процесс, так как агент посчитает самого себя;
  • В случае, когда агент скомпилирован на Solaris без поддержки зон, если задать параметр зона значением current (или по умолчанию) и запустить его на более новом Solaris, где зоны поддерживаются, тогда агент вернёт NOTSUPPORTED (агент не может ограничить результаты в пределах только текущей зоны). Однако, значение all в этом случае поддерживается.
  • Смотрите примечания по выбору процессов с параметрами имя и cmdline (специфично для Linux).

Примеры:

proc.num[,mysql] #количество процессов, выполняемых под пользователем mysql
proc.num[apache2,www-data] #количество процессов apache2, выполняемых под пользователем www-data
proc.num[,oracle,sleep,oracleZABBIX] #количество процессов в спящем состоянии, выполняемых под пользователем oracle и имеющих oracleZABBIX в командной строке
sensor[device,sensor,<mode>]


Показания аппаратного датчика.
Возвращаемое значение: Float.
Поддерживаемые платформы: Linux, OpenBSD.

Параметры:

  • device - имя устройства;
  • sensor - имя датчика;
  • mode - возможные значения: avg, max или min.

Комментарии:

  • Читает /proc/sys/dev/sensors в Linux 2.4.
  • Читает /sys/class/hwmon в Linux 2.6+. См. более подробное описание элемента данных sensor в Linux.
  • Читает MIB hw.sensors в OpenBSD.
  • В Linux 2.4, если указан mode, то device и sensor рассматриваются как регулярные выражения.
  • В Linux 2.6+ и OpenBSD, либо если mode опущен, device и sensor рассматриваются как буквальные значения.

Примеры:

sensor[w83781d-i2c-0-2d,temp1]
sensor[cpu0,temp0] #температура одного CPU
sensor["cpu[0-2]$",temp,avg] #средняя температура первых трех CPU
system.boottime


Штамп времени (timestamp) загрузки системы.
Возвращаемое значение: Целое число (Unix timestamp).
Поддерживаемые платформы: Linux, FreeBSD, Solaris, MacOS X, OpenBSD, NetBSD.

system.cpu.discovery


Список обнаруженных CPU/ядер CPU. Используется для обнаружения на низком уровне.
Возвращаемое значение: строка JSON.
См. поддерживаемые платформы.

system.cpu.intr


Прерывания устройств.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

system.cpu.load[<cpu>,<режим>]


Загрузка CPU.
Возвращаемое значение: Число с плавающей точкой.
Смотрите Поддерживаемые платформы.

Параметры:

  • cpu — возможные значения: all (по умолчанию) или percpu (общая загрузка делится на количество CPU онлайн);
  • режим — возможные значения: avg1 (усреднение за одну минуту, по умолчанию), avg5 или avg15.

Пример:

system.cpu.load[,avg5]
system.cpu.num[<тип>]


Количество CPU.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

Параметр:

  • тип — возможные значения: online (по умолчанию) или max

Значение max параметра «тип» поддерживается только в Linux, FreeBSD, Solaris, MacOS X.

Пример:

system.cpu.num
system.cpu.switches


Количество переключений контекста.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, AIX, OpenBSD, NetBSD.

system.cpu.util[<cpu>,<type>,<mode>,<logical or physical>]


Процент использования CPU.
Возвращаемое значение: Float.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD, Windows.

Параметры:

  • cpu - <номер CPU> или all (по умолчанию);
  • type - возможные значения: user (по умолчанию), idle, nice, system, iowait, interrupt, softirq, steal, spin (в OpenBSD), guest (в ядрах Linux 2.6.24 и новее) или guest_nice (в ядрах Linux 2.6.33 и новее);
  • mode - возможные значения: avg1 (среднее за одну минуту, по умолчанию), avg5 или avg15;
  • logical or physical - возможные значения: logical (по умолчанию) или physical. Этот параметр поддерживается только в AIX.

Комментарии:

  • Параметр типа nice поддерживается только в Linux, FreeBSD, HP-UX, OpenBSD, NetBSD.
  • Параметр типа iowait поддерживается только в Linux 2.6 и новее, Solaris, AIX.
  • Параметр типа interrupt поддерживается только в Linux 2.6 и новее, FreeBSD, OpenBSD.
  • Параметры типа softirq, steal, guest, guest_nice поддерживаются только в Linux 2.6 и новее.
  • Параметры режима avg5 и avg15 поддерживаются в Linux, FreeBSD, Solaris, HP-UX, AIX, OpenBSD, NetBSD.

Пример:

system.cpu.util[0,user,avg5]
system.hostname[<тип>, <преобразование>]


Системное имя хоста.
Возвращаемое значение: Строка.
Смотрите Поддерживаемые платформы.

Параметры:

  • тип — возможные значения: netbios (по умолчанию на Windows), host (по умолчанию на Linux), shorthost (возвращает часть имени хоста до первой точки, всю строку для имён без точек), fqdn (возвращает полное доменное имя);
  • преобразование — возможные значения: none (по умолчанию) или lower (конвертация в нижний регистр).

Значение получается путём извлечения значения nodename из вывода системного API uname().

Примеры возвращаемых значений:

system.hostname → linux-w7x1
system.hostname → example.com
system.hostname[shorthost] → example
system.hostname → WIN-SERV2008-I6
system.hostname[host] → Win-Serv2008-I6LonG
system.hostname[host,lower] → win-serv2008-i6long
system.hostname[fqdn,lower] → blog.zabbix.com
system.hw.chassis[<информация>]


Информация о шасси.
Возвращаемое значение: Строка.
Поддерживаемые платформы: Linux.

Параметр:

  • информация — возможные значения: full (по умолчанию), model, serial, type или vendor

Комментарии:

  • Этот ключ элемента данных зависит от доступности таблицы SMBIOS;
  • Будет выполнена попытка чтения таблицы DMI из sysfs; если доступ к sysfs будет неудачным, тогда будет попытка чтения напрямую из памяти;
  • Требуются права root, потому что значение читается из sysfs или памяти.

Пример:

system.hw.chassis[full] → Hewlett-Packard HP Pro 3010 Small Form Factor PC CZXXXXXXXX Desktop
system.hw.cpu[<cpu>,<информация>]


Информация о CPU.
Возвращаемое значение: Строка или Целое число.
Поддерживаемые платформы: Linux.

Параметры:

  • cpu<номер CPU> или all (по умолчанию);
  • информация — возможные значения: full (по умолчанию), curfreq, maxfreq, model или vendor.

Комментарии:

  • Информация собирается из /proc/cpuinfo и из /sys/devices/system/cpu/[cpunum]/cpufreq/cpuinfo_max_freq;
  • Если указаны номер CPU и curfreq или maxfreq, то возвращается числовое значение (Гц).

Пример:

system.hw.cpu[0,vendor] → AuthenticAMD
system.hw.devices[<тип>]


Список PCI или USB устройств.
Возвращаемое значение: Текст.
Поддерживаемые платформы: Linux.

Параметр:

  • типpci (по умолчанию) или usb

Возвращает вывод утилит lspci или lsusb (выполняются без каких либо параметров).

Пример:

system.hw.devices → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
system.hw.macaddr[<интерфейс>,<формат>]


Список MAC адресов.
Возвращаемое значение: Строка.
Поддерживаемые платформы: Linux.

Параметры:

  • интерфейсall (по умолчанию) или регулярное выражение;
  • форматfull (по умолчанию) или short

Комментарии:

  • Список MAC адресов интерфейсов, чьи имена соответствуют заданному в параметре интерфейс регулярному выражению (all перечисляет все интерфейсы);
  • Если формат задан значением short, имена интерфейсов и одинаковые MAC адреса не попадут в список.

Пример:

system.hw.macaddr["eth0$",full] → [eth0] 00:11:22:33:44:55
system.localtime[<тип>]


Системное время.
Возвращаемое значение: Целое число — с тип как utc; String — с тип как local.
Смотрите Поддерживаемые платформы.

Параметры:

  • тип — возможные значения: utc — (по умолчанию) время с начала Эпохи (00:00:00 UTC, Январь 1, 1970), измеренное в секундах, или же local — время в формате 'гггг-мм-дд,чч:мм:сс.ннн,+чч:мм'

С Zabbix агентом необходимо использовать только как пассивную проверку; с Zabbix агентом 2 можно настраивать и как активную проверку.

Пример:

system.localtime[local] #создайте элемент данных, используя этот ключ, и далее используйте его для отображения времени узла сети в виджете панели *Часы*.
system.run[команда,<режим>]


Выполнение указанной команды на узле сети.
Возвращаемое значение: Текст с результатом выполнения команды, либо 1 — c режимом со значением nowait (независимо от результата выполнения команды).
Смотрите Поддерживаемые платформы.

Параметры:

  • команда — выполняемая команда;
  • режим — возможные значения: wait — ожидать завершения выполнения (по умолчанию) или nowait — не ожидать.

Комментарии:

  • Этот элемент данных по умолчанию отключён. Узнайте, как их включить;
  • Возвращаемое значение элемента данных является стандартным выводом совместно со стандартным выводом ошибок, которые получены от команды. Код завершения не проверяется;
  • Для корректной обработки возвращаемое командой значение должно иметь тип данных текст. Пустой результат также допустим;
  • Возвращаемое значение ограничено 16 МБ (включая конечные пробелы, которые усекаются); также применяются ограничения баз данных;
  • Смотрите также: Выполнение команд.

Пример:

system.run[ls -l /] #возвратить подробный список файлов в корневой папке
system.stat[ресурс,<тип>]


Системная статистика.
Возвращаемое значение: Целое число или число с плавающей точкой.
Поддерживаемые платформы: AIX.

Параметры:

  • ent — количество процессорных единиц, выделенных на ресурс (число с плавающей точкой);
  • kthr,<тип> — информация о состояниях потоков ядра:
    r — среднее количество запускаемых потоков ядра (число с плавающей точкой)
    b — среднее количество потоков ядра, помещённых в очередь ожидания Менеджера Виртуальный Памяти (число с плавающей точкой)
  • memory,<тип> — информация об использовании виртуальной и реальной памяти:
    avm — активные виртуальные страницы (целое число)
    fre — размер свободного списка (целое число)
  • page,<тип> — информация об ошибках страниц и активности страниц:
    fi — количество загрузок страниц в секунду (число с плавающей точкой)
    fo — количество выгрузок страниц в секунду (число с плавающей точкой)
    pi — страницы, загруженные из пространства подкачки (число с плавающей точкой)
    po — страницы, выгруженные в пространство подкачки (число с плавающей точкой)
    fr — освобождённые страницы (замена страниц) (число с плавающей точкой)
    sr — количество страниц, сканированных алгоритмом замены страниц (число с плавающей точкой)
  • faults,<тип> — соотношение ловушек и прерываний:
    in — прерывания устройства (число с плавающей точкой)
    sy — системные вызовы (число с плавающей точкой)
    cs — переключения контекста потока ядра (число с плавающей точкой)
  • cpu,<тип> — распределение процессорного времени в процентах:
    us — пользовательское время (число с плавающей точкой)
    sy — системное время (число с плавающей точкой)
    id — время простоя (число с плавающей точкой)
    wa — время простоя, в ходе которого система обрабатывала запросы I/O диска/NFS (число с плавающей точкой)
    pc — количество использованных физических процессоров (число с плавающей точкой)
    ec — процент потреблённой выделенной ёмкости (число с плавающей точкой)
    lbusy — отображает утилизацию в процентах для логических процессор(ов), которая произошла при выполнении уровней пользователя и системы (число с плавающей точкой)
    app — отображает количество доступных физических процессоров в общем пуле (число с плавающей точкой)
  • disk,<тип> — статистика о дисках:
    bps — показывает объём данных, переданных (прочитанных или записанных) на диск в байтах в секунду (целое число)
    tps — показывает количество передач за секунду, которые произошли на физическом диске/ленте (число с плавающей точкой)

Комментарии:

  • Обратите внимание на следующие ограничения в этих элементах данных:
    system.stat[cpu,app] — поддерживается только на AIX LPAR с типом «Shared»
    system.stat[cpu,ec] — поддерживается на AIX LPAR с типом «Shared» и «Dedicated» («Dedicated» всегда возвращает 100 (процентов))
    system.stat[cpu,lbusy] — поддерживается только на AIX LPAR с типом «Shared»
    system.stat[cpu,pc] — поддерживается на AIX LPAR с типом «Shared» и «Dedicated»
    system.stat[ent] — поддерживается на AIX LPAR с типом «Shared» и «Dedicated»
system.sw.arch


Информация об архитектуре программного обеспечения.
Возвращаемое значение: Строка.
Смотрите Поддерживаемые платформы.

Для получения информации используется функция uname().

Пример:

system.sw.arch → i686
system.sw.os[<информация>]


Информация об операционной системе.
Возвращаемое значение: Строка.
Поддерживаемые платформы: Linux, Windows.

Параметр:

  • информация — возможные значения: full (по умолчанию), short или name

Информация извлекается из (обратите внимание, что не все файлы и опции представлены во всех дистрибутивах):

  • /proc/version (full) в Linux;
  • /proc/version_signature (short) в Linux;
  • Параметр PRETTY_NAME из /etc/os-release на Linux-системах, которые его поддерживают, или /etc/issue.net (name);
  • ключ реестра HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion в Windows.

Примеры:

system.sw.os[short] → Ubuntu 2.6.35-28.50-generic 2.6.35.11
system.sw.os[full] → [s|Windows 10 Enterprise 22621.1.asd64fre.ni_release.220506-1250 Build 22621.963]
system.sw.os.get


Подробная информация об операционной системе (версия, тип, название дистрибутива, младшая и старшая версии и т. д).
Возвращаемое значение: JSON string.
Поддерживаемые платформы: Linux, Windows.

system.sw.packages[<регулярное выражение>,<менеджер>,<формат>]


Список установленных пакетов.
Возвращаемое значение: Текст.
Поддерживаемые платформы: Linux.

Параметры:

  • регулярное выражениеall (по умолчанию) или регулярное выражение;
  • менеджерall (по умолчанию) или конкретный менеджер пакетов;
  • форматfull (по умолчанию) или short.

Комментарии:

  • Список (в алфавитном порядке) установленных пакетов, имена которых соответствуют заданному регулярному выражению (all перечисляет их все);
  • Поддерживаемые менеджеры пакетов (выполняемые команды):
    dpkg (dpkg --get-selections)
    pkgtool (ls /var/log/packages)
    rpm (rpm -qa)
    pacman (pacman -Q)
    portage
  • Если формат указан значением full, пакеты группируются по менеджерам пакетов (каждый менеджер с отдельной строки, которая начинается с его имени, заключённого в квадратные скобки);
  • Если формат указан значением short, пакеты не группируются и отображаются одной строкой.

Примеры:

system.sw.packages[mini,dpkg,short] → python-minimal, python2.6-minimal, ubuntu-minimal
system.sw.packages.get[<regexp>,<manager>]


Подробный список установленных пакетов.
Возвращаемое значение: JSON string.
Поддерживаемые платформы: Linux.

Параметры:

  • regexp - all (по умолчанию) или регулярное выражение;
  • manager - all (по умолчанию) или менеджер пакетов (возможные значения: rpm, dpkg, pkgtool, pacman или portage).

Комментарии:

  • Возвращает неформатированный JSON с установленными пакетами, имя которых соответствует заданному регулярному выражению.
  • Вывод представляет собой массив объектов, каждый из которых содержит следующие ключи: name, manager, version, size, architecture, buildtime и installtime (см. подробности).
system.swap.in[<устройство>,<тип>]


Статистика файла подкачки в (с устройства в память).
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, OpenBSD.

Parameters:

  • устройство — указать устройство, используемое для файла подкачки (только Linux) или all (по умолчанию);
  • тип — возможные значения: count (количество подкачек, по умолчанию на платформах, отличных от Linux), sectors (подкачанные сектора) или pages (подкачанные страницы, по умолчанию в Linux).

Комментарии:

  • Источником этой информации является:
    /proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
    /proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
  • Обратите внимание, что pages будет работать, только если устройство не указано;
  • Параметр типа sectors поддерживается только в Linux.

Пример:

system.swap.in[,pages]
system.swap.out[<устройство>,<тип>]


Статистика файла подкачки из (из памяти на устройство).
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, OpenBSD.

Параметры:

  • устройство — указать устройство, используемое для файла подкачки (только Linux) или all (по умолчанию);
  • тип — возможные значения: count (количество выгрузок, по умолчанию на платформах, отличных от Linux), sectors (выгруженные сектора) или pages (выгруженные страницы, по умолчанию в Linux).

Комментарии:

  • Источником этой информации является:
    /proc/swaps, /proc/partitions, /proc/stat (Linux 2.4)
    /proc/swaps, /proc/diskstats, /proc/vmstat (Linux 2.6)
  • Обратите внимание, что pages будет работать, только если устройство не указано;
  • Параметр типа sectors поддерживается только в Linux.

Пример:

system.swap.out[,pages]
system.swap.size[<устройство>,<тип>]


Размер файла подкачки в байтах или процентах от общего размера.
Возвращаемое значение: Целое число — для количества байт; Число с плавающей точкой — для процентов.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, AIX, OpenBSD, Windows.

Параметры:

  • устройство — устройство, используемое для файла подкачки (только FreeBSD) или all (по умолчанию);
  • тип — возможные значения: free (свободно в файле подкачки, по умолчанию), pfree (свободно в файле подкачки, в процентах), pused (используемое место в файле подкачки, в процентах), total (полный размер файла подкачки) или used (используется места в файле подкачки).

Комментарии:

  • Обратите внимание, что pfree, pused не поддерживаются в Windows, если размер подкачки равен 0;
  • Если устройство не указано, Zabbix агент будет брать во внимание только swap устройства (файлы), физическая память будет игнорироваться. Например, на Solaris системах команда swap -s включает часть физической памяти и swap устройства (в отличие от swap -l).

Пример:

system.swap.size[,pfree] → свободное место в файле подкачки в процентах
system.uname


Идентификация системы.
Возвращаемое значение: Строка.
Смотрите Поддерживаемые платформы.

Комментарии:

  • В Unix значение этого элемента данных извлекается при помощи системного вызова uname();
  • Этот элемент данных в Windows возвращает архитектуру ОС, тогда как в Unix он возвращает архитектуру CPU.

Примеры:

system.uname → FreeBSD localhost 4.2-RELEASE FreeBSD 4.2-RELEASE #0: Mon Nov i386
system.uname → Windows ZABBIX-WIN 6.0.6001 Microsoft® Windows Server® 2008 Standard Service Pack 1 x86
system.uptime


Время работы в секундах.
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, AIX, MacOS X, OpenBSD, NetBSD, Windows.

Для получения читабельных значений используйте при настройке элемента данных единицы измерения s или uptime.

system.users.num


Количество пользователей, находящихся в системе.
Возвращаемое значение: Целое число.
Смотрите Поддерживаемые платформы.

Для получения значений используется команда who на стороне агента.

vfs.dev.discovery


Список блочных устройств и их тип. Используется для обнаружения на низком уровне.
Возвращаемое значение: JSON string.
Поддерживаемые платформы: Linux.

vfs.dev.read[<устройство>,<тип>,<режим>]


Статистика чтения диска.
Возвращаемое значение: Целое число — с тип, равным sectors, operations, bytes; Число с плавающей точкой — с тип, равным sps, ops, bps.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, AIX, OpenBSD.

Параметры:

  • устройство — дисковое устройство (по умолчанию all 3);
  • тип — возможные значения: sectors, operations, bytes, sps, ops или bps (sps, ops, bps соответствуют: секторам, операциям, байтам в секунду соответственно);
  • режим — возможные значения: avg1 (усреднение за минуту, по умолчанию), avg5 или avg15. Этот параметр поддерживается, только если тип один из: sps, ops, bps.

Комментарии:

  • При использовании интервала обновления три часа или более2 этот элемент данных всегда будет возвращать «0»;
  • Параметры типа sectors и sps поддерживаются только в Linux;
  • Параметр типа ops поддерживается только в Linux и FreeBSD;
  • Параметр типа bps поддерживается только в FreeBSD;
  • Параметр типа bytes поддерживается только в FreeBSD, Solaris, AIX, OpenBSD;
  • Параметр режим поддерживается только в Linux, FreeBSD;
  • Можно использовать относительные имена устройств (например, sda), а также необязательный префикс /dev/ (например, /dev/sda)
  • Поддерживаются логические тома LVM;
  • Значения по умолчанию параметра «тип» для различных ОС:
    AIX — operations
    FreeBSD — bps
    Linux — sps
    OpenBSD — operations
    Solaris — bytes
  • sps, ops и bps на поддерживаемых платформах ограничены 1024 устройствами (1023 индивидуальных и одно для all).

Пример:

vfs.dev.read[,operations]
vfs.dev.write[<устройство>,<тип>,<режим>]


Статистика записи на диск.
Возвращаемое значение: Целое число — при тип равном sectors, operations, bytes; Число с плавающей точкой — при тип равном sps, ops, bps.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, AIX, OpenBSD.

Параметры:

  • устройство — дисковое устройство (по умолчанию all 3);
  • тип — возможные значения: sectors, operations, bytes, sps, ops или bps (sps, ops, bps соответствуют: секторам, операциям, байтам в секунду соответственно);
  • режим — возможные значения: avg1 (усреднение за минуту, по умолчанию), avg5 или avg15. Этот параметр поддерживается, только если тип один из: sps, ops, bps.

Комментарии:

  • При использовании интервала обновления три часа или более2 этот элемент данных всегда будет возвращать «0»;
  • Параметры типа sectors и sps поддерживаются только в Linux;
  • Параметр типа ops поддерживается только в Linux и FreeBSD;
  • Параметр типа bps поддерживается только в FreeBSD;
  • Параметр типа bytes поддерживается только в FreeBSD, Solaris, AIX, OpenBSD;
  • Параметр режим поддерживается только в Linux, FreeBSD;
  • Можно использовать относительные имена устройств (например, sda), а также необязательный префикс /dev/ (например, /dev/sda);
  • Поддерживаются логические тома LVM;
  • Значения по умолчанию параметра «тип» для различных ОС:
    AIX — operations
    FreeBSD — bps
    Linux — sps
    OpenBSD — operations
    Solaris — bytes
  • sps, ops и bps на поддерживаемых платформах ограничены 1024 устройствами (1023 индивидуальных и одно для all).

Пример:

vfs.dev.write[,operations]
vfs.dir.count[dir,<regex incl>,<regex excl>,<types incl>,<types excl>,<max depth>,<min size>,<max size>,<min age>,<max age>,<regex excl dir>]


Количество записей в каталоге.
Возвращаемое значение: Integer.
См. поддерживаемые платформы.

Параметры:

  • dir - абсолютный путь к каталогу;
  • regex incl - регулярное выражение, описывающее шаблон имени объекта (файл, каталог, символическая ссылка), который нужно включить; если пусто, включаются все (значение по умолчанию);
  • regex excl - регулярное выражение, описывающее шаблон имени объекта (файл, каталог, символическая ссылка), который нужно исключить; если пусто, ничего не исключается (значение по умолчанию);
  • types incl - типы записей каталога, которые нужно учитывать, возможные значения: file - обычный файл, dir - подкаталог, sym - символическая ссылка, sock - сокет, bdev - блочное устройство, cdev - символьное устройство, fifo - FIFO, dev - синоним для "bdev,cdev", all - все типы (по умолчанию), то есть "file,dir,sym,sock,bdev,cdev,fifo". Несколько типов должны быть разделены запятыми и заключены в кавычки.
  • types excl - типы записей каталога (см. types incl), которые НЕ нужно учитывать. Если один и тот же тип записи указан и в types incl, и в types excl, записи этого типа НЕ учитываются.
  • max depth - максимальная глубина обхода подкаталогов:
    -1 (по умолчанию) - без ограничений,
    0 - без перехода в подкаталоги.
  • min size - минимальный размер (в байтах) файла, который будет учитываться. Файлы меньшего размера учитываться не будут. Можно использовать суффиксы памяти.
  • max size - максимальный размер (в байтах) файла, который будет учитываться. Файлы большего размера учитываться не будут. Можно использовать суффиксы памяти.
  • min age - минимальный возраст (в секундах) записи каталога, которая будет учитываться. Более новые записи учитываться не будут. Можно использовать суффиксы времени.
  • max age - максимальный возраст (в секундах) записи каталога, которая будет учитываться. Записи такой давности и старше учитываться не будут (время изменения). Можно использовать суффиксы времени.
  • regex excl dir - регулярное выражение, описывающее шаблон имени каталога, который нужно исключить. Все содержимое каталога будет исключено (в отличие от regex_excl)

Комментарии:

  • В Windows этот элемент данных следует по UNC-путям, что может представлять риск безопасности.
  • Переменные среды, например %APP_HOME%, $HOME и %TEMP%, не поддерживаются.
  • Псевдокаталоги "." и ".." никогда не учитываются.
  • Символические ссылки никогда не используются при обходе каталогов.
  • И regex incl, и regex excl применяются к файлам и каталогам при вычислении количества записей, но игнорируются при выборе подкаталогов для обхода (если regex incl равно "(?i)\^.+\.zip$" и max depth не задан, то будут обходиться все подкаталоги, но учитываться будут только файлы типа zip).
  • Время выполнения ограничено значением тайм-аута в конфигурации агента configuration (3 sec). Поскольку обход больших каталогов может занять больше времени, данные возвращены не будут, и элемент данных перейдет в состояние неподдерживаемого. Частичный результат не возвращается.
  • При фильтрации по размеру значимы только обычные файлы. В Linux и BSD каталоги тоже имеют ненулевой размер (обычно несколько КБ). У устройств размер равен нулю, например размер /dev/sda1 не отражает размер соответствующего раздела. Поэтому при использовании <min_size> и <max_size> рекомендуется указывать <types_incl> как "file", чтобы избежать неожиданностей.

Примеры:

vfs.dir.count[/dev] #мониторинг количества устройств в /dev (Linux)
vfs.dir.count["C:\Users\ADMINI~1\AppData\Local\Temp"] #мониторинг количества файлов во временном каталоге
vfs.dir.get[dir,<regex incl>,<regex excl>,<types incl>,<types excl>,<max depth>,<min size>,<max size>,<min age>,<max age>,<regex excl dir>]


Список записей каталога.
Возвращаемое значение: JSON string.
См. поддерживаемые платформы.

Параметры:

  • dir - абсолютный путь к каталогу;
  • regex incl - регулярное выражение, описывающее шаблон имени объекта (файл, каталог, символическая ссылка) для включения; если пусто, включаются все (значение по умолчанию);
  • regex excl - регулярное выражение, описывающее шаблон имени объекта (файл, каталог, символическая ссылка) для исключения; если пусто, ничего не исключается (значение по умолчанию);
  • types incl - типы записей каталога для вывода, возможные значения: file - обычный файл, dir - подкаталог, sym - символическая ссылка, sock - сокет, bdev - блочное устройство, cdev - символьное устройство, fifo - FIFO, dev - синоним для "bdev,cdev", all - все типы (по умолчанию), то есть "file,dir,sym,sock,bdev,cdev,fifo". Несколько типов должны быть разделены запятыми и заключены в кавычки.
  • types excl - типы записей каталога (см. types incl), которые НЕ нужно выводить. Если какой-либо тип записи указан и в types incl, и в types excl, записи этого типа НЕ выводятся.
  • max depth - максимальная глубина обхода подкаталогов:
    -1 (по умолчанию) - без ограничений,
    0 - без перехода в подкаталоги.
  • min size - минимальный размер (в байтах) файла для вывода. Файлы меньшего размера не будут выведены. Можно использовать суффиксы памяти.
  • max size - максимальный размер (в байтах) файла для вывода. Файлы большего размера не будут выведены. Можно использовать суффиксы памяти.
  • min age - минимальный возраст (в секундах) записи каталога для вывода. Более новые записи не будут выведены. Можно использовать суффиксы времени.
  • max age - максимальный возраст (в секундах) записи каталога для вывода. Записи такой давности и старше не будут выведены (время изменения). Можно использовать суффиксы времени.
  • regex excl dir - регулярное выражение, описывающее шаблон имени каталога для исключения. Все содержимое каталога будет исключено (в отличие от regex excl)

Комментарии:

  • В Windows этот элемент данных следует по UNC-путям, что может быть риском безопасности.
  • Переменные среды, например %APP_HOME%, $HOME и %TEMP%, не поддерживаются.
  • Псевдокаталоги "." и ".." никогда не выводятся.
  • Символические ссылки никогда не используются для обхода каталогов.
  • И regex incl, и regex excl применяются к файлам и каталогам при формировании списка записей, но игнорируются при выборе подкаталогов для обхода (если regex incl равно "(?i)\^.+\.zip$" и max depth не задан, то будут обходиться все подкаталоги, но учитываться будут только файлы типа zip).
  • Время выполнения ограничено значением тайм-аута в конфигурации агента configuration. Поскольку обход больших каталогов может занять больше времени, данные не будут возвращены, и элемент данных станет неподдерживаемым. Частичный список возвращен не будет.
  • При фильтрации по размеру значимы только размеры обычных файлов. В Linux и BSD каталоги также имеют ненулевой размер (обычно несколько КБ). Устройствам соответствует нулевой размер, например размер /dev/sda1 не отражает размер соответствующего раздела. Поэтому при использовании min size и max size рекомендуется указывать types incl как "file", чтобы избежать неожиданностей.

Примеры:

vfs.dir.get[/dev] #получает список устройств в /dev (Linux)
vfs.dir.get["C:\Users\ADMINI~1\AppData\Local\Temp"] #получает список файлов во временном каталоге
vfs.dir.size[директория,<regex_вкл>,<regex_искл>,<режим>,<макс_глубина>,<regex_искл_директории>]


Размер директории (в байтах).
Возвращаемое значение: Целое число.
Поддерживаемые платформы: Linux, Windows. Элемент данных может работать на других UNIX-подобных платформах.

Параметры:

  • директория — абсолютный путь к директории;
  • regex_вкл — регулярное выражение, описывающее шаблон включаемых имён сущностей (файлов, директорий и символических ссылок); если пусто, включается всё (по умолчанию);
  • regex_искл — регулярное выражение, описывающее шаблон исключаемых имен сущностей (файлов, директорий и символических ссылок); если пусто (по умолчанию), исключения не применяются;
  • режим — возможные значения: apparent (по умолчанию) — получение реальных размеров файлов вместо использования диска (работает как du -sb директория), disk — получение использования диска (работает как du -s -B1 директория). В отличие от команды du, элемент данных vfs.dir.size при вычислении размера директории учитывает скрытые файлы (работает как du -sb .[^.]* * в пределах директории).
  • макс_глубина — максимальная глубина сканируемых поддиректорий: -1 (по умолчанию) — без ограничения, 0 — не опускаться в поддиректории.
  • regex_искл_директории — регулярное выражение, описывающее шаблон имён исключаемых директорий. Всё содержимое директории будет исключено (в отличие от regex_искл).

Комментарии:

  • В Windows этот элемент данных использует UNC-пути, что может представлять собой угрозу безопасности;
  • Подсчитываются только те директории, к которым пользователь zabbix имеет по крайней мере права чтения. Для директорий с доступом только на чтение рассчитывается размер самой директории. Директории с доступом на чтение и выполнение обсчитываются, включая содержимое.
  • При наличии больших директорий или медленных дисков этот элемент данных может превысить время ожидания из-за настройки Timeout в файлах конфигурации агента и сервера/прокси. При необходимости увеличьте эти значения времени ожидания.
  • Ограничение размера файлов зависит от наличия поддержки больших файлов.

Примеры:

vfs.dir.size[/tmp,log] #вычисление размеров всех файлов в /tmp, которые содержат в своём имени «log»
vfs.dir.size[/tmp,log,^.+\.old$] #вычисление размеров всех файлов в /tmp, которые содержат в своём имени «log», исключая файлы с именами, оканчивающимися на «.old»
vfs.file.cksum[файл,<режим>]


Контрольная сумма файла, вычисленная по алгоритму, используемому в UNIX cksum.
Возвращаемое значение: Целое число — с режимом в значении crc32, Строка — с режимом в значениях md5, sha256.
Смотрите Поддерживаемые платформы.

Параметры:

  • файл — абсолютный путь к файлу;
  • режимcrc32 (default), md5 или sha256.

Комментарии:

Пример:

vfs.file.cksum[/etc/passwd]

Примеры возвращаемых значений (для crc32/md5/sha256 соответственно):

675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc
vfs.file.contents[файл,<кодировка>]


Получение содержимого файла7.
Возвращаемое значение: Текст.
Смотрите Поддерживаемые платформы.

Параметры:

  • файл — абсолютный путь к файлу;
  • кодировкаидентификатор кодовой страницы.

Комментарии:

  • В Windows этот элемент данных использует UNC-пути, что может представлять собой угрозу безопасности;
  • Возвращаемое значение ограничено 16 МБ (включая конечные пробелы, которые усекаются); также применяются ограничения баз данных;
  • Возвращается пустая строка, если файл пустой или содержит только символы LF/CR;
  • Маркер последовательности байтов (BOM) исключён из вывода.

Пример:

vfs.file.contents[/etc/passwd]
vfs.file.exists[файл,<типы_вкл>,<типы_искл>]


Проверка существования файла.
Возвращаемое значение: 0 — файл не найден; 1 — файл заданного типа существует.
Смотрите Поддерживаемые платформы.

Параметры:

  • файл — абсолютный путь к файлу;
  • типы_вкл — список включаемых типов файлов, возможные значения: file (обычный файл, по умолчанию (если типы_искл не задан)), dir (директория), sym (символическая ссылка), sock (сокет), bdev (блочное устройство), cdev (устройство посимвольного ввода-вывода), fifo (FIFO), dev (синоним к "bdev,cdev"), all (все вышеупомянутые типы, по умолчанию если типы_искл задан).
  • типы_искл — список исключаемых типов файлов, смотрите типы_вкл для получения возможных значений (по умолчанию никакие типы не исключаются).

Комментарии:

  • В Windows этот элемент данных использует UNC-пути, что может представлять собой угрозу безопасности;
  • Несколько типов необходимо разделять запятой и весь список заключать в "" кавычки;
  • Если какие-либо типы записей указаны как в <типы_вкл>, так и в <типы_искл>, файлы этих типов будут исключены;
  • Ограничение размера файла зависит от поддержки больших файлов.

Примеры:

vfs.file.exists[/tmp/application.pid]
vfs.file.exists[/tmp/application.pid,"file,dir,sym"]
vfs.file.exists[/tmp/application_dir,dir]
vfs.file.get[file]


Возвращает информацию о файле.
Возвращаемое значение: JSON string.
См. поддерживаемые платформы.

Параметр:

  • file - полный путь к файлу

Комментарии:

  • В Windows этот элемент данных следует по UNC-путям, что может представлять риск для безопасности.
  • Поддерживаемые типы файлов в UNIX-подобных системах: обычный файл, каталог, символическая ссылка, сокет, блочное устройство, символьное устройство, FIFO.
  • Ограничение размера файла зависит от поддержки больших файлов.

Пример:

vfs.file.get[/etc/passwd] #return a JSON with information about the /etc/passwd file (type, user, permissions, SID, uid etc)
vfs.file.md5sum[файл]


MD5 контрольная сумма файла.
Возвращаемое значение: Строка (MD5 хеш-сумма файла).
Смотрите Поддерживаемые платформы.

Параметр:

  • файл — абсолютный путь к файлу

Комментарии:

Пример:

vfs.file.md5sum[/usr/local/etc/zabbix_agentd.conf]

Пример возвращаемого значения:

b5052decb577e0fffd622d6ddc017e82
vfs.file.owner[файл,<тип_владельца>,<тип_результата>]


Получение владельца файла.
Возвращаемое значение: Строка.
Смотрите Поддерживаемые платформы.

Параметры:

  • файл — абсолютный путь к файлу;
  • тип_владельцаuser (по умолчанию) или group (только в Unix);
  • тип_результатаname (по умолчанию) или id; в случае с id — получение uid/gid на Unix, SID на Windows.

Комментарии:

Примеры:

vfs.file.owner[/tmp/zabbix_server.log] #получение владельца файла /tmp/zabbix_server.log
vfs.file.owner[/tmp/zabbix_server.log,,id] #получение ID владельца файла /tmp/zabbix_server.log
vfs.file.permissions[файл]


Получение строки из 4 цифр, содержащей восьмеричное число с правами доступа Unix.
Возвращаемое значение: Строка.
Поддерживаемые платформы: Linux. Элемент данных может работать на других UNIX-подобных платформах.

Параметры:

  • файл — абсолютный путь к файлу

Ограничение размера файла зависит от поддержки больших файлов.

Пример:

vfs.file.permissions[/etc/passwd] #получение прав доступа к /etc/passwd, например, «0644»
vfs.file.regexp[файл,регулярное выражение,<кодировка>,<начальная строка>,<конечная строка>,<вывод>]


Извлечение строки в файле7.
Возвращаемое значение: Строка, содержащая совпадающую подстроку, или то, что определено в дополнительном параметре вывод.
Смотрите Поддерживаемые платформы.

Параметры:

  • файл — абсолютный путь к файлу;
  • регулярное выражение — регулярное выражение, описывающее требуемый шаблон;
  • кодировкаидентификатор кодовой страницы;
  • начальная строка — номер первой строки для поиска (по умолчанию первая строка файла);
  • конечная строка — номер последней строки для поиска (по умолчанию последняя строка файла);
  • вывод — дополнительный шаблон форматирования вывода. Управляющая последовательность \0 заменяется найденной частью текста (начиная от первого символа совпадения, заканчивая символом, где совпадение заканчивается), тогда как управляющая последовательность \N (где N=1..9) заменяется N-ной совпадающей группой (или пустой строкой, если N превышает количество найденных групп).

Комментарии:

  • В Windows этот элемент данных использует UNC-пути, что может представлять собой угрозу безопасности;
  • Ограничение размера файла зависит от поддержки больших файлов.
  • Возвращается только первая совпавшая строка;
  • Если совпадений с выражением не найдено, будет возвращена пустая строка;
  • Маркер последовательности байтов (BOM) исключается из вывода;
  • Извлечение содержимого при использовании параметра вывод выполняется агентом.

Примеры:

vfs.file.regexp[/etc/passwd,zabbix]
vfs.file.regexp[/path/to/some/file,"([0-9]+)$",,3,5,\1]
vfs.file.regexp[/etc/passwd,"^zabbix:.:([0-9]+)",,,,\1] → получение ID пользователя *zabbix*
vfs.file.regmatch[файл,регулярное выражение,<кодировка>,<начальная строка>,<конечная строка>]


Поиск строки в файле7.
Возвращаемые значения: 0 — совпадение не найдено; 1 — найдено.
Смотрите Поддерживаемые платформы.

Параметры:

  • файл — абсолютный путь к файлу;
  • регулярное выражение — регулярное выражение, описывающее требуемый шаблон;
  • кодировкаидентификатор кодовой страницы;
  • начальная строка — номер первой строки для поиска (по умолчанию первая строка файла);
  • конечная строка — номер последней строки для поиска (по умолчанию последняя строка файла).

Комментарии:

Пример:

vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[файл,<режим>]


Размер файла (в байтах).
Возвращаемое значение: Целое число.
Смотрите Поддерживаемые платформы.

Параметры:

  • файл — абсолютный путь к файлу;
  • режим — возможные значения: bytes (по умолчанию) или lines (пустые строки также считаются).

Комментарии:

Пример:

vfs.file.size[/var/log/syslog]
vfs.file.time[файл,<режим>]


Информация о времени файла.
Возвращаемое значение: Целое число (Unix timestamp).
Смотрите Поддерживаемые платформы.

Параметры:

  • файл — полный путь к файлу;
  • режим — возможные значения:
    modify (по умолчанию) — время последней модификации содержимого файла,
    access — время последнего чтения файла,
    change — время последнего изменения свойств файла.

Комментарии:

Пример:

vfs.file.time[/etc/passwd,modify]
vfs.fs.discovery


Список смонтированных файловых систем с указанием их типа и параметров монтирования. Используется для обнаружения на низком уровне.
Возвращаемое значение: JSON string.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

vfs.fs.get


Список смонтированных файловых систем с их типом, доступным дисковым пространством, статистикой inode и параметрами монтирования. Может использоваться для низкоуровневого обнаружения.
Возвращаемое значение: JSON string.
Поддерживаемые платформы: Linux, FreeBSD, Solaris, HP-UX, AIX, MacOS X, OpenBSD, NetBSD, Windows.

Комментарии:

vfs.fs.inode[fs,<режим>]


Количество или процент inodes.
Возвращаемое значение: Целое число — для количества; Число с плавающей точной — для процентов.
Смотрите Поддерживаемые платформы.

Параметры:

  • fs — файловая система;
  • режим — возможные значения: total (по умолчанию), free, used, pfree (свободно, в процентах) или pused (использовано, в процентах).

Если количество inode'ов станет нулевым, что может случаться на файловых системах с динамическим количеством файловых дескрипторов (например, btrfs), значения pfree/pused будут сообщаться как «100» и «0» соответственно.

Пример:

vfs.fs.inode[/,pfree]
vfs.fs.size[fs,<режим>]


Дисковое пространство в байтах или процентах от общего размера.
Возвращаемое значение: Целое число — для байт; Число с плавающей точкой — для процентов.
Смотрите Поддерживаемые платформы.

Параметры:

  • fs — файловая система;
  • режим — возможные значения: total (по умолчанию), free, used, pfree (доступно, в процентах) или pused (использовано, в процентах).

Комментарии:

  • Если файловая система не примонтирована, будет возвращён размер локальной файловой системы, где расположена точка монтирования;
  • Зарезервированное место на файловой системе принимается во внимание и не включено при использовании режима free.

Пример:

vfs.fs.size[/tmp,free]
vm.memory.size[<mode>]


Размер памяти в байтах или в процентах от общего объема.
Возвращаемое значение: Integer - для байтов; Float - для процентов.
См. поддерживаемые платформы.

Параметр:

  • mode - возможные значения: total (по умолчанию), active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired, used, pused (used, percentage), available или pavailable (available, percentage).

Комментарии:

  • Этот элемент данных принимает три категории параметров:
    • total - общий объем памяти;
    • типы памяти, зависящие от платформы: active, anon, buffers, cached, exec, file, free, inactive, pinned, shared, slab, wired;
    • оценки на уровне пользователя о том, сколько памяти используется и доступно: used, pused, available, pavailable.
  • Параметр режима active поддерживается только в FreeBSD, HP-UX, MacOS X, OpenBSD, NetBSD.
  • Параметры режима anon, exec, file поддерживаются только в NetBSD.
  • Параметр режима buffers поддерживается только в Linux, FreeBSD, OpenBSD, NetBSD.
  • Параметр режима cached поддерживается только в Linux, FreeBSD, AIX, OpenBSD, NetBSD.
  • Параметры режима inactive, wired поддерживаются только в FreeBSD, MacOS X, OpenBSD, NetBSD.
  • Параметр режима pinned поддерживается только в AIX.
  • Параметр режима shared поддерживается только в Linux 2.4, FreeBSD, OpenBSD, NetBSD.
  • См. также дополнительные сведения для этого элемента данных.

Пример:

vm.memory.size[pavailable]
web.page.get[хост,<путь>,<порт>]


Получение содержимого веб-страницы.
Возвращаемое значение: Исходная веб-страница в виде текста (включая заголовки).
Смотрите Поддерживаемые платформы.

Параметры:

  • хост — имя хоста или URL (в виде схема://хост:порт/путь, где обязателен только хост). Допустимые схемы URL: http, https4. При отсутствии схемы будет обрабатываться как http. Если указан URL, тогда параметры путь и порт должны быть пустыми. При подключении к серверам, которые требуют аутентификацию, возможность указать имя пользователя/пароль, например: http://user:[email protected], имеется только с поддержкой cURL 4. В именах хостов поддерживается punycode.
  • путь — путь к HTML документу (по умолчанию /);
  • порт — номер порта (по умолчанию 80 для HTTP)

Комментарии:

  • Этот элемент данных становится неподдерживаемым, если заданный в хост ресурс не существует или недоступен;
  • хост может быть именем хоста, доменным именем, адресом IPv4 или IPv6. Но для поддержки IPv6 адресов Zabbix агент должен быть скомпилирован с включённой поддержкой IPv6.

Примеры:

web.page.get[www.example.com,index.php,80]
web.page.get[https://www.example.com]
web.page.get[https://blog.example.com/?s=zabbix]
web.page.get[localhost:80]
web.page.get["[::1]/server-status"]
web.page.perf[хост,<путь>,<порт>]


Время полной загрузки веб-страницы (в секундах).
Возвращаемое значение: Число с плавающей точкой.
Смотрите Поддерживаемые платформы.

Параметры:

  • хост — имя хоста или URL (в виде схема://хост:порт/путь, где обязателен только хост). Допустимые схемы URL: http, https4. При отсутствии схемы будет обрабатываться как http. Если указан URL, тогда параметры путь и порт должны быть пустыми. При подключении к серверам, которые требуют аутентификацию, возможность указать имя пользователя/пароль, например: http://user:[email protected], имеется только с поддержкой cURL 4. В именах хостов поддерживается punycode.
  • путь — путь к HTML документу (по умолчанию /);
  • порт — номер порта (по умолчанию 80 для HTTP)

Комментарии:

  • Этот элемент данных становится неподдерживаемым, если заданный в хост ресурс не существует или недоступен;
  • хост может быть именем хоста, доменым именем, адресом IPv4 или IPv6. Но для поддержки IPv6 адресов Zabbix агент должен быть скомпилирован с включённой поддержкой IPv6.

Примеры:

web.page.perf[www.example.com,index.php,80]
web.page.perf[https://www.example.com]
web.page.regexp[хост,<путь>,<порт>,регулярное выражение,<длина>,<вывод>]


Поиск строки на веб-странице.
Возвращаемое значение: Совпадающая строка, или указанная опциональным параметром вывод.
Смотрите Поддерживаемые платформы.

Параметры:

  • хост — имя хоста или URL (в виде схема://хост:порт/путь, где обязателен только хост). Допустимые схемы URL: http, https4. При отсутствии схемы будет обрабатываться как http. Если указан URL, тогда параметры путь и порт должны быть пустыми. При подключении к серверам, которые требуют аутентификацию, возможность указать имя пользователя/пароль, например: http://user:[email protected], имеется только с поддержкой cURL 4. В именах хостов поддерживается punycode.
  • путь — путь к HTML документу (по умолчанию /);
  • порт — номер порта (по умолчанию 80 для HTTP)
  • регулярное выражение — регулярное выражение, описывающее требуемый шаблон;
  • длина — максимальное количество возвращаемых символов;
  • вывод — дополнительный шаблон форматирования вывода. Управляющая последовательность \0 заменяется найденной частью текста (начиная от первого символа совпадения, заканчивая символом, где совпадение заканчивается), тогда как управляющая последовательность \N (где N=1..9) заменяется N-ой совпадающей группой (или пустой строкой, если N превышает количество найденных групп).

Комментарии:

  • Этот элемент данных становится неподдерживаемым, если заданный в хост ресурс не существует или недоступен;
  • хост может быть именем хоста, доменым именем, адресом IPv4 или IPv6. Но для поддержки IPv6 адресов Zabbix агент должен быть скомпилирован с включённой поддержкой IPv6.
  • Извлечение содержимого при использовании параметра вывод производится на стороне агента.

Примеры:

web.page.regexp[www.example.com,index.php,80,OK,2]
web.page.regexp[https://www.example.com,,,OK,2]
agent.hostmetadata


Метаданные узла сети агента.
Возвращаемое значение: Строка.
Смотрите Поддерживаемые платформы.

Возвращает значение параметров HostMetadata или HostMetadataItem, или пустую строку, если ничего не задано.

agent.hostname


Имя узла сети агента.
Возвращаемое значение: Строка.
Смотрите Поддерживаемые платформы.

Возвращает:

  • Пассивной проверкой — имя первого узла сети, указанного в параметре Hostname в файле конфигурации агента;
  • Активной проверкой — текущее значение имени хоста.
agent.ping


Проверка доступности агента.
Возвращаемое значение: Ничего — недоступен; 1 — доступен.
Смотрите Поддерживаемые платформы.

Используйте триггерную функцию nodata() для проверки недоступности узла сети.

agent.variant


Проверка разновидности агента (Zabbix агент или Zabbix агент 2).
Возвращаемое значение: 1 — Zabbix агент; 2 — Zabbix агент 2.
Смотрите Поддерживаемые платформы.

agent.version


Версия Zabbix агента.
Возвращаемое значение: Строка.
Смотрите Поддерживаемые платформы.

Пример возвращаемого значения:

6.0.3
zabbix.stats[<ip>,<port>]


Возвращает набор внутренних метрик сервера Zabbix или прокси. Если указаны ip и port, метрики запрашиваются у удаленного экземпляра; в противном случае — у локального экземпляра.
Возвращаемое значение: JSON string.
См. поддерживаемые платформы.

Параметры:

  • ip - список IP/DNS/сетевых масок серверов/прокси, к которым выполняется удаленный запрос (по умолчанию 127.0.0.1);
  • port - порт сервера/прокси, к которому выполняется удаленный запрос (по умолчанию 10051)

Комментарии:

  • Этот элемент данных возвращает выбранный набор внутренних метрик. Подробности см. в разделе Удаленный мониторинг статистики Zabbix.
  • Обратите внимание, что запрос статистики будет принят только с адресов, перечисленных в параметре 'StatsAllowedIP' server/proxy на целевом экземпляре.
zabbix.stats[<ip>,<port>,queue,<from>,<to>]


Возвращает количество контролируемых элементов данных в очереди, которые задерживаются на сервере Zabbix или прокси. Если указаны ip и port, метрики извлекаются с удаленного экземпляра; в противном случае — с локального экземпляра.
Возвращаемое значение: JSON string.
См. поддерживаемые платформы.

Параметры:

  • ip - список IP/DNS/сетевых масок серверов/прокси, к которым выполняется удаленный запрос (по умолчанию 127.0.0.1);
  • port - порт сервера/прокси, к которому выполняется удаленный запрос (по умолчанию 10051)
  • queue - константа (используется как есть)
  • from - задержка не менее чем на (по умолчанию 6 секунд)
  • to - задержка не более чем на (по умолчанию бесконечность)

Обратите внимание, что запрос stats будет принят только с адресов, перечисленных в параметре 'StatsAllowedIP' server/proxy на целевом экземпляре.

Примечания

1 Специфичное для Linux примечание. Zabbix агент должен иметь права «только на чтение» на файловую систему /proc. Патчи к ядру от www.grsecurity.org ограничивают права доступа непривилегированных пользователей.

2 vfs.dev.read[], vfs.dev.write[]: Zabbix агент будет прерывать «протухшие» подключения к устройствам, если значения элементов данных не опрашиваются более 3 часов. Это может произойти, если система имеет устройства с динамически меняющимися путями или если устройство было удалено вручную. Обратите также внимание, что эти элементы данных при использовании интервала обновления от 3 часов и более всегда будут возвращать значение «0».

3 vfs.dev.read[], vfs.dev.write[]: Если первым параметром используется параметр по умолчанию all, тогда ключ вернёт суммарную статистику, включая все блочные устройства, такие как sda, sdb и их разделы (sda1, sda2, sdb3…) и несколько устройств (MD raid) на основе этих блочных устройств/разделов и логические разделы (LVM) на основе этих блочных устройств/разделов. В этих случаях возвращаемые значения следует рассматривать как относительные значения (изменяемые во времени), но не как абсолютные значения.

4 SSL (HTTPS) поддерживается, только если агент скомпилирован с поддержкой cURL. В противном случае элемент данных станет неподдерживаемым.

5 Значения bytes и errors не поддерживаются для интерфейсов loopback в системах Solaris до Solaris 10 6/06 включительно, поскольку статистика байтов, ошибок и использования не сохраняется и/или не сообщается ядром. Однако, если вы отслеживаете систему Solaris через net-snmp, значения могут быть возвращены, поскольку net-snmp несёт устаревший код из cmu-snmp, датируемый 1997 годом, который при неудачном чтении значений байтов из статистики интерфейса возвращает счётчик пакетов (который существует на интерфейсах loopback), умноженный на произвольное значение 308. Предполагается, что средняя длина пакета составляет 308 октетов, что является очень грубой оценкой, поскольку ограничение MTU в системах Solaris для интерфейсов loopback составляет 8892 байта. Эти значения не следует считать правильными или даже близкими к точным. Они являются приблизительными. Zabbix агент не делает никаких предположений, но net-snmp вернёт значение для этих полей.

6 Командная строка в Solaris, полученная из /proc/pid/psinfo, ограничена 80 байтами и содержит командную строку в том виде, в котором она была при запуске процесса.

7 Элементы данных vfs.file.contents[], vfs.file.regexp[], vfs.file.regmatch[] можно использовать для получения содержимого файлов. Если вы хотите ограничить доступ к определённым файлам с конфиденциальной информацией, запустите агент Zabbix под пользователем, у которого нет прав доступа для просмотра этих файлов.

Использование с утилитами командной строки

Обратите внимание, при тестировании или использовании ключей элементов данных с утилитами zabbix_agentd или zabbix_get из командной строки вы также должны учитывать синтаксис командной оболочки.

Например, если определённый параметр ключа должен быть заключён в двойные кавычки, вам придется явно экранировать эти двойные кавычки, в противном случае они будут обрезаны командной оболочкой как специальные символы и не будут переданы утилите Zabbix.

Примеры:

zabbix_agentd -t 'vfs.dir.count[/var/log,,,"file,dir",,0]'

zabbix_agentd -t vfs.dir.count[/var/log,,,\"file,dir\",,0]

Настройки кодировки

Чтобы убедиться, что полученные данные не повреждены, вы можете указать правильную кодировку для обработки проверки (например, vfs.file.contents) в параметре encoding. Список поддерживаемых кодировок (идентификаторов кодовых страниц) можно найти в документации libiconv (проект GNU) или в документации Microsoft Windows SDK по "Code Page Identifiers". Обратите внимание, что Microsoft иногда помечает некоторые кодовые страницы как "доступные только управляемым приложениям" — то есть доступные только через среду выполнения .NET и недоступные через нативные API Win32. Агент Zabbix реализует собственную логику преобразования кодировки, поэтому такие кодовые страницы поддерживаются агентом Zabbix даже тогда, когда нативные функции Windows их не предоставляют.

Если в параметре encoding кодировка не указана, применяются следующие стратегии определения:

  • Если кодировка не указана (или указана пустая строка), считается, что используется UTF-8, данные обрабатываются "как есть";
  • Анализ BOM - применимо к элементам данных 'vfs.file.contents', 'vfs.file.regexp', 'vfs.file.regmatch'. Пытается определить правильную кодировку с использованием сигнатуры порядка байтов (BOM) в начале файла. Если BOM отсутствует - вместо этого применяется стандартное определение (см. выше).

Устранение неполадок с элементами данных агента

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