aboutsummaryrefslogtreecommitdiffstats
path: root/web/js/nms-map-handlers.js
diff options
context:
space:
mode:
authorKristian Lyngstol <kristian@bohemians.org>2016-05-22 22:42:14 +0200
committerKristian Lyngstol <kristian@bohemians.org>2016-05-22 22:42:14 +0200
commite7022dcbe2863f0e682f1200de9ed81ef00e2103 (patch)
treeacd25e6bebdcb3d2f12f905556c0e13cb5814a2d /web/js/nms-map-handlers.js
parent61e77fad0ed324cc57cc939b258bc31c6b2c6365 (diff)
front: Live search and tweaked mgmt info
Fixes #2 Also, since I didn't bother splitting the commits, this tweaks the information provided from the snmp handler and management handler. Notably treating IPv4 and IPv6 management addresses as equals.
Diffstat (limited to 'web/js/nms-map-handlers.js')
-rw-r--r--web/js/nms-map-handlers.js45
1 files changed, 34 insertions, 11 deletions
diff --git a/web/js/nms-map-handlers.js b/web/js/nms-map-handlers.js
index 439459f..09d2525 100644
--- a/web/js/nms-map-handlers.js
+++ b/web/js/nms-map-handlers.js
@@ -447,6 +447,21 @@ function snmpUpdater() {
}
}
}
+
+function secondsToTime(input) {
+ var h, m, s;
+ h = Math.floor(input / 60 / 60);
+ m = Math.floor((input%3600)/60);
+ s = Math.floor(input%60);
+ var string = "";
+ if (h > 0)
+ string = h + " hours ";
+ if (h > 0 || m > 0)
+ string += m + " minutes ";
+ if (string == "")
+ string += s + " seconds";
+ return string;
+}
function snmpInfo(sw) {
var ret = new handlerInfo("snmp","SNMP data");
ret.why = "No data";
@@ -455,7 +470,7 @@ function snmpInfo(sw) {
ret.why = "No data";
ret.data[0].value = "No data";
} else if (nmsData.snmp.snmp[sw].misc.sysName[0] != sw) {
- ret.score = 300;
+ ret.score = 200;
ret.why = "SNMP sysName doesn't match Gondul sysname";
ret.data[0].value = ret.why;
} else {
@@ -464,10 +479,18 @@ function snmpInfo(sw) {
ret.why = "SNMP all good";
}
try {
- var uptime = nmsData.snmp.snmp[this.sw]["misc"]["sysUpTimeInstance"][""] / 60 / 60 / 100;
- uptime = Math.floor(uptime) + " t";
- ret.data.push({value: uptime, description: "System uptime"});
- } catch(e){}
+ var uptime = parseInt(nmsData.snmp.snmp[sw]["misc"]["sysUpTimeInstance"][""]) / 100;
+ var upstring = secondsToTime(uptime);
+ ret.data.push({value: upstring, description: "System uptime"});
+ if (uptime < 60*5 && ret.score < 500) {
+ ret.score = 500;
+ ret.why = "System rebooted last 5 minutes";
+ }
+ if (uptime < 60*15 && ret.score < 250) {
+ ret.score = 250;
+ ret.why = "System rebooted last 15 minutes";
+ }
+ } catch(e){ }
return ret;
}
@@ -505,20 +528,20 @@ function mgmtInfo(sw) {
var mg = nmsData.smanagement.switches[sw];
ret.data =
[{
- value: mg.mgmt_v4_addr || "N/A",
+ value: mg.mgmt_v4_addr || "",
description: "Management IP (v4)"
}, {
- value: mg.mgmt_v6_addr || "N/A",
+ value: mg.mgmt_v6_addr || "",
description: "Management IP (v6)"
}, {
- value: mg.subnet4 || "N/A",
+ value: mg.subnet4 || "",
description: "Subnet (v4)"
}, {
- value: mg.subnet6 || "N/A",
+ value: mg.subnet6 || "",
description: "Subnet (v6)"
}];
- if (mg.mgmt_v4_addr == undefined || mg.mgmt_v4_addr == "") {
- ret.why = "No IPv4 mamagement IP";
+ if ((mg.mgmt_v4_addr == undefined || mg.mgmt_v4_addr == "") && (mg.mgmt_v6_addr == undefined || mg.mgmt_v6_addr == "")) {
+ ret.why = "No IPv4 or IPv6 mamagement IP";
ret.score = 1000;
}
} catch(e) {