Как отправить отчет о температуре NetPing TS v2 по E-mail
Задача такая, есть сервер в офисе, стоит в углу комнат, хочется понаблюдать за температурой как внутри сервера, так и температурой винчестеров БП и т.д. ну и заодно за температурой окружающего воздуха ну так, прикинуть эффективность системы охлаждения.
Как самый простой вариант, будем присылать данные о температуре в виде E-mail, раз в сутки.
Соответственно данные о температуре будем получать с устройства по SNMP, а отправлять E-mail при помощи VBScript на сервере.
Для измерения температуры берем NetPing TS v2 (у меня была версия встроенного ПО 50.4.10-8, но в принципе должно работать с любой версией до 50.5.Х, так как начиная с 50.5.Х в устройстве появился web и изменились OID)
.jpg)
Можно так же использовать Uniping, подкорректировав значения OID.
Начальную настройку устройства проводим, примерно так же как показано в статье:
http://forum.netping.ru/viewtopic.php?f=8&t=548
Для нашей сети я установил такие параметры:
Login admin
Password admin
IP address : 195.170.36.163
SNMP community ADMIN
Остальные параметры соответствуют дефолтным для этого устройства.
Очень рекомендую всегда менять дефолтные логин пароль и особенно SNMP Community на свои !!!
Ну правда не надо ставить их такими простыми как поставил я
Проверяем что устройство доступно с компьютера на котором будет работать скрипт:

В качестве скрипта воспользуемся VBScript, потому что он уже есть встроенным в ОС Windows 2003/XP/Vista И все что нужно для его написания, это только создать текстовый файл в Блокноте, дать ему расширение .vbs и все, можно выполнять.
К сожалению есть одно ограничение VBScipt, это невозможность работать его , встроенными средствами с SNMP OID (Ну или я о такой возможности не знаю кто знает, подскажите ! ).
Воспользуемся внешней бесплатной утилитой из библиотеки Net-SNMP. http://net-snmp.sourceforge.net/
Описание процесса инсталляции этой утилиты можно поглядеть в статье: http://forum.netping.ru/viewtopic.php?f=8&t=548
Сам скрипт прикреплен во вложении этой статьи e-mail.vbs .
При написании скрипта мне очень помогла статья: http://www.paulsadowski.com/WSH/cdo.htm за что ее авторам огромное спасибо !
Для того чтобы сделать электронное письмо привлекательного вида я использовал заранее подготовленный HTML шаблон письма, в который скрипт только вставляет : IP устройства, дату и вемя, значение температуры.
Расскажу как я сделал шаблон, хотя мой путь не единственный и шаблон HTML можно создать как угодно. Единственный важный момент, для того чтобы скрипт нашел то место куда он будет вставлять значения, необходимо на этом месте в шаблон вписать специальный MARKER. MARKER это специальная последовательность символов единственное требование к которой, она должна быть уникальной внутри шаблона. Используемые в скрипте MARKER заданы в виде констант в файле e-mail.vbs примерно так:
Const MARKER_ADDRESS = "AAA.AAA.AAA.AAA" ' символы которые будут заменены на IP адрес устройства в скрипте
Const MARKER_DATE = "DATE_TIME" ' символы которые будут заменены текущей датой и временем в скрипте
Const MARKER_SENSOR1 = "SENSOR1" ' символы которые будут заменены на значение температуры датчика 1 в скрипте
Const MARKER_SENSOR2 = "SENSOR2" ' символы которые будут заменены на значение температуры датчика 2 в скрипте
Так вот, как я сделал шаблон. Я взял Word 2007 и написал в нем все, что я хочу. Получилось примерно так:
.jpg)
Далее сохранил документ как htm страницу с фильтром:

Вот и все, шаблон готов. Имя файла шаблона и путь к нему нужно будет указать в скрипте e-mail.vbs. Мой готовый шаблон прикреплен к этой статье temperature_template.htm
В начале файла скрипта e-mail.vbs находятся константы, которые необходимо изменить в соответствии с параметрами Вашей системы. Здесь их не привожу, надеюсь, комментарии внутри файла скрипта достаточно понятные J.
Все, можно проверять скрипт. Запускаем e-mail.vbs и ждем письмо на указанные нами внутри скрипта адреса . С моим шаблоном письмо выглядит так:
.jpg)
Температура -1, означает, что в момент снятия температуры термодатчик второго канала был не подключен J
Осталось выполнить задачу отправки такого письма раз в день в определенное время. Для этого воспользуемся планировщиком Windows «at». Это специальная программа имеющая интрефейс командной строки. Достаточно в командной строке выполнить:
at 21:55 /every:M,T,W,Th,F,Sa,Su D:\Long_Temp\VBS\e-mail.vbs
Чтобы обеспечить запуск нашего скрипта каждый день в 21:55. Ну соответственно подкорректировав путь к файлу скрипта для вашей системы и указав желаемое для вас расписание.
По ссылке шаблон для страницы температуры
По ссылке сам скрипт в архиве сам скрипт в архиве
Данный скрипт легко перенести на UniPing RS232 или UniPing RS485 с версией ПО 50.4.х, для этого достаточно во всех OID после 1.3.6.1.4.1.25728.50 вместо цифры 8 поставить 2 -для UniPing RS232 и 3 для UniPing Rs485.
Например:
исходный OID текущей температуры датчика 1 устройства NetPing TS v2 -1.3.6.1.4.1.25728.50.8.1005
для Uniping RS232 будет - 1.3.6.1.4.1.25728.50.2.1005
для Uniping RS485 будет - 1.3.6.1.4.1.25728.50.3.1005
Для UniPing RS485 с версией ПО 50.6.х, Необходимо указать следующие OID
1.3.6.1.4.1.25728.50.3.5000.21.14 - термодатчик 1
1.3.6.1.4.1.25728.50.3.5000.22.13 - термодатчик 2
1.3.6.1.4.1.25728.50.3.5000.23.14 - термодатчик 3
1.3.6.1.4.1.25728.50.3.5000.24.14 - термодатчик 4
1.3.6.1.4.1.25728.50.3.5000.25.14 - термодатчик 5
1.3.6.1.4.1.25728.50.3.5000.26.14 - термодатчик 6
1.3.6.1.4.1.25728.50.3.5000.27.14 - термодатчик 7
1.3.6.1.4.1.25728.50.3.5000.28.14 - термодатчик 8
Для UniPing RS232 с версией ПО 50.6.х, Необходимо указать следующие OID
1.3.6.1.4.1.25728.50.2.5000.21.14 - термодатчик 1
1.3.6.1.4.1.25728.50.2.5000.22.13 - термодатчик 2
1.3.6.1.4.1.25728.50.2.5000.23.14 - термодатчик 3
1.3.6.1.4.1.25728.50.2.5000.24.14 - термодатчик 4
1.3.6.1.4.1.25728.50.2.5000.25.14 - термодатчик 5
1.3.6.1.4.1.25728.50.2.5000.26.14 - термодатчик 6
1.3.6.1.4.1.25728.50.2.5000.27.14 - термодатчик 7
1.3.6.1.4.1.25728.50.2.5000.28.14 - термодатчик 8
|