diff options
Diffstat (limited to 'web/js')
-rw-r--r-- | web/js/nms-info-box.js | 20 | ||||
-rw-r--r-- | web/js/nms-map-handlers.js | 150 | ||||
-rw-r--r-- | web/js/nms-map.js | 3 | ||||
-rw-r--r-- | web/js/nms-time.js | 6 | ||||
-rw-r--r-- | web/js/nms.js | 8 |
5 files changed, 121 insertions, 66 deletions
diff --git a/web/js/nms-info-box.js b/web/js/nms-info-box.js index a7ddfc1..1eea112 100644 --- a/web/js/nms-info-box.js +++ b/web/js/nms-info-box.js @@ -832,7 +832,7 @@ var switchAddPanel = function() { var myData = JSON.stringify(myData); $.ajax({ type: "POST", - url: "/api/write/switch-add", + url: "/api/write/switches", dataType: "text", data:myData, success: function (data, textStatus, jqXHR) { @@ -1092,7 +1092,7 @@ var switchEditPanel = function () { var myData = nmsInfoBox._editStringify(this.sw); $.ajax({ type: "POST", - url: "/api/write/switch-update", + url: "/api/write/switches", dataType: "text", data:myData, success: function (data, textStatus, jqXHR) { @@ -1112,7 +1112,7 @@ var switchEditPanel = function () { myData = JSON.stringify(myData); $.ajax({ type: "POST", - url: "/api/write/switch-update", + url: "/api/write/switches", dataType: "text", data:myData, success: function (data, textStatus, jqXHR) { @@ -1292,7 +1292,7 @@ var networkAddPanel = function() { var myData = JSON.stringify(myData); $.ajax({ type: "POST", - url: "/api/write/network-add", + url: "/api/write/networks", dataType: "text", data:myData, success: function (data, textStatus, jqXHR) { @@ -1330,7 +1330,7 @@ var networkListPanel = function() { var cell3 = row.insertCell(2); cell1.innerHTML = "<a href='#' onclick='nmsInfoBox.showWindow(\"networkInfo\",\""+net+"\");'>"+net+ '</a>'; cell2.innerHTML = networks[net].vlan; - cell3.innerHTML = networks[net].routing_point; + cell3.innerHTML = networks[net].router; } this._render(table); @@ -1376,14 +1376,9 @@ var networkEditPanel = function() { var tags; for (var v in net) { /* - * Placement and tags needs to be sent and edited + * Tags needs to be sent and edited * as plain JSON... */ - if (v == "placement") { - place = JSON.stringify(net[v]); - template[v] = place; - continue; - } if (v == "tags") { tags = JSON.stringify(net[v]); template[v] = tags; @@ -1457,7 +1452,7 @@ var networkEditPanel = function() { var myData = nmsInfoBox._editStringify(this.sw,"name"); $.ajax({ type: "POST", - url: "/api/write/network-update", + url: "/api/write/networks", dataType: "text", data:myData, success: function (data, textStatus, jqXHR) { @@ -1466,6 +1461,7 @@ var networkEditPanel = function() { nmsInfoBox.hide(); } nmsData.invalidate("switches"); + nmsData.invalidate("networks"); nmsData.invalidate("smanagement"); } }); diff --git a/web/js/nms-map-handlers.js b/web/js/nms-map-handlers.js index 9f0c548..90f6922 100644 --- a/web/js/nms-map-handlers.js +++ b/web/js/nms-map-handlers.js @@ -92,6 +92,11 @@ var handler_mgmt = { tag:"mgmt", name:"Management info" }; +var handler_net = { + getInfo:networkInfo, + tag:"net", + name:"Network info" +}; var handler_snmpup = { getInfo:snmpUpInfo, tag:"snmpup", @@ -131,6 +136,7 @@ var handlerInfo = function(tag,desc) { var handlers = [ handler_health, handler_mgmt, + handler_net, handler_uplinks, handler_temp, handler_ping, @@ -160,32 +166,34 @@ function uplinkInfo(sw) ret.data[0].description = "Uplinks (live/configured)"; if (nmsData.switches.switches[sw].subnet4 == undefined || nmsData.switches.switches[sw].subnet4 == null) { - if (tagged(sw,'3up')) { - known_t = 3; - } else if (tagged(sw,'2up')) { - known_t = 2; - } else if (tagged(sw, '1up')) { - known_t = 1; - } else if (tagged(sw,'4up')) { - known_t = 4; - } - if (known_t != t) { - ret.data[0].value += "(Overridden: " + known_t + ")"; - } - - if (u == known_t) { - ret.score = 0; - ret.why = "All uplinks up"; - } else if (u == 1) { - ret.score = 800; - ret.why = "Only 1 of " + known_t + " uplinks alive"; - } else if (u < known_t) { - ret.score = 450; - ret.why = u + " of " + known_t + " uplinks alive"; - } else if (u > known_t) { - ret.score = 350; - ret.why = u + " of " + known_t + " uplinks alive"; - } + if (tagged(sw,'3up')) { + known_t = 3; + } else if (tagged(sw,'2up')) { + known_t = 2; + } else if (tagged(sw, '1up')) { + known_t = 1; + } else if (tagged(sw,'4up')) { + known_t = 4; + } + if (known_t != t) { + ret.data[0].value += "(Overridden: " + known_t + ")"; + } + if (u == known_t) { + ret.score = 0; + ret.why = "All uplinks up"; + } else if (u == 1) { + ret.score = 800; + ret.why = "Only 1 of " + known_t + " uplinks alive"; + } else if (u < known_t && !(t >= 10 && u <5)) { + ret.score = 450; + ret.why = u + " of " + known_t + " uplinks alive"; + } else if (u > known_t) { + ret.score = 350; + ret.why = u + " of " + known_t + " uplinks alive"; + } else if (u < known_t && (t >= 10 && u < 5)) { + ret.score = 150; + ret.why = u + " of " + known_t + " uplinks alive (huge diff suggests WIP - downgrading)"; + } } } if (testTree(nmsData,['switchstate','switches',sw,'clients','total'])) { @@ -479,8 +487,12 @@ function pingInfo(sw) if (!(distro == "" || phy == "" || distro == undefined || phy == undefined)) { if (testTree(nmsData,['snmp','snmp',distro, 'ports',phy,'ifOperStatus'])) { var x = nmsData['snmp']['snmp'][distro]['ports'][phy]['ifOperStatus']; - var ping = parseFloat(nmsData["ping"]["switches"][sw]["latency4"]); - var ping6 = parseFloat(nmsData["ping"]["switches"][sw]["latency6"]); + var ping = "no"; + var ping6 = "no "; + try { + ping = parseFloat(nmsData["ping"]["switches"][sw]["latency4"]); + ping6 = parseFloat(nmsData["ping"]["switches"][sw]["latency6"]); + } catch(e) {} if (x == "up") { ret.data[3] = {}; ret.data[3].description = "Distro-port"; @@ -493,7 +505,8 @@ function pingInfo(sw) } } } catch(e) { - console.log("lol"); + console.log("Lazy about errors...."); + console.log(e); } } return ret; @@ -598,7 +611,7 @@ function dhcpInfo(sw) { if (testTree(nmsData,['switchstate','switches',sw,'clients','live'])) { var tu = parseInt(nmsData.switchstate.switches[sw].clients.live); var tt = parseInt(nmsData.switchstate.switches[sw].clients.total); - if (tu - dhcpClients > 5) { + if (tu - dhcpClients > 12) { if (ret.score < 450) { ret.score = 450; ret.why = "Far more client ports than dhcp clients"; @@ -868,20 +881,69 @@ function tagged(sw, tag) { return false; } +function networkInfo(sw) { + var ret = new handlerInfo("net","Network info"); + ret.score = 0; + ret.why = "All good"; + if (testTree(nmsData,['smanagement','switches',sw])) { + var i = 0; + var mg = nmsData.smanagement.switches[sw]; + var objs = [{ + d: "Management", + v: setTree(nmsData,['networks','networks',mg.mgmt_vlan],undefined) + },{ + d: "Traffic", + v: setTree(nmsData,['networks','networks',mg.traffic_vlan],undefined) + } + ]; + for (var x in objs) { + a = objs[x]; + if (a.v == undefined) { + ret.data[i++] = { + value: 'Not set', + description: a.d + ' network' + }; + continue; + } + + ret.data[i++] = { + value: a.v.name || "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" + } + } + } + return ret; +} function mgmtInfo(sw) { var ret = new handlerInfo("mgmt","Management info"); ret.score = 0; ret.why = "All good"; if (testTree(nmsData,['smanagement','switches',sw])) { var mg = nmsData.smanagement.switches[sw]; - var traffic_vlan = "N/A"; - var mgmt_vlan = "N/A"; - if (testTree(nmsData,['networks','networks',mg.traffic_vlan,"vlan"])) { - traffic_vlan = nmsData["networks"]["networks"][mg.traffic_vlan]["vlan"]; - } - if (testTree(nmsData,['networks','networks',mg.mgmt_vlan,"vlan"])) { - mgmt_vlan = nmsData["networks"]["networks"][mg.mgmt_vlan]["vlan"]; - } ret.data = [{ value: mg.mgmt_v4_addr || "N/A", @@ -890,20 +952,8 @@ function mgmtInfo(sw) { value: mg.mgmt_v6_addr || "N/A", description: "Management IP (v6)" }, { - value: mg.subnet4 || "N/A", - description: "Subnet (v4)" - }, { - value: mg.subnet6 || "N/A", - description: "Subnet (v6)" - }, { value: mg.distro_name || "N/A", description: "Distro" - }, { - value: traffic_vlan || "N/A", - description: "Client VLAN" - }, { - value: mgmt_vlan || "N/A", - description: "Management VLAN" } ]; if ((mg.mgmt_v4_addr == undefined || mg.mgmt_v4_addr == "") && (mg.mgmt_v6_addr == undefined || mg.mgmt_v6_addr == "")) { diff --git a/web/js/nms-map.js b/web/js/nms-map.js index 1ebcf92..5927324 100644 --- a/web/js/nms-map.js +++ b/web/js/nms-map.js @@ -218,7 +218,7 @@ nmsMap.drawNow = function () } else { now = new Date(nmsData.now); //Date assumes UTC } - now = now.toString().split(' ').splice(1,4).join(' '); //Date returns local time + now = now.toString().split(' ').splice(0,5).join(' '); //Date returns local time if (nmsMap._lastNow == now) { nmsMap.stats.nowDups++; return; @@ -231,6 +231,7 @@ nmsMap.drawNow = function () ctx.clearRect(0,0,800,100); ctx.fillStyle = "white"; ctx.strokeStyle = "black"; + ctx.translate(200,0); ctx.lineWidth = nms.fontLineFactor; ctx.strokeText(now, this._settings.textMargin, 25); ctx.fillText(now, this._settings.textMargin, 25); diff --git a/web/js/nms-time.js b/web/js/nms-time.js index 30604cd..482cfa7 100644 --- a/web/js/nms-time.js +++ b/web/js/nms-time.js @@ -18,7 +18,7 @@ nmsTime.replayEvent = function() { var eStart = setTree(nmsData,["config","config","data","start"],"2018-03-23T00:00:00+0200"); nmsTime._stopTime = new Date(setTree(nmsData,["config","config","data","end"],"2018-04-01T14:30:00+0200")); nmsTime.setNow(eStart); - nmsTime.startPlayback(10); + nmsTime.startPlayback(60); } nmsTime.isRealTime = function() { @@ -135,7 +135,7 @@ nmsTime.startPlayback = function(speed) { return; } nmsTime._speed = speed; - nmsTime._handle = setInterval(nmsTime._tick,1000); + nmsTime._handle = setInterval(nmsTime._tick,2000); } nmsTime.togglePause = function() { @@ -145,7 +145,7 @@ nmsTime.togglePause = function() { if (nmsTime.isRealTime()) { nmsTime.setNow(Date.now()); } else { - nmsTime.startPlayback(nmsTime._speed ? nmsTime._speed : 5); + nmsTime.startPlayback(nmsTime._speed ? nmsTime._speed : 60); } } } diff --git a/web/js/nms.js b/web/js/nms.js index 62a148c..e9b83c9 100644 --- a/web/js/nms.js +++ b/web/js/nms.js @@ -77,10 +77,12 @@ var nms = { '8':setMapModeFromN, '9':setMapModeFromN, 'c':toggleConnect, + 'H':moveTimeFromKey, 'h':moveTimeFromKey, 'j':moveTimeFromKey, 'k':moveTimeFromKey, 'l':moveTimeFromKey, + 'L':moveTimeFromKey, 'p':moveTimeFromKey, 'r':moveTimeFromKey, 'o':toggleOplog, @@ -511,6 +513,9 @@ function setMapModeFromN(e,key) function moveTimeFromKey(e,key) { switch(key) { + case 'H': + nmsTime.stepKey(-1440); + break; case 'h': nmsTime.stepKey(-60); break; @@ -523,6 +528,9 @@ function moveTimeFromKey(e,key) case 'l': nmsTime.stepKey(60); break; + case 'L': + nmsTime.stepKey(1440); + break; case 'p': nmsTime.togglePause(); break; |