Проверка доступности порта в Zabbix

Обновлено 29.07.2021

zabbix logo

Добрый день! Уважаемые читатели и гости одного из крупнейших IT блогов в рунете по системному администрированию. В прошлый раз мы с вами разобрали ситуацию, когда в Windows 11 на устройстве в диспетчера оборудования висела вот такая ошибка "Запуск этого устройства невозможен. (код 10)". Сегодня я покажу вам, как можно производить мониторинг доступности порта службы через Zabbix, мы настроим уведомления для своевременного реагирования.

Постановка задачи

Все наверняка знают, о такой крутой системе мониторинга Zabbix, она простая и бесплатная. Задача заключается в том, чтобы научиться анализировать состояние порта у службы, в качестве примера это будет служба RPC работающая по порту 135 на терминальных столах RDS фермы. Как только порт окажется недоступным, необходимо это зафиксировать и сообщить администратору, по почте или телеграмм каналу.

Настройка проверки доступности порта в Zabbix

Первое, что я советую сделать, это создать группу для объединения в них серверов, которые схожи по своим задачам. У меня это будет группа RDS серверы. Для этого перейдите в "Настройка - Группы узлов сети" потом в правом, верхнем углу нажмите "Создать группу узлов сети".

Создание группы узлов в Zabbix

Задаем нужное вам имя для группы.

Создание группы узлов в Zabbix

Теперь создайте узел сети, это по сути объект вашего сервера, который вы будите мониторить. Переходим в "Настройки — Узлы сети — Создать узел сети".

Создание узла сети в Zabbix

Заполните:

  • Имя узла сети
  • Группы - тут через кнопку "Выбрать" выберите нашу ранее созданную группу
  • IP-адрес
  • DNS имя
  • Описание

Заполнение полей при создании нового узла

Так же если у вас есть общие шаблоны, то вы их можете прилинковать тут, это удобно когда нужно проверку проводить по группе серверов.

Присоединенные шаблоны в Zabbix

Далее нам необходимо создать элемент данных, я это сделаю для шаблона, это так же можно делать и для отдельного хоста.

Создание элемента данных в Zabbix

Задаем ему:

  • Понятное имя, в моем случае это будет "Check port 135"
  • Тип - Zabbix агент
  • Ключ - net.tcp.listen[135] данный вид проверки будет осуществляться со стороны Zabbix агента, что создаст меньше нагрузки, можно сделать внешнюю проверку, чтобы сам сервер Zabbix проверял по типу net.tcp.service[сервис,<ip>,<порт>], пример  net.tcp.service[tcp,192.168.100.100,135]
  • Задаем интервал - я установлю 1 минуту
  • Пользовательские интервалы - Переменный
  • Отображение значения - Нужно выбрать тип значений, тут "0 - сервис недоступен" и "1 - сервис запущен"

Отображение значения в Zabbix

В итоге у вас должно быть вот так.

Создание элемента данных в Zabbix

Теперь осталось создать тригер. Переходим в соответствующее меню, где задаем:

  • Имя тригера - Порт 135 не слушается
  • Важность
  • Выражение - {TMPL_VIRT_MS_RDS_SH:net.tcp.listen[135].last()}=0

Создание тригера данных в Zabbix

На этом все. Теперь Zabbix агент будит каждую минуту проверять доступность порта, если есть проблемы, то он пришлет предупреждение:

14:58:09,2021.07.29 : ⛔️ Важно : term131.root.pyatilistnik.org : Порт 135 не слушается

На этом у меня все. С вами был Иван Семин, автор и создатель IT портала Pyatilistnik.org.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *