Отправка уведомлений о превышении темпертауры при помощи MRTGВ предыдущей статье было показано, как можно организовать мониторинг температуры с помощью программного пакета MRTG и устройств NetPing TS v2, а так же вскользь упомянута возможность использования триггеров MRTG для своевременного оповещения технического персонала при выходе температуры за допустимые пределы. Эта статья является дополнением к предыдущей и преследует своей целью показать возможные способы обработки ситуации с выходом температуры из допустимых границ. Способ #1: отправка e-mailСамое простое и логичное действие - отправить электронное письмо. Это можно сделать средствами MRTG, для этого нужно добавить в файл /etc/mrtg.cfg после строки: ThreshDir: /tmp
Вот такие строки:
# Адрес SMTP-сервера, через который будет отправлено письмо
ThreshMailServer: 127.0.0.1
# Адрес отправителя письма
ThreshMailSender: mrtg@our_domain.com
А в конец файла нужно добавить строки:
# Пороговое значение (при превышении будет отправлено письмо)
ThreshMaxO[netping]: 29
# Адрес, на который будет отправлено письмо
ThreshMailAddress[netping]: monitoring@our_domain.com
Теперь при достижении температурой отметки в 30 градусов и выше в центр мониторинга будет отправлено письмо, следующего вида: Threshold BROKEN Temperature Target: netping А когда температура опустится до отметки 29 градусов и ниже, будет отправлено вот такое письмо Threshold UN-BROKEN Target: netping Этот же способ можно использовать и для отправки SMS-сообщений, поскольку многие сотовые операторы предоставляют для своих абонентов услугу mail2sms, когда с номером мобильного связывается e-mail и все письма, приходящие на этот e-mail, перенаправляются на номер абонента в виде SMS. Способ #2: Отправка сообщений через JabberЭтот способ может обеспечить более быструю реакцию оперативного персонала чем e-mail, но штатными средствами MRTG отсылать сообщения в Jabber нельзя, зато можно выполнять внешний скрипты, чем мы и воспользуемся. Отправлять сообщения в Jabber из скриптов можно самыми разными способами. Мы будем использовать утилиту sendxmpp. Для начала установим её: apt-get install sendxmpp
Отправлять сообщения будем с аккаунта mrtg@our_domain.com с паролем secret на аккаунт monitoring@our_domain.com. Здесь будет приведено готовое решение. Кому интересны подробности работы этой утилиты могут найти их в её документации. Создадим пару скриптов, которые будут выполнятся при превышении текущей температуры максимально-допустимое значение и при возврате значения в норму. Оба скрипта в качестве параметров получают имя графика в MRTG, пороговое значение параметра и текущее значение. Первый скрипт нужно сохранить как /root/scripts/netping_bad.sh. Его содержимое будет иметь вид: #!/bin/sh echo "Problem on sensor ${1}! Второй скрипт нужно сохранить как /root/scripts/netping_good.sh. Его содержимое будет иметь вид: #!/bin/sh echo "Solverd problem on sensor ${1}! Далее нужно добавить в конец файла /etc/mrfg.cfg строки:
ThreshMaxO[netping]: 29 Теперь дежурный специалист при перегреве оборудования получит сообщение в Jabber и сможет оперативно отреагировать на неполадку. Способ #3: Включение дополнительной системы охлажденияЗдесь также возможно множество решений. Для начала определимся с аппаратной частью: поскольку для мониторинга температуры мы используем NetPing TS v2, то вполне разумно будет для управления системой охлаждения воспользоваться платой Netping Cooler Board 2+2, которая является дополнительным модулем для NetPing TS v2. Такой выбор позволяет сделать конструкцию максимально простой и компактной. Для вклчючения и выключения реле на плате нужно будет посылать snmp-команды устройству. Для этого будем использовать утилиту snmpset из пакета snmp. Установим этот пакет:
apt-get install snmp Мы будем использовать только первое реле, которые сначала надо сконфигурировать. Для этого нужно зайти на устройство, используя telnet, в главном меню выбрать пункт "DigiPing actions and settings" (ввести цифру три), в появившемся подменю нужно установить "Direction" в "Output" (ввести команду: "3 Output"). Всё, теперь реле сконфигурировано, и мы можем приступить к управлению им. Для включения реле нужно по его oid записать единицу, а для выключения - ноль. Oid можно узнать в официальной документации (зеркало). Для тех кому лень её читать, скажем, что для первого реле это "1.3.6.1.4.1.25728.50.8.116". Полностью команда на включение реле имеет вид: snmpset -v 1 -c SWITCH 192.168.2.10 1.3.6.1.4.1.25728.50.8.116 integer 1
А на выключение: snmpset -v 1 -c SWITCH 192.168.2.10 1.3.6.1.4.1.25728.50.8.116 integer 0
Настройки MRTG в этом случае идентичны настройкам для оповещения через Jabber и отличаются только "начинкой" скриптов. В случае управления реле скрипт /root/scripts/netping_bad.sh принимает вид:
#!/bin/sh
snmpset -v 1 -c SWITCH 192.168.2.10 1.3.6.1.4.1.25728.50.8.116 integer 1 > /dev/null А скрипт /root/scripts/netping_good.sh будет выглядеть вот так:
#!/bin/sh snmpset -v 1 -c SWITCH 192.168.2.10 1.3.6.1.4.1.25728.50.8.116 integer 0 > /dev/null Этот вариант можно скомбинировать с отсылкой e-mail в службу мониторинга. Тогда при перегреве оборудования будет включаться долполнительная система охлаждениея и оповещаться оперативный персонал, вмешательство котрого реально потребуется только в совсем критических ситуациях, так что можно говорить о почти полной автоматизации контроля температуры. ЗаключениеУстройство NetPing TS v2 достаточно функционально, и позволяет сильно упростить и даже автоматизировать контроль температуры в помещении. И хотя настройка мониторинга и управления температурой требует некоторых навыков программирования, в конечном итоге можно получить полностью самостоятельную систему, практически не нуждающуюся в обслуживании. P.S.Во время тестирования Netping Cooler Board 2+2 автор этой статьи включал не систему охлаждения, а всего лишь светодиод и в какой-то момент была создана простешая "мигалка", в основе которой находился вот такой скрипт:
while true; do Что подсказало следующую идею: к устройству можно подключить гирлянду из ламп накаливая или светодиодов и заставить её мигать, поскольку на плате четыре реле, можно подключить четыре разных гирлянды и с помощью несложных скриптов переключать их создавая эффект "бегущего огня" и более сложные эффекты. Это является ещё одним примером использования устройства, показывающим, что на самом деле область применения устройства не заканчивается на контроле температуры, а наоборот только начинается. На этом всё. Приятной работы! Автор: Вадим Калинников Корректор: Фролова Мария
|