Добрый день. Приобрел устройства от UniPing для мониторинга температуры в серверных. оно поддерживает протокол snmp. следовательно вопрос: каким образом я могу мониторить температуру с помощью Вашего ПО ?) Спасибо!
Ничего страшного, пусть тут побудет - кому-то еще может пригодиться. К нам иногда обращаются пользователи программы, которые хотят подружить UniPing с нашим ПО. Так что, если хотите поделиться тем, как решили проблему - welcome!
Лучше поздно, чем никогда Ответ на вопрос ТС и для всех, кому пригодится. Функция проверена и отлично работает. (WBS) function Main 'Get Temperature in UniPing 'Чтение значения текущей температуры на термодатчике n; n – номер термодатчика '(начиная с 1) '.1.3.6.1.4.1.25728.8800.1.1.2.n dim strHostname, strCommunity, strOID
Спасибо за дополнение! В принципе, тоже самое можно сделать в программе и с помощью проверки "SNMP". По ресурсам будет чуть менее затратно (при выполнении скриптов в памяти создаются громоздкие COM-объекты).
Но способ со скриптом будет удобен, если, скажем, нужно не только получить значение OID, но и как-то обработать его. Или получить несколько OID и вычислить значение по формуле.
Доброго дня. Есть вопрос. По вашему совету включил эту проверку как "SNMP". Работает отлично. Но вот если выбрать "Добавить ключ для параметра проверки...", то этот ключ выводит не только результат проверки, но еще и дублирует это значение в скобках! (Спрашивается, а зачем?). И его оттуда никак не убрать. А вот проверка скриптом, корректно отдает только значение.
Извиняюсь , накладочка вышла. Я добавил вторую проверку. Одна была скриптом, а вторая по встроенному SNMP. Потому и было два значения... Первую отключил, но она работала... Заметил вот это так. Отключил все проверки типа "по скрипту" (в окне списка проверок) , но они продолжали работать. Хотя в логи не записывались. См. скрин.
Комментарии
Ответ на вопрос ТС и для всех, кому пригодится.
Функция проверена и отлично работает. (WBS)
function Main
'Get Temperature in UniPing
'Чтение значения текущей температуры на термодатчике n; n – номер термодатчика
'(начиная с 1)
'.1.3.6.1.4.1.25728.8800.1.1.2.n
dim strHostname, strCommunity, strOID
set objSNMP = CreateObject("OlePrn.OleSNMP")
strHostname = "%A"
strCommunity = "SWITCH"
strOID = ".1.3.6.1.4.1.25728.8800.1.1.2.1"
objSNMP.Open strHostname, strCommunity, 1, 2000
'wscript.echo "Температура = " & objSNMP.Get(strOID) & " °C"
Main=objSNMP.Get(strOID)
objSNMP.Close
end function
Но способ со скриптом будет удобен, если, скажем, нужно не только получить значение OID, но и как-то обработать его. Или получить несколько OID и вычислить значение по формуле.
По вашему совету включил эту проверку как "SNMP". Работает отлично.
Но вот если выбрать "Добавить ключ для параметра проверки...", то этот ключ выводит не только результат проверки, но еще и дублирует это значение в скобках! (Спрашивается, а зачем?). И его оттуда никак не убрать.
А вот проверка скриптом, корректно отдает только значение.
Заметил вот это так. Отключил все проверки типа "по скрипту" (в окне списка проверок) , но они продолжали работать. Хотя в логи не записывались. См. скрин.
Оставил только одну, по встроенному SNMP, все нормально работает.