Nagios plugins: проверка TCP портов
Сервера штука сложная и зачастую для мониторинга запущенных на нем сетевых сервисов не хватает стандартных check_ftp/http/ssh/smtp/pop (хотя и этого много). Для проверки нестандартных сервисов и портов был создан плагин check_tcp. Его вы можете найти в стандартном наборе «Nagios plugins».
Сдесь я приведу небольшой перевод help`а с примерыми использования check_tcp(оно же, но на английском).
Вы запустили следуюшую команду:
[root@nagiosfan scripts]# /usr/lib/nagios/plugins/check_tcp --help |
далее перевод результата
.
check_tcp v1991 (nagios-plugins 1.4.13) Copyright (c) 1999 Ethan Galstad Copyright (c) 1999-2008 Nagios Plugin Development Team Данный плагин проверяет TCP соединение с указанным хостом(или unix сокетом). Usage:check_tcp -H хост -p порт [-w ] [-c ] [-s ] [-e ] [-q ][-m ] [-d ] [-t ] [-r ] [-M ] [-v] [-4|-6] [-j] [-D ] [-S ] [-E] Опции: -h, --help Вывести справку -V, --version Вывести версию -H, --hostname=ADDRESS Имя хоста, IP адрес или unix сокет (абсолютный путь) -p, --port=INTEGER Номер порта (по умолчанию не указан) -4, --use-ipv4 Использовать IPv4 соединение -6, --use-ipv6 Использовать IPv6 содинение -E, --escape Вы можете использовать \n, \r, \t or \ в строках для комманд send или quit. Должна идти до опций send или quit По умолчанию: ничего не добавляется к send, \r\n добавляется в конец quit -s, --send=STRING Строку которую нужно послать -e, --expect=STRING Строка которая ожидается в ответе сервера (может повторятся) -A, --all Все строки должны встретится в ответе сервера. По умолчанию достаточно одной -q, --quit=STRING Строка, которую нужно послать серверу для корректного закрытия соединения -r, --refuse=ok|warn|crit Что возвращать при tcp-ответе "refuse" (соединение отклонено), ok, warn или crit (по умолчанию: crit) -M, --mismatch=ok|warn|crit Отсутствие ожидаемой строки возвращает ok, warn или crit (по умолчанию: warn) -j, --jail Hide output from TCP socket # затрудняюсь перевести корректно... -m, --maxbytes=INTEGER Закрыть соединение если было получено более указанное число байт -d, --delay=INTEGER Количество секунд между соединением и началом отсылки строки и ожидания ответа -D, --certificate=INTEGER Минимальное количество дней в течении которых SSL сертификат будет верным. -S, --ssl Использовать SSL соединение. -w, --warning=DOUBLE Время ответа при котором возвращается "warning" статус (в секундах) -c, --critical=DOUBLE Время ответа при котором возвращается "critical" статус (в секундах) -t, --timeout=INTEGER Время после которого проверка закончит свою работу (по умолчанию: 10 секунд) -v, --verbose Выводить в коммандную строку отладочную информацию (Nagios обрежет вывод) |
Примеры
Предположим что вам нужно проверить порт 139 сервера:
/usr/lib/nagios/plugins/check_tcp -H <server_ip> -p 139 |
Для серверов которые «видны» в сети Интернет не желательно чтобы порт 139 был доступен извне, проверить это можно вот так:
/usr/lib/nagios/plugins/check_tcp -H <server_ip> -p 139 -e ok |
Опциями «-w» и «-c» можно установить предельное время ожидания ответа от сервера, оно должно быть меньше timeout («-t»). Следующая команда вернет «warning» статус если время ожидания более 5 секунд и «critical» если время ожидания более 8 секунд, время timeout`а 15 сек
/usr/lib/nagios/plugins/check_tcp -H <server_ip> -p 139 -e ok -w 5 -c 8 -t 15 |
К сожалению об остальных опциях расказать не могу т.к. никогда не использовал…