aboutsummaryrefslogtreecommitdiffstats
path: root/web/js/nms-map-handlers.js
diff options
context:
space:
mode:
Diffstat (limited to 'web/js/nms-map-handlers.js')
-rw-r--r--web/js/nms-map-handlers.js99
1 files changed, 64 insertions, 35 deletions
diff --git a/web/js/nms-map-handlers.js b/web/js/nms-map-handlers.js
index 03ee2ea..275e5e2 100644
--- a/web/js/nms-map-handlers.js
+++ b/web/js/nms-map-handlers.js
@@ -200,7 +200,7 @@ function uplinkInfo(sw)
var tu = parseInt(nmsData.switchstate.switches[sw].clients.live);
var tt = parseInt(nmsData.switchstate.switches[sw].clients.total);
ret.data[1] = {};
- ret.data[1].value = (tu && tt) ? (tu) + " / " + (tt) : "None configured";
+ ret.data[1].value = tt ? (tu) + " / " + (tt) : "None configured";
ret.data[1].description = "Client ports (live/total)";
}
if (testTree(nmsData,['switchstate','switches',sw,'totals','live'])) {
@@ -432,6 +432,36 @@ function pingUpdater()
}
}
}
+function printDiff(t)
+{
+ var str = "";
+ if (t.d > 1)
+ str = t.d + " days";
+ else if (t.d == 1)
+ str = t.d + " day";
+
+ if (t.h > 1)
+ str += " " + t.h + " hours";
+ else if (t.h == 1)
+ str += " " + t.h + " hour";
+ else if (t.d > 0)
+ str += " 0 hours";
+
+ if (t.m > 1)
+ str += " " + t.m + " minutes";
+ else if (t.m == 1)
+ str += " " + t.m + " minute";
+ else if (t.d > 0 || t.h > 0)
+ str += " 0 minutes";
+
+ if (t.s > 1)
+ str += " " + t.s + " seconds";
+ else if (t.s == 1)
+ str += " " + t.s + " second";
+ else if (t.d > 0 || t.h > 0 || t.m > 0)
+ str += " 0 seconds";
+ return str;
+}
function pingInfo(sw)
{
@@ -445,11 +475,8 @@ function pingInfo(sw)
v4 = undefined;
if (v6 == undefined || v6 == null || isNaN(v6))
v6 = undefined;
- ret.data[0].value = v4;
- ret.data[0].description = "IPv4 latency(ms)";
- ret.data[1] = {};
- ret.data[1].value = v6;
- ret.data[1].description = "IPv6 latency(ms)";
+ ret.data[0].value = v6 + " (v4: " + v4 + " )";
+ ret.data[0].description = "Latency(ms)";
if (v4 == undefined && v6 == undefined) {
ret.score = 1000;
ret.why = "No IPv4 or IPv6 ping reply";
@@ -485,6 +512,9 @@ function pingInfo(sw)
var distro = nmsData['smanagement']['switches'][sw]['distro_name'];
var phy = nmsData['smanagement']['switches'][sw]['distro_phy_port'];
if (!(distro == "" || phy == "" || distro == undefined || phy == undefined)) {
+ ret.data[3] = {};
+ ret.data[3].description = "Distro-port";
+ ret.data[3].value = distro + " " + phy;
if (testTree(nmsData,['snmp','snmp',distro, 'ports',phy,'ifOperStatus'])) {
var x = nmsData['snmp']['snmp'][distro]['ports'][phy]['ifOperStatus'];
var ping = "no";
@@ -494,13 +524,30 @@ function pingInfo(sw)
ping6 = parseFloat(nmsData["ping"]["switches"][sw]["latency6"]);
} catch(e) {}
if (x == "up") {
- ret.data[3] = {};
- ret.data[3].description = "Distro-port";
- ret.data[3].value = "Distro port is live";
+ ret.data[3].value += " (😇 up!)";
if (isNaN(ping) && isNaN(ping6)) {
ret.score = 700;
- ret.why = "Distro port is alive, but no IPv4/IPv6 ping. ROLLBACK!";
+ ret.why = "Distro port is alive, but no IPv4/IPv6 ping.";
+ if (testTree(nmsData,['snmp','snmp',distro, 'ports',phy,'ifLastChange'])) {
+ if (testTree(nmsData,['snmp','snmp',distro, 'misc','sysUpTimeInstance'])) {
+ ret.data[4] = {};
+ ret.data[4].description = 'Distro port changed';
+ diff = (parseInt(nmsData['snmp']['snmp'][distro]['misc']['sysUpTimeInstance']['']) - parseInt(nmsData['snmp']['snmp'][distro]['ports'][phy]['ifLastChange'])) / 100;
+ var diff2 = {
+ d:parseInt((diff/60/60/24)),
+ h:parseInt((diff/60/60)%24),
+ m:parseInt((diff/60)%60),
+ s:parseInt(diff%60)
+ }
+
+
+
+ ret.data[4].value = printDiff(diff2);
+ }
+ }
}
+ } else {
+ ret.data[3].value += " (👺down)";
}
}
}
@@ -545,7 +592,7 @@ function dhcpUpdater()
var c = nmsColor.blue;
var sv4 = nmsData.dhcp.dhcp4[nmsData.smanagement.switches[sw].traffic_vlan];
var sv6 = nmsData.dhcp.dhcp6[nmsData.smanagement.switches[sw].traffic_vlan];
- if (sv4 == undefined || sv6 == undefined) {
+ if (sv4 == undefined && sv6 == undefined) {
nmsMap.setSwitchColor(sw,c);
continue;
}
@@ -580,7 +627,7 @@ function dhcpInfo(sw) {
var now = nmsData.dhcp.time;
var then = nmsData.dhcp.dhcp4[nmsData.smanagement.switches[sw].traffic_vlan];
var diff = now - then;
- var divider = 6;
+ var divider = 10;
if (dhcpClients < 10) {
divider = 12;
}
@@ -616,7 +663,7 @@ function dhcpInfo(sw) {
var now = nmsData.dhcp.time;
var then = nmsData.dhcp.dhcp6[nmsData.smanagement.switches[sw].traffic_vlan];
var diff = now - then;
- var divider = 6;
+ var divider = 10;
if (dhcpClients < 10) {
divider = 12;
}
@@ -958,30 +1005,18 @@ function networkInfo(sw) {
}
ret.data[i++] = {
- value: a.v.name || "Not set",
+ value: (a.v.name || "Not set") + " " + "vlan: " + (a.v.vlan || "Not set"),
description: a.d + " network"
}
- ret.data[i++] = {
- value: a.v.vlan || "Not set",
- description: a.d + " vlan"
- }
ret.data[i++] = {
value: a.v.subnet4 || "Not set",
description: a.d + " subnet IPv4"
}
ret.data[i++] = {
- value: a.v.gw4 || "Not set",
- description: a.d + " gw IPv4"
- }
- ret.data[i++] = {
value: a.v.subnet6 || "Not set",
description: a.d + " subnet IPv6"
}
ret.data[i++] = {
- value: a.v.gw6 || "Not set",
- description: a.d + " gw IPv6"
- }
- ret.data[i++] = {
value: a.v.router || "Not set",
description: a.d + " net router"
}
@@ -997,14 +1032,8 @@ function mgmtInfo(sw) {
var mg = nmsData.smanagement.switches[sw];
ret.data =
[{
- value: mg.mgmt_v4_addr || "N/A",
- description: "Management IP (v4)"
- }, {
- value: mg.mgmt_v6_addr || "N/A",
- description: "Management IP (v6)"
- }, {
- value: mg.distro_name || "N/A",
- description: "Distro"
+ value: (mg.mgmt_v4_addr || "N/A") + " / " + (mg.mgmt_v6_addr || "N/A"),
+ description: "Management IP"
}
];
if ((mg.mgmt_v4_addr == undefined || mg.mgmt_v4_addr == "") && (mg.mgmt_v6_addr == undefined || mg.mgmt_v6_addr == "")) {
@@ -1015,7 +1044,7 @@ function mgmtInfo(sw) {
ret.score = 550;
} else if (mg.mgmt_v6_addr == undefined || mg.mgmt_v6_addr == "") {
ret.why = "No IPv6 management IP";
- ret.score = 550;
+ ret.score = 560;
if (tagged(sw,'ignorev6')) {
ret.score = 0;
}