5. Простые проверки
Обзор
Простые проверки в основном используются для удалённых безагентных проверок сервисов.
Обратите внимание, что для простых проверок Zabbix агент не требуется. За обработку простых проверок (создание внешних подключений и т.д.) отвечает Zabbix сервер/прокси.
Примеры использования простых проверок:
net.tcp.service[ftp,,155]
net.tcp.service[http]
net.tcp.service.perf[http,,8080]
net.udp.service.perf[ntp]
Поля Имя пользователя и Пароль (ограниченные 255 символами) в конфигурации элементов данных простых проверок используются для элементов данных мониторинга VMware; в остальных случаях игнорируются.
Поддерживаемые проверки
Ключи элементов данных перечислены без параметров и дополнительной информации. Щёлкните по ключу элемента данных, чтобы увидеть все подробности.
Смотрите также ключи элементов данных для мониторинга VMware
| Ключ элемента данных | Описание |
|---|---|
| icmpping | Доступность хоста через пинг по ICMP. |
| icmppingloss | Процентное отношение потерянных пакетов. |
| icmppingsec | Время ответа на пинг по ICMP. |
| net.tcp.service | Проверка того, что сервис запущен и принимает TCP подключения. |
| net.tcp.service.perf | Проверка производительности TCP сервиса. |
| net.udp.service | Проверка того, что сервис запущен и отвечает на UDP запросы. |
| net.udp.service.perf | Проверка производительности UDP сервиса. |
Подробности ключей элементов данных
Параметры без угловых скобок обязательны. Параметры, обозначенные угловыми скобками < >, опциональны.
icmpping[<цель>,<пакеты>,<интервал>,<размер>,<время ожидания>,<опции>]
Доступность хоста через пинг по ICMP.
Возвращаемое значение: 0 — ошибка при пинге по ICMP; 1 — успешный пинг по ICMP.
Параметры:
- цель — IP или DNS имя хоста;
- пакеты — количество пакетов;
- интервал — время между последовательными пакетами в миллисекундах;
- размер — размер пакета в байтах;
- время ожидания — время ожидания в миллисекундах;
- опции — используется для разрешения перенаправления: если пусто (значение по умолчанию), перенаправленные ответы рассматриваются как целевой хост выключен; если установлено значение allow_redirect, перенаправленные ответы рассматриваются как целевой хост включён.
Смотрите также таблицу значений по умолчанию.
Пример:
icmpping[,4] #Если по крайней мере один пакет из четырёх вернётся, элемент данных возвратит 1.
icmppingloss[<цель>,<пакеты>,<интервал>,<размер>,<время ожидания>,<опции>]
Процентное отношение потерянных пакетов.
Возвращаемое значение: Число с плавающей точкой.
Параметры:
- цель — IP или DNS имя хоста;
- пакеты — количество пакетов;
- интервал — время между последовательными пакетами в миллисекундах;
- размер — размер пакета в байтах;
- время ожидания — время ожидания в миллисекундах;
- опции — используется для разрешения перенаправления: если пусто (значение по умолчанию), перенаправленные ответы рассматриваются как целевой хост выключен; если установлено значение allow_redirect, перенаправленные ответы рассматриваются как целевой хост включён.
Смотрите также таблицу значений по умолчанию.
icmppingsec[<цель>,<пакеты>,<интервал>,<размер>,<время ожидания>,<режим>,<опции>]
Время ответа на пинг по ICMP (в секундах).
Возвращаемое значение: Число с плавающей точкой.
Параметры:
- цель — IP или DNS имя хоста;
- пакеты — количество пакетов;
- интервал — время между последовательными пакетами в миллисекундах;
- размер — размер пакета в байтах;
- время ожидания — время ожидания в миллисекундах;
- режим — один из min, max или avg (по умолчанию);
- опции — используется для разрешения перенаправления: если пусто (значение по умолчанию), перенаправленные ответы рассматриваются как целевой хост выключен; если установлено значение allow_redirect, перенаправленные ответы рассматриваются как целевой хост включён.
Комментарии:
- Потерянные пакеты либо пакеты с превышенным временем ожидания при вычислениях не учитываются;
- Если хост недоступен (превышено время ожидания), элемент данных вернёт 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 узла сети);
- порт — номер порта (по умолчанию используется стандартный для сервиса номер порта).
Комментарии:
- Обратите внимание, для сервиса tcp обязательно нужно указывать порт;
- Эти проверки могут привести к дополнительным записям в файлах журналов системных демонов (обычно журналируются сессии SMTP и SSH);
- Проверка шифрованных протоколов (таких как IMAP на 993 порту или POP на 995 порту) в настоящее время не поддерживается. Как обходной вариант решения, пожалуйста, используйте
net.tcp.service[tcp,<ip>,порт]для подобных проверок.
Пример:
net.tcp.service[ftp,,45] #этот элемент данных можно использовать для проверки доступности FTP сервера на 45 порту TCP
Если SELinux работает в принудительном режиме (enforced mode), пользовательские простые проверки TCP/UDP могут быть заблокированы политикой. Чтобы проверить и разрешить новое исходящее соединение, просмотрите отказы аудита: grep denied /var/log/audit/audit.log
net.tcp.service.perf[сервис,<ip>,<порт>]
Проверка производительности TCP сервиса.
Возвращаемое значение: Число с плавающей точкой: 0.000000 — сервис недоступен; секунды — количество секунд, потребовавшихся для подключения к сервису.
Параметры:
- сервис — возможные значения: ssh, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https, telnet (смотрите подробности);
- ip — IP или DNS имя (по умолчанию используется IP/DNS узла сети);
- порт — номер порта (по умолчанию используется стандартный для сервиса номер порта).
Комментарии:
- Обратите внимание, для сервиса tcp обязательно нужно указывать порт;
- Проверка шифрованных протоколов (таких как IMAP на 993 порту или POP на 995 порту) в настоящее время не поддерживается. Как обходной вариант решения, пожалуйста, используйте
net.tcp.service[tcp,<ip>,порт]для подобных проверок.
Пример:
net.tcp.service.perf[ssh] #Этот элемент данных можно использовать для проверки скорости начального ответа от SSH сервера.
net.udp.service[сервис,<ip>,<порт>]
Проверка, запущен ли сервис и отвечает ли на UDP запросы.
Возвращаемое значение: 0 — сервис недоступен; 1 — сервис работает.
Параметры:
- сервис — возможные значения: ntp (смотрите подробности);
- ip — IP адрес или DNS имя (по умолчанию используется IP/DNS узла сети);
- порт — номер порта (по умолчанию используется стандартный для сервиса номер порта).
Пример:
net.udp.service[ntp,,45] #Этот элемент данных можно использовать для тестирования доступности NTP сервиса на 45 порту UDP.
net.udp.service.perf[сервис,<ip>,<порт>]
Проверка производительности UDP сервиса.
Возвращаемое значение: Число с плавающей точкой: 0.000000 — сервис недоступен; секунды — количество секунд, потребовавшихся на ожидание ответа от сервиса.
Параметры:
- сервис — возможные значения: ntp (смотрите подробности);
- ip — IP адрес или DNS имя (по умолчанию используется IP/DNS узла сети);
- порт — номер порта (по умолчанию используется стандартный для сервиса номер порта).
Пример:
net.udp.service.perf[ntp] #Этот элемент данных можно использовать для тестирования времени ответа от NTP сервиса.
Для поддержки SourceIP в простых проверках LDAP (например в net.tcp.service[ldap]) требуется OpenLDAP версии 2.6.1 или новее.
Обработка тайм-аута
Zabbix не будет обрабатывать простую проверку дольше, чем Timeout секунд, заданных в диалоге настроек элемента данных.
Для элементов данных VMware
Zabbix не будет обрабатывать простую проверку дольше, чем Timeout секунд, заданных в файле конфигурации Zabbix сервера или прокси. Для элементов данных icmpping* значения тайм-аута и повторов указываются непосредственно в ключе элемента данных и не зависят от глобального параметра Timeout. Убедитесь, что эти значения настроены соответствующим образом в ключе элемента данных. Обратите внимание, что к элементам данных icmpping*](#icmp-pings) применяется жёстко заданный в коде максимум возможного времени ожидания 600 секунд (с версии Zabbix 7.0.22).
ICMP пинги
Для обработки ICMP пингов (icmpping, icmppingloss, icmppingsec) Zabbix использует внешнюю утилиту fping [en] .
Установка
Утилита fping не входит в состав Zabbix и должна быть установлена отдельно:
-
Различные платформы на базе Unix имеют пакет fping в своих репозиториях по умолчанию, но он не предустановлен. В этом случае вы можете использовать менеджер пакетов для установки fping.
-
Zabbix предоставляет пакеты fping для RHEL. Обратите внимание, что эти пакеты предоставляются без официальной поддержки.
-
fping также можно скомпилировать из исходного кода [en].
Настройка
Укажите расположение fping в параметре FpingLocation файла конфигурации сервера/прокси Zabbix (или параметр Fping6Location для использования адресов IPv6).
fping должен быть доступен для выполнения пользователем, от имени которого запущен сервер/прокси Zabbix, и у этого пользователя должны быть достаточные права.
Смотрите также: Известные проблемы для обработки простых проверок с версиями fping ниже 3.10.
Значения по умолчанию
Значения по умолчанию, ограничения и описания значений для параметров 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 для просмотра сведений об этом процессе в файлах журналов сервера или прокси.
Zabbix записывает IP адреса, проверяемые по всем трем ключам icmpping*, во временный файл, который затем передается утилите fping. Если элементы данных имеют различные параметры ключа, то в один файл записываются только элементы данных с идентичными параметрами ключа. Все записанные в один файл IP адреса проверяются утилитой fping в параллельном режиме, поэтому процесс Zabbix icmp pinger тратит фиксированное время вне зависимости от количества IP адресов в файле.