Added Service-Monitoring

New Tab with service-monitoring added
This commit is contained in:
Kim Huebel 2021-04-14 22:04:34 +01:00
parent fd56a1ea87
commit 07a824d3c2
10 changed files with 128 additions and 7 deletions

View file

@ -30,3 +30,6 @@ td.dt-nowrap { white-space: nowrap }
.red {
background-color: Coral !important;
}
#services_monitor_list {list-style-type: none;}

View file

@ -6,8 +6,8 @@ YSF,0,1,Local Parrot,
YSF,0,2,DEV Reflector,
YSF,0,10,YSF2DMR TG26250,
YSF,0,40,DL Multimode 263,https://c4fm.ysfreflector.de/Germany/
YSF,0,41,DL-RAMSES,
YSF,0,42,DL-RAMSES-II,
YSF,0,41,DL-RAMSES,http://161.97.140.131:8000/RAMSES.html
YSF,0,42,DL-RAMSES-II,http://161.97.140.131:8000/RAMSES-II.html
YSF,0,43,DL-RAMSES-III,
YSF,0,44,DL-PEGASUS,
YSF,0,45,DL-SAAR,https://c4fm.ysfreflector.de/DL-Saar/

1 MODE TS TG LABEL URL
6 YSF 0 2 DEV Reflector
7 YSF 0 10 YSF2DMR TG26250
8 YSF 0 40 DL Multimode 263 https://c4fm.ysfreflector.de/Germany/
9 YSF 0 41 DL-RAMSES http://161.97.140.131:8000/RAMSES.html
10 YSF 0 42 DL-RAMSES-II http://161.97.140.131:8000/RAMSES-II.html
11 YSF 0 43 DL-RAMSES-III
12 YSF 0 44 DL-PEGASUS
13 YSF 0 45 DL-SAAR https://c4fm.ysfreflector.de/DL-Saar/

View file

@ -29,6 +29,7 @@
<script type="text/javascript" src="js/functions.js"></script>
<link rel="stylesheet" href="css/styles.css">
<link rel="stylesheet" href="css/tooltip.css">
<link href="open-iconic/font/css/open-iconic-bootstrap.css" rel="stylesheet">
<title>DG9VH - MMDVM-Dashboard by DG9VH</title>
</head>
<body>
@ -87,6 +88,9 @@
<li class="nav-item" name="sysinfo">
<a class="nav-link" id="sysinfo-tab" data-toggle="tab" href="#sysinfo" role="tab" aria-controls="sysinfo" aria-selected="false">System Info</a>
</li>
<li class="nav-item" name="services">
<a class="nav-link" id="services-tab" data-toggle="tab" href="#services" role="tab" aria-controls="services" aria-selected="false">Services Monitor</a>
</li>
<li class="nav-item" name="about">
<a class="nav-link" id="about-tab" data-toggle="tab" href="#about" role="tab" aria-controls="about" aria-selected="false">About</a>
</li>
@ -294,6 +298,15 @@
</div>
</div>
</div>
<div class="tab-pane fade" id="services" role="tabpanel" aria-labelledby="services-tab">
<div class="panel panel-default">
<!-- Standard-Panel-Inhalt -->
<div class="panel-heading">Services Monitor<span class="pull-right clickable"><i class="glyphicon glyphicon-chevron-up"></i></span></div>
<div class="panel-body">
<span id="services_monitor"><ul class="services_monitor"></span>
</div>
</div>
</div>
<div class="tab-pane fade" id="about" role="tabpanel" aria-labelledby="about-tab">
<div class="panel panel-default">
<!-- Standard-Panel-Inhalt -->
@ -446,6 +459,13 @@
t_dapnet.order( [ 0, 'desc' ] ).draw();
}
if (services > 0) {
var ws3 = new WebSocket("ws://" + window.location.hostname + ":5678/SERVICES");
ws3.onmessage = function (event) {
getServicesStatus(document, event);
};
}
checkConfigStructure();
</script>
</body>

View file

@ -1,5 +1,5 @@
// config structure version, please change to value in github-file after update and adding new values
var config_struc_ver = 20210312.1;
var config_struc_ver = 20210414.1;
// 1 = show link to QRZ.com, 0 = off
var qrz = 1;
@ -20,6 +20,7 @@ var allheard = 1;
var qso = 1;
var dapnet = 1;
var sysinfo = 1;
var services = 1;
var about = 1;
// Set displayed timezone and timestamp to timezone of browser if 1, else use UTC for displaying
@ -38,4 +39,4 @@ var qrz_blacklist = [
var dashboard_blacklist = [
"MY0CALL",
]
]

View file

@ -1,4 +1,4 @@
var act_config_struc_ver = 20210312.1;
var act_config_struc_ver = 20210314.1;
var messagecount = 0;
var ts1TXing = null;
var ts2TXing = null;
@ -21,6 +21,8 @@ dapnet = typeof(dapnet) == 'undefined' ? 1 : dapnet;
sysinfo = typeof(sysinfo) == 'undefined' ? 1 : sysinfo;
about = typeof(about) == 'undefined' ? 1 : about;
var array_services = [];
setInterval(getCurrentTXing, 1000);
function logIt(message) {
@ -857,6 +859,61 @@ function getSysInfo(document, event) {
});
}
function getServiceName(event) {
return event.data.substring(17, event.data.lastIndexOf(":"));
}
function getServiceState(event) {
return event.data.substr(event.data.lastIndexOf(":") + 1);
}
function addToServices(servicename, servicestate) {
var newService = new Array();
newService[0] = servicename;
newService[1] = servicestate;
array_services.push(newService);
}
function insertOrUpdateServiceState(servicename, servicestate) {
updated = false;
for (i = 0; i < array_services.length; ++i){
actual_service = array_services[i];
if (actual_service[0] == servicename) {
var newService = new Array();
newService[0] = servicename;
newService[1] = servicestate;
array_services[i] = newService;
updated = true;
}
}
if (updated == false) {
addToServices(servicename, servicestate);
}
}
function getServicesStatus(document, event) {
$(document).ready(function() {
if (event.data.startsWith("SERVICESMONITOR")) {
var servicename = getServiceName(event);
var servicestate = getServiceState(event);
insertOrUpdateServiceState(servicename, servicestate);
document.getElementById("services_monitor").innerHTML = '<ul id="services_monitor_list">';
//document.getElementById("services_monitor").innerHTML = '<ul id="services_monitor_list" style="list-style-type: none;">';
array_services.forEach(function(actual_service){
if (actual_service[1] == "running") {
document.getElementById("services_monitor_list").innerHTML += '<li title="' + actual_service[0] + ' is running"><span class="oi oi-media-play"></span> ' + actual_service[0] + '</li>';
} else {
document.getElementById("services_monitor_list").innerHTML += '<li title="' + actual_service[0] + ' is stopped"><span class="oi oi-media-stop"></span> ' + actual_service[0] + '</li>';
}
});
document.getElementById("services_monitor").innerHTML += "</ul>";
}
});
}
function activateDefaultTab(name) {
var element = document.getElementById(name + "-tab");
element.classList.add("active");

View file

@ -1 +1 @@
var dashboard_version = "2021-04-10 19:54:10";
var dashboard_version = "2021-04-14 22:04:34";

1
html/open-iconic Submodule

@ -0,0 +1 @@
Subproject commit 1d1e8885c5031874b32f4e480e371ce2b1c24144