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

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

Похожие посты:

Оставить комментарий