Оповещение при выходе температуры за диапазон

Примечание Данный пример приводится в целях иллюстрации, он не поддерживается. Техническая поддержка доступна для контекстного объекта, SNMP API и среды сценариев, но Ipswitch не предоставляет поддержку по JScript, VBScript или разработке и отладке мониторов и действий активного сценария. Для помощи по этому примеру или по написанию собственных сценариев, посетите сообщество пользователей WhatsUp Gold.

Активный монитор опрашивает датчик температуры, поддерживающий SNMP. Если температура возрастает или падает, выходя за пределы заданного диапазона, выдается предупреждение.

// Этот сценарий опрашивает датчик температуры, поддерживающий SNMP, из "uptime devices" (www.uptimedevices.com),
// чтобы убедиться, что температура находится в допустимых пределах, заданных ниже.
// OID объекта температуры для этого устройства имеет значение 1.3.6.1.4.1.3854.1.2.2.1.16.1.14.1
var nMinAllowedTemp = 65;
var nMaxAllowedTemp = 75;
var oSnmpRqst = new ActiveXObject("CoreAsp.SnmpRqst");
var nDeviceID = Context.GetProperty("DeviceID");
var oComResult = oSnmpRqst.Initialize(nDeviceID);
if (oComResult.Failed) {
Context.SetResult(1, oComResult.GetErrorMsg);
}
else {
// опросить два счетчика
Context.LogMessage("Polling the temperature");
var oResponse = oSnmpRqst.Get("1.3.6.1.4.1.3854.1.2.2.1.16.1.14.1");
if (oResponse.Failed) {
Context.SetResult(1, oResponse.GetErrorMsg);
}
else {
var nTemperature = oResponse.GetValue / 10.0;
// комментировать следующую строку для преобразования температуры в градусы Цельсия
//nTemperature = (nTemperature - 32) * 5 / 9;
Context.LogMessage("Success. Value=" + nTemperature + " degrees");

if (nTemperature < nMinAllowedTemp || nTemperature > nMaxAllowedTemp) {
Context.SetResult(1, "Опрошенная температура " + nTemperature + " вне заданного диапазона " + nMinAllowedTemp + " - " + nMaxAllowedTemp);
}
else {
Context.SetResult(0, "Success");
}
}
}

См. также

Пример активных мониторов активного сценария

Отслеживание уровня чернил принтера и его использования

Определение недопустимых действий учетной записи пользователя

Мониторинг использования полосы пропускания на интерфейсе

Мониторинг агента SNMP, работающего на нестандартном порте

Мониторинг неизвестных MAC-адресов