1. Zabbix агент

Обзор

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

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

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

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

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

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

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

Ключ элемента данных Описание Группа элементов данных
kernel.maxfiles Максимальное количество открытых файлов, поддерживаемое ОС. Ядро
kernel.maxproc Максимальное количество процессов, поддерживаемое ОС.
kernel.openfiles Количество открытых в данный момент файловых дескрипторов.
log Мониторинг файла журнала. Мониторинг журналов
log.count Количество совпавших строк в отслеживаемом файле журнала.
logrt Мониторинг файла журнала с ротацией.
logrt.count Количество совпавших строк в отслеживаемом файле журнала с ротацией.
modbus.get Читает данные Modbus. Modbus
net.dns Проверяет состояние службы DNS. Сеть
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 процессом. Процессы
proc.get Список процессов ОС и их параметров.
proc.mem Память, используемая процессом, в байтах.
proc.num Количество процессов.
sensor Показания аппаратного датчика. Датчики
system.boottime Время загрузки системы. Система
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 Статистика подкачки в память (с устройства в память).
system.swap.out Статистика подкачки из памяти (из памяти на устройство).
system.swap.size Размер пространства подкачки в байтах или в процентах от общего объема.
system.uname Идентификация системы.
system.uptime Время непрерывной работы системы в секундах.
system.users.num Количество вошедших в систему пользователей.
vfs.dev.discovery Список блочных устройств и их тип. Виртуальные файловые системы
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 Размер памяти в байтах или в процентах от общего объема. Виртуальная память
web.page.get Получает содержимое веб-страницы. Веб-мониторинг
web.page.perf Время загрузки полной веб-страницы.
web.page.regexp Находит строку на веб-странице.
agent.hostmetadata Метаданные узла сети агента. Zabbix
agent.hostname Имя узла сети агента.
agent.ping Проверка доступности агента.
agent.variant Вариант Zabbix агент (Zabbix агент или Zabbix агент 2).
agent.version Версия Zabbix агент.
zabbix.stats Возвращает набор внутренних метрик Zabbix сервера или прокси. Если указаны ip и port, метрики извлекаются с удаленного экземпляра; в противном случае — с локального экземпляра.
zabbix.stats Возвращает количество отслеживаемых элементов данных в очереди, которые задерживаются на 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[file,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]


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

Параметры:

  • file — полный путь и имя файла журнала;
  • regexp — регулярное выражение, описывающее требуемый шаблон;
  • encodingидентификатор кодовой страницы;
  • maxlines — максимальное количество новых строк в секунду, которое агент будет отправлять на сервер Zabbix или прокси. Этот параметр переопределяет значение 'MaxLinesPerSecond' в zabbix_agentd.conf;
  • mode — возможные значения: all (по умолчанию) или skip — пропустить обработку старых данных (влияет только на вновь созданные элементы данных);
  • output — необязательный шаблон форматирования вывода. Управляющая последовательность \0 заменяется совпавшей частью текста (от первого символа, где начинается совпадение, до символа, где совпадение заканчивается), а управляющая последовательность \N (где N=1...9) заменяется N-й совпавшей группой (или пустой строкой, если N превышает количество захваченных групп);
  • maxdelay — максимальная задержка в секундах. Тип: float. Значения: 0 — (по умолчанию) никогда не игнорировать строки файла журнала; > 0.0 — игнорировать более старые строки, чтобы анализировать самые новые строки в пределах "maxdelay" секунд. Перед использованием прочитайте примечания о maxdelay!
  • options — дополнительные параметры:
    mtime-noreread — неуникальные записи, перечитывать только при изменении размера файла (игнорировать изменение времени модификации). (Этот параметр устарел начиная с 5.0.2, поскольку теперь mtime игнорируется.)
  • persistent dir (только в zabbix_agentd в Unix-системах; не поддерживается в Zabbix agent 2) — абсолютный путь к каталогу, где следует хранить persistent-файлы. См. также дополнительные примечания о persistent-файлах.

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

  • Элемент данных должен быть настроен как активная проверка.
  • Если файл отсутствует или права доступа не позволяют получить к нему доступ, элемент данных становится неподдерживаемым.
  • Если output оставлен пустым, возвращается вся строка, содержащая совпавший текст. Обратите внимание, что все типы глобальных регулярных выражений, кроме 'Result is TRUE', всегда возвращают всю совпавшую строку, а параметр output игнорируется.
  • Извлечение содержимого с использованием параметра output выполняется на агенте.

Примеры:

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

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

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'. Поскольку отправляется числовое значение, для этого элемента данных можно установить "Тип информации" как "Числовой (без знака)", и значение можно использовать в графиках, триггерах и т. д.

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

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[file,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]


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

Параметры:

  • file — полный путь и имя файла журнала;
  • regexp — регулярное выражение, описывающее требуемый шаблон;
  • encodingидентификатор кодовой страницы;
  • maxproclines — максимальное количество новых строк в секунду, которое агент будет анализировать (не может превышать 10000). Значение по умолчанию — 10*'MaxLinesPerSecond' в zabbix_agentd.conf.
  • mode — возможные значения: all (по умолчанию) или skip — пропустить обработку старых данных (влияет только на вновь созданные элементы данных).
  • maxdelay — максимальная задержка в секундах. Тип: float. Значения: 0 — (по умолчанию) никогда не игнорировать строки файла журнала; > 0.0 — игнорировать более старые строки, чтобы обеспечить анализ самых последних строк в пределах "maxdelay" секунд. Перед использованием прочитайте примечания о maxdelay!
  • options — дополнительные параметры:
    mtime-noreread — неуникальные записи, перечитывать только при изменении размера файла (игнорировать изменение времени модификации). (Этот параметр устарел начиная с 5.0.2, поскольку теперь mtime игнорируется.)
  • persistent dir (только в zabbix_agentd в Unix-системах; не поддерживается в Zabbix agent 2) — абсолютный путь к каталогу, где следует хранить постоянные файлы. См. также дополнительные примечания о постоянных файлах.

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

  • Элемент данных должен быть настроен как активная проверка.
  • Совпавшие строки подсчитываются среди новых строк с момента последней проверки журнала агентом, и поэтому зависят от интервала обновления элемента данных.
  • Если файл отсутствует или права доступа не позволяют получить к нему доступ, элемент данных становится неподдерживаемым.
logrt[file regexp,<regexp>,<encoding>,<maxlines>,<mode>,<output>,<maxdelay>,<options>,<persistent dir>]


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

Параметры:

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

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

  • Элемент данных должен быть настроен как активная проверка.
  • Ротация логов основана на времени последней модификации файлов.
  • Обратите внимание, что logrt предназначен для работы с одним текущим активным лог-файлом и несколькими другими совпадающими неактивными ротированными файлами. Если, например, каталог содержит много активных лог-файлов, для каждого из них следует создать отдельный элемент данных logrt. В противном случае, если один элемент данных logrt обрабатывает слишком много файлов, это может привести к исчерпанию памяти и сбою мониторинга.
  • Если output оставлен пустым, возвращается вся строка, содержащая совпавший текст. Обратите внимание, что все типы глобальных регулярных выражений, кроме 'Result is TRUE', всегда возвращают всю совпавшую строку, и параметр output игнорируется.
  • Извлечение содержимого с помощью параметра output выполняется на агенте.
  • В параметре file regexp путь к каталогу логов и регулярное выражение имени лог-файла должны быть разделены правильным разделителем каталогов:
    • В 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".

Пример использования параметра output для извлечения числа из записи лога:

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'. Поскольку отправляется числовое значение, для этого элемента данных можно установить "Тип информации" как "Numeric (unsigned)", и значение можно использовать в графиках, триггерах и т. д.

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

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[file regexp,<regexp>,<encoding>,<maxproclines>,<mode>,<maxdelay>,<options>,<persistent dir>]


Количество совпавших строк в отслеживаемом журнале, для которого используется ротация.
Возвращаемое значение: Integer.
См. поддерживаемые платформы.

Параметры:

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

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

  • Элемент данных должен быть настроен как активная проверка.
  • Совпавшие строки подсчитываются среди новых строк с момента последней проверки журнала агентом, и поэтому зависят от интервала обновления элемента данных.
  • Ротация журнала определяется по времени последней модификации файлов.
  • В параметре file regexp путь к каталогу журнала и регулярное выражение для имени файла журнала должны быть разделены правильным разделителем каталогов:
    • В 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.
Поддерживаемые платформы: Linux, Windows.

Параметры:

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

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

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

net.dns[<ip>,name,<type>,<timeout>,<count>,<protocol>]


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

Параметры:

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

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

  • Возможные значения для type: 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 — служба недоступна; секунды — количество секунд, затраченных на ожидание ответа от службы).
См. поддерживаемые платформы.

Параметры:

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

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

  • Возможные значения для type:
    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.
  • Элемент данных возвращает время отклика вместо 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>,name,<type>,<timeout>,<count>,<protocol>]


Выполняет DNS-запрос.

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

Параметры:

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

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

  • Возможные значения для type:
    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]


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

Параметр:

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


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

net.if.in[if,<mode>]


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

Параметры:

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

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

  • Вы можете использовать этот ключ с шагом предобработки Change per second, чтобы получить статистику байт в секунду.
  • Режим 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,<mode>]


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

Параметры:

  • if — имя сетевого интерфейса (Unix); полное описание сетевого интерфейса или IPv4-адрес; либо, если указано в фигурных скобках, GUID сетевого интерфейса (Windows);
  • mode — возможные значения:
    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,<mode>]


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

Параметры:

  • if — имя сетевого интерфейса (Unix); полное описание сетевого интерфейса или IPv4-адрес; либо, если указано в фигурных скобках, GUID сетевого интерфейса (Windows);
  • mode — возможные значения:
    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[port]


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

Параметр:

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

В ядрах Linux 2.6.14 и выше информация о прослушиваемых TCP-сокетах по возможности получается через интерфейс NETLINK ядра. В противном случае информация извлекается из файлов /proc/net/tcp и /roc/net/tcp6.

Пример:

net.tcp.listen[80]
net.tcp.port[<ip>,port]


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

Параметры:

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

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

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

Пример:

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


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

Параметры:

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

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

  • Эти проверки могут приводить к появлению дополнительных сообщений в лог-файлах системных демонов (обычно журналируются 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[service,<ip>,<port>]


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

Параметры:

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

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

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

Пример:

net.tcp.service.perf[ssh] #этот элемент данных можно использовать для проверки скорости первоначального ответа от SSH-сервера
net.tcp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]


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

Параметры:

  • laddr — локальный IPv4/6-адрес или подсеть CIDR;
  • lport — номер локального порта или имя сервиса;
  • raddr — удалённый IPv4/6-адрес или подсеть CIDR;
  • rport — номер удалённого порта или имя сервиса;
  • state — состояние соединения (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[port]


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

Параметр:

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

Пример:

net.udp.listen[68]
net.udp.service[service,<ip>,<port>]


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

Параметры:

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

Пример:

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


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

Параметры:

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

Пример:

net.udp.service.perf[ntp] #этот элемент данных можно использовать для проверки времени отклика службы NTP
net.udp.socket.count[<laddr>,<lport>,<raddr>,<rport>,<state>]


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

Параметры:

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

Пример:

net.udp.socket.count[,,,,established] #возвращает количество UDP-сокетов в состоянии connected
proc.cpu.util[<name>,<user>,<type>,<cmdline>,<mode>,<zone>]


Процент использования CPU процессом.
Возвращаемое значение: Float.
Поддерживаемые платформы: Linux, Solaris6.

Параметры:

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

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

  • Возвращаемое значение основано на проценте использования одного ядра CPU. Например, использование CPU процессом, полностью задействующим два ядра, составит 200%.
  • Данные об использовании CPU процессом собираются сборщиком, который поддерживает максимум 1024 уникальных запроса (по имени, пользователю и командной строке). Запросы, к которым не было обращений в течение последних 24 часов, удаляются из сборщика.
  • Если параметр zone установлен в current (или используется значение по умолчанию), а агент был скомпилирован в Solaris без поддержки зон, но работает на более новой версии 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 — имя процесса (по умолчанию все процессы);
  • user — имя пользователя (по умолчанию все пользователи);
  • 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[<name>,<user>,<mode>,<cmdline>,<memtype>]


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

Параметры:

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

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

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

    См. примечания по выбору процессов с помощью параметров name и 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[<name>,<user>,<state>,<cmdline>,<zone>]


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

Параметры:

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

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

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

Примеры:

proc.num[,mysql] #количество процессов, выполняющихся от имени пользователя mysql
proc.num[apache2,www-data] #количество процессов apache2, выполняющихся от имени пользователя www-data
proc.num[,oracle,sleep,oracleZABBIX] #количество процессов в состоянии sleep, выполняющихся от имени пользователя 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] #the temperature of one CPU
sensor["cpu[0-2]$",temp,avg] #the average temperature of the first three CPUs
system.boottime


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

system.cpu.discovery


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

system.cpu.intr


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

system.cpu.load[<cpu>,<mode>]


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

Параметры:

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

Пример:

system.cpu.load[,avg5]
system.cpu.num[<type>]


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

Параметр:

  • type — возможные значения: 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>]


Процент использования ЦП.
Возвращаемое значение: 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[<type>,<transform>]


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

Параметры:

  • type — возможные значения: netbios (по умолчанию в Windows), host (по умолчанию в Linux), shorthost (возвращает часть имени узла сети до первой точки, полную строку для имён без точек), fqdn (возвращает полное доменное имя — Fully Qualified Domain Name);
  • transform — возможные значения: 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[<info>]


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

Параметр:

  • info — возможные значения: 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>,<info>]


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

Параметры:

  • cpu<номер CPU> или all (по умолчанию);
  • info — возможные значения: 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[<type>]


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

Параметр:

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

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

Пример:

system.hw.devices → 00:00.0 Host bridge: Advanced Micro Devices [AMD] RS780 Host Bridge
system.hw.macaddr[<interface>,<format>]


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

Параметры:

  • interfaceall (по умолчанию) или регулярное выражение;
  • formatfull (по умолчанию) или short

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

  • Выводит список MAC-адресов интерфейсов, имя которых соответствует указанному регулярному выражению interface (all выводит список для всех интерфейсов).
  • Если format указан как short, имена интерфейсов и одинаковые MAC-адреса не выводятся.

Пример:

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


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

Параметры:

  • type — возможные значения: utc — (по умолчанию) время, прошедшее с начала эпохи (00:00:00 UTC, 1 января 1970 года), измеряемое в секундах, или local — время в формате 'yyyy-mm-dd,hh:mm:ss.nnn,+hh:mm'

Должен использоваться как пассивная проверка для Zabbix агент; в Zabbix агент 2 может быть настроен как активная проверка.

Пример:

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


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

Параметры:

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

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

  • Этот элемент данных по умолчанию отключен. Узнайте, как включить их.
  • Возвращаемое значение элемента данных представляет собой стандартный вывод вместе со стандартным выводом ошибок, сформированными командой. Проверка кода завершения не выполняется.
  • Для корректной обработки возвращаемое значение команды должно иметь тип данных text. Также допускается пустой результат.
  • Возвращаемое значение ограничено 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


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

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

Пример:

system.sw.arch → i686
system.sw.os[<info>]


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

Параметр:

  • info — возможные значения: 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[<regexp>,<manager>,<format>]


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

Параметры:

  • regexpall (по умолчанию) или регулярное выражение;
  • managerall (по умолчанию) или менеджер пакетов;
  • formatfull (по умолчанию) или short.

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

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

Пример:

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


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

Параметры:

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

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

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


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

Параметры:

  • device — укажите устройство, используемое для подкачки (только Linux), или all (по умолчанию);
  • type — возможные значения: 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[<device>,<type>]


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

Параметры:

  • device — укажите устройство, используемое для подкачки (только Linux), или all (по умолчанию);
  • type — возможные значения: count (количество выгрузок в swap, по умолчанию на платформах, отличных от Linux), sectors (секторы, выгруженные в swap) или pages (страницы, выгруженные в swap, по умолчанию в 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[<device>,<type>]


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

Параметры:

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

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

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


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

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

system.users.num


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

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

vfs.dev.discovery


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

vfs.dev.read[<device>,<type>,<mode>]


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

Параметры:

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

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

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

Пример:

vfs.dev.read[,operations]
vfs.dev.write[<device>,<type>,<mode>]


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

Параметры:

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

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

  • При использовании интервала обновления в три часа или более2 этот элемент данных всегда будет возвращать '0'.
  • Параметры типа sectors и sps поддерживаются только в Linux.
  • Параметр типа ops поддерживается только в Linux и FreeBSD.
  • Параметр типа bps поддерживается только в FreeBSD.
  • Параметр типа bytes поддерживается только в FreeBSD, Solaris, AIX, OpenBSD.
  • Параметр mode поддерживается только в Linux, FreeBSD.
  • Можно использовать относительные имена устройств (например, sda), а также необязательный префикс /dev/ (например, /dev/sda).
  • Поддерживаются логические тома LVM.
  • Значения параметра 'type' по умолчанию для разных ОС:
    • 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).
  • Время выполнения ограничено значением timeout в конфигурации агента (3 сек). Поскольку обход больших каталогов может занять больше времени, данные не будут возвращены, а элемент данных станет неподдерживаемым. Частичный результат подсчета возвращен не будет.
  • При фильтрации по размеру только обычные файлы имеют значимые размеры. В 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).
  • Время выполнения ограничено значением timeout в конфигурации агент. Поскольку обход больших каталогов может занять больше времени, данные не будут возвращены, и элемент данных станет неподдерживаемым. Частичный список возвращен не будет.
  • При фильтрации по размеру только обычные файлы имеют значимый размер. В 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[dir,<regex incl>,<regex excl>,<mode>,<max depth>,<regex excl dir>]


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

Параметры:

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

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

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

Примеры:

vfs.dir.size[/tmp,log] #calculates the size of all files in /tmp containing 'log' in their names
vfs.dir.size[/tmp,log,^.+\.old$] #calculates the size of all files in /tmp containing 'log' in their names, excluding files with names ending with '.old'
vfs.file.cksum[file,<mode>]


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

Параметры:

  • file — полный путь к файлу;
  • modecrc32 (по умолчанию), md5 или sha256.

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

Пример:

vfs.file.cksum[/etc/passwd]

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

675436101
9845acf68b73991eb7fd7ee0ded23c44
ae67546e4aac995e5c921042d0cf0f1f7147703aa42bfbfb65404b30f238f2dc
vfs.file.contents[file,<encoding>]


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

Параметры:

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

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

Пример:

vfs.file.contents[/etc/passwd]
vfs.file.exists[file,<types incl>,<types excl>]


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

Параметры:

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

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

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

Примеры:

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] #возвращает JSON с информацией о файле /etc/passwd (тип, пользователь, права доступа, SID, uid и т. д.)
vfs.file.md5sum[file]


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

Параметр:

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

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

Пример:

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

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

b5052decb577e0fffd622d6ddc017e82
vfs.file.owner[file,<ownertype>,<resulttype>]


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

Параметры:

  • file — полный путь к файлу;
  • ownertypeuser (по умолчанию) или group (только Unix);
  • resulttypename (по умолчанию) или 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[file]


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

Параметры:

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

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

Пример:

vfs.file.permissions[/etc/passwd] #возвращает права доступа для /etc/passwd, например, '0644'
vfs.file.regexp[file,regexp,<encoding>,<start line>,<end line>,<output>]


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

Параметры:

  • file - полный путь к файлу;
  • regexp - регулярное выражение, описывающее требуемый шаблон;
  • encoding - идентификатор кодовой страницы;
  • start line - номер первой строки для поиска (по умолчанию первая строка файла);
  • end line - номер последней строки для поиска (по умолчанию последняя строка файла);
  • output - необязательный шаблон форматирования вывода. Последовательность экранирования \0 заменяется совпавшей частью текста (от первого символа, где начинается совпадение, до символа, где совпадение заканчивается), а последовательность экранирования \N (где N=1...9) заменяется N-й совпавшей группой (или пустой строкой, если N превышает количество захваченных групп).

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

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

Примеры:

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[file,regexp,<encoding>,<start line>,<end line>]


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

Параметры:

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

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

Пример:

vfs.file.regmatch[/var/log/app.log,error]
vfs.file.size[file,<mode>]


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

Параметры:

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

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

Пример:

vfs.file.size[/var/log/syslog]
vfs.file.time[file,<mode>]


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

Параметры:

  • file — полный путь к файлу;
  • mode — возможные значения:
    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,<mode>]


Количество inode или их процент.
Возвращаемое значение: Integer — для количества; Float — для процентов.
См. поддерживаемые платформы.

Параметры:

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

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

Пример:

vfs.fs.inode[/,pfree]
vfs.fs.size[fs,<mode>]


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

Параметры:

  • fs — файловая система;
  • mode — возможные значения: 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 (используется, в процентах), available или pavailable (доступно, в процентах).

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

  • Этот элемент данных принимает три категории параметров:
    • 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[host,<path>,<port>]


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

Параметры:

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

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

  • Этот элемент данных становится неподдерживаемым, если ресурс, указанный в host, не существует или недоступен.
  • host может быть именем узла сети, доменным именем, адресом 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[host,<path>,<port>]


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

Параметры:

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

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

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

Примеры:

web.page.perf[www.example.com,index.php,80]
web.page.perf[https://www.example.com]
web.page.regexp[host,<path>,<port>,regexp,<length>,<output>]


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

Параметры:

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

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

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

Примеры:

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.
Возвращаемое значение: String.
См. поддерживаемые платформы.

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

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


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

Параметры:

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

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

  • Этот элемент данных возвращает выбранный набор внутренних метрик. Подробности см. в разделе Удалённый мониторинг статистики Zabbix.
  • Обратите внимание, что запрос статистики будет принят только от адресов, перечисленных в параметре 'StatsAllowedIP' сервера/прокси на целевом экземпляре.
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 - задержка не более чем на (по умолчанию бесконечность)

Обратите внимание, что запрос статистики будет принят только с адресов, перечисленных в параметре '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 для loopback-интерфейсов в системах Solaris составляет 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 иногда помечает некоторые кодовые страницы как "available only to managed applications" — то есть доступные только через среду выполнения .NET и недоступные через собственные API Win32. Агент Zabbix реализует собственную логику преобразования кодировок, поэтому эти кодовые страницы поддерживаются агентом Zabbix, даже если собственные функции Windows их не предоставляют.

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

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

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

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