This commit is contained in:
ChrisPortman 2019-01-30 05:29:22 +11:00 committed by Jeremy Stretch
parent ff40a13f29
commit afb4c636fe

View File

@ -73,53 +73,58 @@ $(document).ready(function() {
url: "{% url 'dcim-api:device-napalm' pk=device.pk %}?method=get_facts&method=get_environment", url: "{% url 'dcim-api:device-napalm' pk=device.pk %}?method=get_facts&method=get_environment",
dataType: 'json', dataType: 'json',
success: function(json) { success: function(json) {
$('#hostname').html(json['get_facts']['hostname']); if (!json['get_facts']['error']) {
$('#fqdn').html(json['get_facts']['fqdn']); $('#hostname').html(json['get_facts']['hostname']);
$('#vendor').html(json['get_facts']['vendor']); $('#fqdn').html(json['get_facts']['fqdn']);
$('#model').html(json['get_facts']['model']); $('#vendor').html(json['get_facts']['vendor']);
$('#serial_number').html(json['get_facts']['serial_number']); $('#model').html(json['get_facts']['model']);
$('#os_version').html(json['get_facts']['os_version']); $('#serial_number').html(json['get_facts']['serial_number']);
// Calculate uptime $('#os_version').html(json['get_facts']['os_version']);
var uptime = json['get_facts']['uptime']; // Calculate uptime
console.log(uptime); var uptime = json['get_facts']['uptime'];
var uptime_days = Math.floor(uptime / 86400); console.log(uptime);
var uptime_hours = Math.floor(uptime % 86400 / 3600); var uptime_days = Math.floor(uptime / 86400);
var uptime_minutes = Math.floor(uptime % 3600 / 60); var uptime_hours = Math.floor(uptime % 86400 / 3600);
$('#uptime').html(uptime_days + "d " + uptime_hours + "h " + uptime_minutes + "m"); var uptime_minutes = Math.floor(uptime % 3600 / 60);
$.each(json['get_environment']['cpu'], function(name, obj) { $('#uptime').html(uptime_days + "d " + uptime_hours + "h " + uptime_minutes + "m");
var row="<tr><td>" + name + "</td><td>" + obj['%usage'] + "%</td></tr>"; }
$("#cpu").after(row)
}); if (!json['get_environment']['error']) {
$('#memory').after("<tr><td>Used</td><td>" + json['get_environment']['memory']['used_ram'] + "</td></tr>"); $.each(json['get_environment']['cpu'], function(name, obj) {
$('#memory').after("<tr><td>Available</td><td>" + json['get_environment']['memory']['available_ram'] + "</td></tr>"); var row="<tr><td>" + name + "</td><td>" + obj['%usage'] + "%</td></tr>";
$.each(json['get_environment']['temperature'], function(name, obj) { $("#cpu").after(row)
var style = "success"; });
if (obj['is_alert']) { $('#memory').after("<tr><td>Used</td><td>" + json['get_environment']['memory']['used_ram'] + "</td></tr>");
style = "warning"; $('#memory').after("<tr><td>Available</td><td>" + json['get_environment']['memory']['available_ram'] + "</td></tr>");
} else if (obj['is_critical']) { $.each(json['get_environment']['temperature'], function(name, obj) {
style = "danger"; var style = "success";
} if (obj['is_alert']) {
var row="<tr class=\"" + style +"\"><td>" + name + "</td><td>" + obj['temperature'] + "°C</td></tr>"; style = "warning";
$("#temperature").after(row) } else if (obj['is_critical']) {
}); style = "danger";
$.each(json['get_environment']['fans'], function(name, obj) { }
var row; var row="<tr class=\"" + style +"\"><td>" + name + "</td><td>" + obj['temperature'] + "°C</td></tr>";
if (obj['status']) { $("#temperature").after(row)
row="<tr class=\"success\"><td>" + name + "</td><td><i class=\"fa fa-check text-success\"></i></td></tr>"; });
} else { $.each(json['get_environment']['fans'], function(name, obj) {
row="<tr class=\"error\"><td>" + name + "</td><td><i class=\"fa fa-close text-error\"></i></td></tr>"; var row;
} if (obj['status']) {
$("#fans").after(row) row="<tr class=\"success\"><td>" + name + "</td><td><i class=\"fa fa-check text-success\"></i></td></tr>";
}); } else {
$.each(json['get_environment']['power'], function(name, obj) { row="<tr class=\"error\"><td>" + name + "</td><td><i class=\"fa fa-close text-error\"></i></td></tr>";
var row; }
if (obj['status']) { $("#fans").after(row)
row="<tr class=\"success\"><td>" + name + "</td><td><i class=\"fa fa-check text-success\"></i></td></tr>"; });
} else { $.each(json['get_environment']['power'], function(name, obj) {
row="<tr class=\"danger\"><td>" + name + "</td><td><i class=\"fa fa-close text-danger\"></i></td></tr>"; var row;
} if (obj['status']) {
$("#power").after(row) row="<tr class=\"success\"><td>" + name + "</td><td><i class=\"fa fa-check text-success\"></i></td></tr>";
}); } else {
row="<tr class=\"danger\"><td>" + name + "</td><td><i class=\"fa fa-close text-danger\"></i></td></tr>";
}
$("#power").after(row)
});
}
}, },
error: function(xhr) { error: function(xhr) {
alert(xhr.responseText); alert(xhr.responseText);