Calculate downtime from device_outages table (#15397)

* Calculate downtime from device_outages table

* refactor
This commit is contained in:
Tony Murray
2023-10-06 20:37:23 -05:00
committed by GitHub
parent 6d9178cd42
commit e53436b6a3
4 changed files with 29 additions and 6 deletions

View File

@@ -5,6 +5,7 @@ use LibreNMS\Config;
use LibreNMS\Exceptions\InvalidIpException;
use LibreNMS\Util\Clean;
use LibreNMS\Util\IP;
use LibreNMS\Util\Time;
echo "<div class='row'>
<div class='col-md-12'>
@@ -103,13 +104,13 @@ if ($device['sysContact']) {
if (! empty($device['inserted']) && preg_match('/^0/', $device['inserted']) == 0) {
$inserted_text = 'Device Added';
$inserted = (\LibreNMS\Util\Time::formatInterval(-(time() - strtotime($device['inserted']))));
$inserted = (Time::formatInterval(-(time() - strtotime($device['inserted']))));
echo "<div class='row'><div class='col-sm-4'>$inserted_text</div><div class='col-sm-8' title='$inserted_text on " . $device['inserted'] . "'>$inserted</div></div>";
}
if (! empty($device['last_discovered'])) {
$last_discovered_text = 'Last Discovered';
$last_discovered = (empty($device['last_discovered']) ? 'Never' : \LibreNMS\Util\Time::formatInterval(-(time() - strtotime($device['last_discovered']))));
$last_discovered = (empty($device['last_discovered']) ? 'Never' : Time::formatInterval(-(time() - strtotime($device['last_discovered']))));
echo "<div class='row'><div class='col-sm-4'>$last_discovered_text</div><div class='col-sm-8' title='$last_discovered_text at " . $device['last_discovered'] . "'>$last_discovered</div></div>";
}
@@ -117,9 +118,12 @@ if (! empty($device['last_discovered'])) {
if (! $device['status'] && ! $device['last_polled']) {
$uptime = __('Never polled');
$uptime_text = 'Uptime';
} elseif ($device['status']) {
$uptime = Time::formatInterval($device['uptime']);
$uptime_text = 'Uptime';
} else {
$uptime = (\LibreNMS\Util\Time::formatInterval($device['status'] ? $device['uptime'] : time() - strtotime($device['last_polled'])));
$uptime_text = ($device['status'] ? 'Uptime' : 'Downtime');
$uptime = Time::formatInterval(DeviceCache::getPrimary()->downSince()->diffInSeconds());
$uptime_text = 'Downtime';
}
if ($uptime) {