http-server-status/template/index.html
kekskurse 8d6b4d6db6
All checks were successful
continuous-integration/drone/push Build is passing
Add Systemd Check
2021-10-21 12:15:55 +02:00

166 lines
No EOL
6.4 KiB
HTML

<html>
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>HTTP Status Page</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-F3w7mX95PdgyTmZZMECAngseQB83DfGTowi0iMjiWaeVhAn4FJkqJByhZMI3AhiU" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.9.3/dist/umd/popper.min.js" integrity="sha384-W8fXfP3gkOKtndU4JGtKDvXbO53Wy8SZCQHczT5FMiiqmQfUpWbYdTil/SxwZgAN" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.1/dist/js/bootstrap.min.js" integrity="sha384-skAcpIdS7UcVUC05LJ9Dxay8AXcDYfBJqt1CJ85S/CFujBsIzCIv+l9liuYLaMQ/" crossorigin="anonymous"></script>
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
</head>
<body>
<div class="container">
<div class="row">
<div class="col-md-12">
<h1>HTTP Status Page</h1>
</div>
</div>
<div class="row">
<div class="col-md-6">
<div class="card">
<div class="card-header" id="hddtitle">
Check HDD
</div>
<div class="card-body" id="hddpercent">
<p class="card-text">
HDD 1:
<div class="progress">
<div class="progress-bar" role="progressbar" style="width: 25%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">25%</div>
</div>
</p>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header" id="ramtitle">
Check RAM
</div>
<div class="card-body">
<p class="card-text" id="rampercent">Some quick example text to build on the card title and make up the bulk of the card's content.</p>
</div>
</div>
</div>
</div>
<div class="row" style="margin-top: 20px;">
<div class="col-md-6">
<div class="card">
<div class="card-header" id="loadtitle">
Check Load
</div>
<div class="card-body">
<p class="card-text" id="loadcontent">...</p>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-header" id="systemdtitle">
Systemd Check
</div>
<div class="card-body">
<p class="card-text" id="systemdcontent">...</p>
</div>
</div>
</div>
</div>
</div>
<script>
function getData() {
$.ajax({
url: "/data.json",
}).done(function(data) {
console.log("ajax done")
handleData(data)
}).always(function(data) {
console.log("always")
if(data.responseText != "") {
console.log(data.responseText)
handleData(data.responseText)
}
setTimeout("getData();", 10000);
});
}
function handleData(data) {
console.log("PARSE")
o = JSON.parse(data)
//Disc space
console.log(o)
let html = ""
$("#hddpercent").empty()
keys = Object.keys(o.Checks["Disc space"].data)
for(var i = 0; i < keys.length; i++) {
name = keys[i]
value = o.Checks["Disc space"].data[keys[i]]
$("#hddpercent").append('<b>'+name+'</b><br><div class="progress"><div class="progress-bar" role="progressbar" style="width: '+value+'%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">' +value+ '%</div></div>');
}
if (o.Checks["Disc space"].success) {
$("#hddtitle").addClass("bg-success");
$("#hddtitle").removeClass("bg-error");
} else {
$("#hddtitle").addClass("bg-danger");
$("#hddtitle").removeClass("bg-success");
}
//ram
if (o.Checks["Memory usage"].success) {
$("#ramtitle").addClass("bg-success");
$("#ramtitle").removeClass("bg-error");
} else {
$("#ramtitle").addClass("bg-danger");
$("#ramtitle").removeClass("bg-success");
}
$("#rampercent").empty()
$("#rampercent").append('<b>Ram</b><br><div class="progress"><div class="progress-bar" role="progressbar" style="width: '+o.Checks["Memory usage"].data["ram"]+'%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">' +o.Checks["Memory usage"].data["ram"]+ '%</div></div>');
$("#rampercent").append('<b>Swap</b><br><div class="progress"><div class="progress-bar" role="progressbar" style="width: '+o.Checks["Memory usage"].data["swap"]+'%;" aria-valuenow="25" aria-valuemin="0" aria-valuemax="100">' +o.Checks["Memory usage"].data["swap"]+ '%</div></div>');
//load
if (o.Checks["System Load"].success) {
$("#loadtitle").addClass("bg-success");
$("#loadtitle").removeClass("bg-error");
} else {
$("#loadtitle").addClass("bg-danger");
$("#loadtitle").removeClass("bg-success");
}
$("#loadcontent").empty()
html = "<table class='table'>"
html += "<tr><td>1</td><td>"+o.Checks["System Load"].data["Loadavg1"]+"</td></tr>"
html += "<tr><td>5</td><td>"+o.Checks["System Load"].data["Loadavg5"]+"</td></tr>"
html += "<tr><td>15</td><td>"+o.Checks["System Load"].data["Loadavg15"]+"</td></tr>"
html += "</table>"
$("#loadcontent").append(html)
//systemd
if (o.Checks["Systemd Status"].success) {
$("#systemdtitle").addClass("bg-success");
$("#systemdtitle").removeClass("bg-error");
} else {
$("#systemdtitle").addClass("bg-danger");
$("#systemdtitle").removeClass("bg-success");
}
$("#systemdcontent").empty()
html = "<table class='table'>"
keys = Object.keys(o.Checks["Systemd Status"].data)
for (var i = 0; i < keys.length; i++) {
name = keys[i]
value = o.Checks["Systemd Status"].data[keys[i]]
html += "<tr><td>"+name+"</td><td>"+value+"</td></tr>"
}
html += "</table>"
$("#systemdcontent").append(html)
}
getData();
</script>
</body>
</html>