aboutsummaryrefslogtreecommitdiffstats
path: root/web/js
diff options
context:
space:
mode:
Diffstat (limited to 'web/js')
-rw-r--r--web/js/nms-info-box.js20
-rw-r--r--web/js/nms-map-handlers.js150
-rw-r--r--web/js/nms-map.js3
-rw-r--r--web/js/nms-time.js6
-rw-r--r--web/js/nms.js11
5 files changed, 124 insertions, 66 deletions
diff --git a/web/js/nms-info-box.js b/web/js/nms-info-box.js
index ba6446d..c42c7ae 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) {
@@ -1317,7 +1317,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) {
@@ -1355,7 +1355,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);
@@ -1401,14 +1401,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;
@@ -1482,7 +1477,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) {
@@ -1491,6 +1486,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..0422f00 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,
@@ -502,6 +504,9 @@ function setMapModeFromN(e,key)
setUpdater(handler_snmp);
break;
case '9':
+ setUpdater(handler_cpu);
+ break;
+ case '0':
setUpdater(handler_disco);
break;
}
@@ -511,6 +516,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 +531,9 @@ function moveTimeFromKey(e,key)
case 'l':
nmsTime.stepKey(60);
break;
+ case 'L':
+ nmsTime.stepKey(1440);
+ break;
case 'p':
nmsTime.togglePause();
break;