Это перевод страницы документации с английского языка. Помогите нам сделать его лучше.

5 Простые проверки

Обзор

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

Обратите внимание, что для простых проверок Zabbix агент не требуется. За обработку простых проверок (создание внешних подключений и т.д.) отвечает Zabbix сервер/прокси.

Примеры использования простых проверок:

net.tcp.service[ftp,,155]
       net.tcp.service[http]
       net.tcp.service.perf[http,,8080]
       net.udp.service.perf[ntp]

Поля Имя пользователя и Пароль в конфигурации элементов данных простых проверок используются для элементов данных мониторинга VMware; в остальных случаях игнорируются.

Поддерживаемые простые проверки

Список поддерживаемых простых проверок:

Смотрите также:

Ключ
Описание Возвращаемое значение Параметры Комментарии
icmpping[<цель>,<пакеты>,<интервал>,<размер>,<время ожидания>]
Доступность хоста через пинг по ICMP. 0 - ошибка при пинге по ICMP

1 - успешный пинг по ICMP
цель - IP хоста или DNS имя
пакеты - количество пакетов
интервал - время между последовательными пакетами в миллисекундах
размер - размер пакета в байтах
время ожидания - время ожидания в миллисекундах
Пример:
=> icmpping[,4] → если по крайней мере один пакет из четырех вернётся, элемент данных возвратит 1.

Смотрите также таблицу со значениями по умолчанию.
icmppingloss[<цель>,<пакеты>,<интервал>,<размер>,<время ожидания>]
Процентное отношение потерянных пакетов. Число с плавающей точкой. цель - IP хоста или DNS имя
пакеты - количество пакетов
интервал - время между последовательными пакетами в миллисекундах
размер - размер пакета в байтах
время ожидания - время ожидания в миллисекундах
Смотрите также таблицу со значениями по умолчанию.
icmppingsec[<цель>,<пакеты>,<интервал>,<размер>,<время ожидания>,<режим>]
Время ответа на пинг по ICMP (в секундах). Число с плавающей точкой цель - IP хоста или DNS имя
пакеты - количество пакетов
интервал - время между последовательными пакетами в миллисекундах
размер - размер пакета в байтах
время ожидания - время ожидания в миллисекундах
режим - один из min, max, avg (по умолчанию)
Потерянные пакеты либо пакеты с превышенным временем ожидания при вычислениях не учитываются.

Если хост недоступен (превышено время ожидания), элемент данных вернёт 0.
Если возвращаемое значение меньше 0.0001 секунд, то оно будет выставлено в 0.0001 секунд.

Смотрите также таблицу со значениями по умолчанию.
net.tcp.service[сервис,<ip>,<порт>]
Проверка запущен ли сервис и отвечает ли на TCP подключения. 0 - сервис недоступен

1 - сервис работает
сервис - возможные значения: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (смотри детали)
ip - IP адрес или DNS имя (по умолчанию, используется IP/DNS узла сети)
порт - номер порта (по умолчанию используется стандартный для сервиса номер порта).
Пример:
=> net.tcp.service[ftp,,45] → можно использовать для проверки доступности FTP сервера на 45 порту TCP.

Обратите внимание, для сервиса tcp обязательно нужно указывать порт.
Эти проверки могут привести к дополнительным записям в системных лог файлах (обычно сессии SMTP и SSH журналируются).
Проверка шифрованных протоколов (таких как IMAP на 993 порту или POP на 995 порту) в настоящее время не поддерживается. Как обходной вариант решения, пожалуйста, используйте net.tcp.service[tcp,<ip>,порт] для подобных проверок.
Сервисы https и telnet поддерживаются, начиная с версии Zabbix 2.0.
net.tcp.service.perf[сервис,<ip>,<порт>]
Проверка производительности TCP сервиса. Число с плавающей точкой.

0.000000 - сервис недоступен

секунды - количество секунд, потребовавшихся для подключения к сервису
сервис - возможные значения: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (смотри детали)
ip - IP адрес или DNS имя (по умолчанию, используется IP/DNS узла сети)
порт - номер порта (по умолчанию используется стандартный для сервиса номер порта).
Пример ключа:
=> net.tcp.service.perf[ssh] → можно использовать для проверки скорости начального ответа от SSH сервера.

Обратите внимание, для сервиса tcp обязательно нужно указывать порт.
Проверка шифрованных протоколов (таких как IMAP на 993 порту или POP на 995 порту) в настоящее время не поддерживается. Как обходной вариант решения, пожалуйста, используйте net.tcp.service.perf[tcp,<ip>,порт] для подобных проверок.
Сервисы https и telnet поддерживаются, начиная с версии Zabbix 2.0.
Назывался tcp_perf до Zabbix 2.0.
net.udp.service[сервис,<ip>,<порт>]
Проверка запущен ли сервис и отвечает ли на UDP запросы. 0 - сервис недоступен

1 - сервис работает
сервис - возможные значения: ntp (смотри детали)
ip - IP адрес или DNS имя (по умолчанию, используется IP/DNS узла сети)
порт - номер порта (по умолчанию используется стандартный для сервиса номер порта).
Пример:
=> net.udp.service[ntp,,45] → можно использовать для тестирования доступности NTP сервиса на 45 порту UDP.

Этот элемент данных поддерживается, начиная с Zabbix 3.0, но в предыдущих версиях ntp сервис был доступен в элементе данных net.tcp.service[].
net.udp.service.perf[сервис,<ip>,<порт>]
Проверка производительности UDP сервиса. Число с плавающей точкой.

0.000000 - сервис недоступен

секунды - количество секунд, потребовавшихся на ожидание ответа от сервиса
сервис - возможные значения: ntp (смотри детали)
ip - IP адрес или DNS имя (по умолчанию, используется IP/DNS узла сети)
порт - номер порта (по умолчанию используется стандартный для сервиса номер порта).
Пример:
=> net.udp.service.perf[ntp] → можно использовать для тестирования времени ответа от NTP сервиса.

Этот элемент данных поддерживается начиная с Zabbix 3.0, но в предыдущих версиях ntp сервис был доступен в элементе данных net.tcp.service[].

Item key details

icmpping[<target>,<packets>,<interval>,<size>,<timeout>,<options>]


The host accessibility by ICMP ping.
Return value: 0 - ICMP ping fails; 1 - ICMP ping successful.

Parameters:

  • target - the host IP or DNS name;
  • packets - the number of packets;
  • interval - the time between successive packets in milliseconds;
  • size - the packet size in bytes;
  • timeout - the timeout in milliseconds;
  • options - used for allowing redirect: if empty (default value), redirected responses are treated as target host down; if set to allow_redirect, redirected responses are treated as target host up.

See also the table of default values.

Example:

icmpping[,4] #If at least one packet of the four is returned, the item will return 1.
icmppingloss[<target>,<packets>,<interval>,<size>,<timeout>,<options>]


The percentage of lost packets.
Return value: Float.

Parameters:

  • target - the host IP or DNS name;
  • packets - the number of packets;
  • interval - the time between successive packets in milliseconds;
  • size - the packet size in bytes;
  • timeout - the timeout in milliseconds;
  • options - used for allowing redirect: if empty (default value), redirected responses are treated as target host down; if set to allow_redirect, redirected responses are treated as target host up.

See also the table of default values.

icmppingsec[<target>,<packets>,<interval>,<size>,<timeout>,<mode>,<options>]


The ICMP ping response time (in seconds).
Return value: Float.

Parameters:

  • target - the host IP or DNS name;
  • packets - the number of packets;
  • interval - the time between successive packets in milliseconds;
  • size - the packet size in bytes;
  • timeout - the timeout in milliseconds;
  • mode - possible values: min, max, or avg (default);
  • options - used for allowing redirect: if empty (default value), redirected responses are treated as target host down; if set to allow_redirect, redirected responses are treated as target host up.

Comments:

  • Packets which are lost or timed out are not used in the calculation;
  • If the host is not available (timeout reached), the item will return 0;
  • If the return value is less than 0.0001 seconds, the value will be set to 0.0001 seconds;
  • See also the table of default values.
net.tcp.service[service,<ip>,<port>]


Checks if a service is running and accepting TCP connections.
Return value: 0 - the service is down; 1 - the service is running.

Parameters:

  • service - possible values: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (see details);
  • ip - the IP address or DNS name (by default the host IP/DNS is used);
  • port - the port number (by default the standard service port number is used).

Comments:

  • Note that with tcp service indicating the port is mandatory;
  • These checks may result in additional messages in system daemon logfiles (SMTP and SSH sessions being logged usually);
  • Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.service[tcp,<ip>,port] for checks like these.

Example:

net.tcp.service[ftp,,45] #This item can be used to test the availability of FTP server on TCP port 45.
net.tcp.service.perf[service,<ip>,<port>]


Checks the performance of a TCP service.
Return value: Float: 0.000000 - the service is down; seconds - the number of seconds spent while connecting to the service.

Parameters:

  • service - possible values: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (see details);
  • ip - the IP address or DNS name (by default the host IP/DNS is used);
  • port - the port number (by default the standard service port number is used).

Comments:

  • Note that with tcp service indicating the port is mandatory;
  • Checking of encrypted protocols (like IMAP on port 993 or POP on port 995) is currently not supported. As a workaround, please use net.tcp.service[tcp,<ip>,port] for checks like these.

Example:

net.tcp.service.perf[ssh] #This item can be used to test the speed of initial response from SSH server.
net.udp.service[service,<ip>,<port>]


Checks if a service is running and responding to UDP requests.
Return value: 0 - the service is down; 1 - the service is running.

Parameters:

  • service - possible values: ntp (see details);
  • ip - the IP address or DNS name (by default the host IP/DNS is used);
  • port - the port number (by default the standard service port number is used).

Example:

net.udp.service[ntp,,45] #This item can be used to test the availability of NTP service on UDP port 45.
net.udp.service.perf[service,<ip>,<port>]


Checks the performance of a UDP service.
Return value: Float: 0.000000 - the service is down; seconds - the number of seconds spent waiting for response from the service.

Parameters:

  • service - possible values: ntp (see details);
  • ip - the IP address or DNS name (by default the host IP/DNS is used);
  • port - the port number (by default the standard service port number is used).

Example:

net.udp.service.perf[ntp] #This item can be used to test the response time from NTP service.

Note that for SourceIP support in LDAP simple checks, OpenLDAP version 2.6.1 or above is required.

Обработка времени ожидания

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

ICMP пинг

Для обработки ICMP пингов Zabbix использует внешнюю утилиту fping.

Эта утилита не является частью дистрибутива Zabbix и должна быть установлена дополнительно. Если утилиты нет, у нее выставлены неверные разрешения или её размещение не совпадает с размещением, заданным в файле конфигурации Zabbix сервера/прокси (параметры 'FpingLocation'), ICMP пинги (icmpping, icmppingloss, icmppingsec) не будут обрабатываться.

Смотрите также: известные проблемы

fping должен быть выполняемым под пользователем Zabbix демонов и должен иметь setuid root. Выполните эти команды из под root для выставления корректных разрешений:

shell> chown root:zabbix /usr/sbin/fping
       shell> chmod 4710 /usr/sbin/fping

После выполнения этих двух команд выше проверьте владельца исполняемого файла fping. В некоторых случаях владелец может сброситься при выполнении chmod команды.

Также проверьте, принадлежит ли пользователь zabbix к группе zabbix, запустив команду:

shell> groups zabbix

и, если нет, добавьте следующей командой:

shell> usermod -a -G zabbix zabbix

Значения по умолчанию, ограничения и описания значений для параметров ICMP проверок:

Параметр Ед. изм Описание Флаг у fping Значения по умолчанию у Разрешенные ограничения
в Zabbix
fping Zabbix мин макс
пакеты количество количество запросов пакетов к цели -C 3 1 10000
интервал миллисекунды время ожидания между последовательными пакетами -p 1000 20 без ограничений
размер байты размер пакета в байтах
56 байт на x86, 68 байт на x86_64
-b 56 или 68 24 65507
время ожидания миллисекунды fping v3.x - время ожидания после отправки последнего пакета, на которое влияет флаг -C
fping v4.x - отдельное время ожидания по каждому пакету
-t fping v3.x - 500
fping v4.x - наследуется от -p флага, но не более 2000
50 без ограничений

Кроме того, Zabbix использует опции fping -i интервал мс (не путайте с параметром интервал элемента данных, упомянутым выше в таблице, который соответствует опции -p) и -S исходящий IP адрес (или -I в более старых версиях fping). Эти параметры автоматически определяются при выполнении проверок с различными комбинациями опций. Zabbix пытается определить минимальное значение в миллисекундах, которое fping позволяет использовать с -i, перебирая 3 значения: 0, 1 и 10. Первое удачное значение затем используется для последующих ICMP проверок. Этот процесс выполняется каждым процессом ICMP пингер отдельно.

Автоматически определённые опции fping аннулируются каждый час, и процесс определения выполняется снова при следующей попытке выполнения ICMP проверки. Задайте DebugLevel>=4 для просмотра сведений об этом процессе в файлах журналов сервера или прокси.

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

Zabbix записывает IP адреса, проверяемые по всем трем icmpping* ключам, во временный файл, который затем передается утилите fping. Если элементы данных имеют различные параметры ключа, то только элементы данных с идентичными параметрами ключа записываются в один файл.
Все записанные в один файл IP адреса проверяются fping утилитой в параллельном режиме, таким образом процесс Zabbix icmp pinger тратит фиксированное время вне зависимости от количества IP адресов в файле.

Installation

fping is not included with Zabbix and needs to be installed separately:

  • Various Unix-based platforms have the fping package in their default repositories, but it is not pre-installed. In this case you can use the package manager to install fping.

  • Zabbix provides fping packages for RHEL. Please note that these packages are provided without official support.

  • fping can also be compiled from source.

Configuration

Specify fping location in the FpingLocation parameter of Zabbix server/proxy configuration file (or Fping6Location parameter for using IPv6 addresses).

fping should be executable by the user Zabbix server/proxy run as and this user should have sufficient rights.

See also: Known issues for processing simple checks with fping versions below 3.10.

Default values

Defaults, limits and description of values for ICMP check parameters:

Parameter Unit Description Fping's flag Defaults set by Allowed limits
by Zabbix
fping Zabbix min max
packets number number of request packets sent to a target -C 3 1 10000
interval milliseconds time to wait between successive packets to an individual target -p 1000 20 unlimited
size bytes packet size in bytes
56 bytes on x86, 68 bytes on x86_64
-b 56 or 68 24 65507
timeout milliseconds fping v3.x - timeout to wait after last packet sent, affected by -C flag
fping v4.x - individual timeout for each packet
-t fping v3.x - 500
fping v4.x and newer - inherited from -p flag, but not more than 2000
50 unlimited

The defaults may differ slightly depending on the platform and version.

In addition, Zabbix uses fping options -i interval ms (do not mix up with the item parameter interval mentioned in the table above, which corresponds to fping option -p) and -S source IP address (or -I in older fping versions). These options are auto-detected by running checks with different option combinations. Zabbix tries to detect the minimal value in milliseconds that fping allows to use with -i by trying 3 values: 0, 1 and 10. The value that first succeeds is then used for subsequent ICMP checks. This process is done by each ICMP pinger process individually.

Auto-detected fping options are invalidated every hour and detected again on the next attempt to perform ICMP check. Set DebugLevel>=4 in order to view details of this process in the server or proxy log file.

Zabbix writes IP addresses to be checked by any of the three icmpping* keys to a temporary file, which is then passed to fping. If items have different key parameters, only the ones with identical key parameters are written to a single file. All IP addresses written to the single file will be checked by fping in parallel, so Zabbix ICMP pinger process will spend fixed amount of time disregarding the number of IP addresses in the file.