Пошаговые руководства, шпаргалки, полезные ссылки...
БлогФорумАвторы
Полезные Online-сервисы
Перечень Бесплатного ПО
Подписка на RSS-канал
Плагин проверки доступности TCP-порта check_tcp устанавливается в систему в составе пакетов nagios-plugins или nagios-plugins-all.
Найти плагин в системе и получить информацию о его ключах можно так:
# locate check_tcp /usr/lib/nagios/plugins/check_tcp # /usr/lib/nagios/plugins/check_tcp --help
Плагин check_tcp может быть полезен тогда, когда нужно проверить доступность какой-то сетевой службы того или иного Хоста. Для примера рассмотрим использование плагина check_tcp для проверки доступности TCP-портов, которые используются клиентами при подключении к сетевым USB-концентраторам Digi AnywhereUSB. Для этих устройств нам потребуется настроить мониторинг ряда портов: TCP 3422, 3423, 771, 1027. Настройку будем выполнять в Icinga Web 2 с модулем Icinga Director 1.3.1
В первую очередь создадим в интерфейсе Icinga Director новую Команду (Command) с именем, например, «check_tcp»:
В свойствах Команды на закладке Arguments описываем аргументы, которые мы будем использовать для вызова плагина check_tcp. Обратите внимание на то, что плагин может принимать множество разных аргументов, а мы используем только некоторые их них.
На закладке Fields добавляем дополнительное Поле Данных, через которое будем передавать номер TCP-порта.
В конечном итоге, в свойствах созданной Команды «check_tcp» на закладке Preview в нашем случае отображается следующая результирующая конфигурация, которая попадёт в конфигурацию Icinga Director (zones.d/director-global/commands.conf) при очередном развёртывании:
object CheckCommand "check_tcp" { import "plugin-check-command" command = [ PluginDir + "/check_tcp" ] timeout = 1m arguments += { "--hostname" = { required = true value = "$address$" } "--port" = { required = true value = "$check_tcp_port$" } "--use-ipv4" = {} } }
Создание Групп Хостов может быть полезным для того, чтобы для Шаблона Службы, который мы в дальнейшем будем делать на основе Команды «check_tcp», можно было выполнить привязку правил Apply Rule к этим группам. В моём случае используется два типа устройств Digi AnywhereUSB - 5-портовые и 14-портовые концентраторы. В рамках нашей задачи эти два типа различаются тем, что имею разный набор прослушиваемых TCP-портов: 14-портовые слушают порты TCP 3422/3423/771/1027, а 5-портовые слушают только порт 3422. Поэтому мы сделаем две Группы Хостов «Digi-AnywhereUSB» и «Digi-AnywhereUSB-5»
Созданные Группы Хостов для привязки к Хостам могут использовать правила динамической привязки. В моём случае используется привязка на основании основного идентификатора SNMP System OID, о настройке и применении, которого рассматривалось в статье Настройка мониторинга сетевых устройств в Icinga Director. Но это касается только Группы Хостов «Digi-AnywhereUSB», так как подразумевается, что членство в этой Группе будет назначаться устройствам типа Digi AnywhereUSB/14, которые могут быть опрошены по протоколу SNMP.
Устройства, типа Digi AnywhereUSB/5 не имеют поддержки протокола SNMP, и поэтому привязка членства таких устройств в Группе Хостов «Digi-AnywhereUSB-5» будет выполняться вручную.
В конечном итоге, в свойствах созданных Групп Хостов на закладке Preview в нашем случае отображается следующая результирующая конфигурация, которая попадёт в конфигурацию Icinga Director (zones.d/director-global/hostgroups.conf) при очередном развёртывании:
object HostGroup "Digi-AnywhereUSB" { display_name = "Digi AnywhereUSB USB over IP Switch" assign where host.vars.snmp_SNMPv2_MIB_sysObjectID == "1.3.6.1.4.1.332.11.6" }
object HostGroup "Digi-AnywhereUSB-5" { display_name = "Digi AnywhereUSB/5 Single-Hosted" }
Создаем Шаблон Службы с именем, например, «TCP Port Availability». В свойствах Шаблона Службы в качестве Check command выбираем ранее созданную Команду «check_tcp»
Определяем параметры выполнения, например следующим образом:
В конечном итоге, в свойствах созданного Шаблона Службы «TCP Port Availability» на закладке Preview в нашем случае отображается следующая результирующая конфигурация, которая попадёт в конфигурацию Icinga Director (zones.d/director-global/service_templates.conf) при очередном развёртывании:
template Service "TCP Port Availability" { check_command = "check_tcp" check_period = "Always" check_interval = 1m enable_notifications = true enable_active_checks = true enable_passive_checks = false enable_event_handler = false enable_perfdata = true volatile = false }
Для созданного Шаблона Службы «TCP Port Availability» создаём правила Apply Rule. Данные правила будут отвечать за динамическую привязку Служб мониторинга к Хостам на основании членства в Группах Хостов. Создадим несколько Служб, по одной Службе на TCP-порт, который нужно мониторить.
Дополнительный источник информации:
Автор первичной редакции: Алексей Максимов Время публикации: 10.06.2017 11:35