diff --git a/html/pages/front/default.php b/html/pages/front/default.php index 854d269381..cf0185ce5f 100644 --- a/html/pages/front/default.php +++ b/html/pages/front/default.php @@ -76,20 +76,23 @@ if (isset($config['enable_bgp']) && $config['enable_bgp']) } } -if ($_SESSION['userlevel'] == '10') +if (filter_var($config['uptime_warning'], FILTER_VALIDATE_FLOAT) !== FALSE && $config['uptime_warning'] > 0) { -$sql = mysql_query("SELECT * FROM `devices` AS D WHERE D.status = '1' AND D.uptime < '84600' AND D.ignore = 0"); -} else { -$sql = mysql_query("SELECT * FROM `devices` AS D, devices_perms AS P WHERE D.device_id = P.device_id AND P.user_id = '" . $_SESSION['user_id'] . "' AND D.status = '1' AND D.uptime < '84600' AND D.ignore = 0"); -} - -while ($device = mysql_fetch_assoc($sql)) -{ - generate_front_box("#aaffaa", "
".generate_device_link($device, shorthost($device['hostname']))."
- Device
Rebooted

- ".formatUptime($device['uptime'], 'short')." -
"); + if ($_SESSION['userlevel'] == '10') + { + $sql = mysql_query("SELECT * FROM `devices` AS D WHERE D.status = '1' AND D.uptime < '" . $config['uptime_warning'] . "' AND D.ignore = 0"); + } else { + $sql = mysql_query("SELECT * FROM `devices` AS D, devices_perms AS P WHERE D.device_id = P.device_id AND P.user_id = '" . $_SESSION['user_id'] . "' AND D.status = '1' AND D.uptime < '" . + $config['uptime_warning'] . "' AND D.ignore = 0"); + } + while ($device = mysql_fetch_assoc($sql)) + { + generate_front_box("#aaffaa", "
".generate_device_link($device, shorthost($device['hostname']))."
+ Device
Rebooted

+ ".formatUptime($device['uptime'], 'short')." +
"); + } } if ($config['enable_syslog']) @@ -140,4 +143,4 @@ if ($config['enable_syslog']) echo(""); -?> \ No newline at end of file +?> diff --git a/html/pages/front/demo.php b/html/pages/front/demo.php index ae07bf0947..665e990cc1 100644 --- a/html/pages/front/demo.php +++ b/html/pages/front/demo.php @@ -78,16 +78,20 @@ while ($peer = mysql_fetch_array($sql)) } } -$sql = mysql_query("SELECT * FROM devices_attribs AS A, `devices` AS D WHERE A.attrib_value < '84600' AND A.attrib_type = 'uptime' AND A.device_id = D.device_id AND ignore = '0' AND disabled = '0'"); -while ($device = mysql_fetch_array($sql)) +if (filter_var($config['uptime_warning'], FILTER_VALIDATE_FLOAT) !== FALSE && $config['uptime_warning'] > 0) { - if (device_permitted($device['device_id']) && $device['attrib_value'] < "84600" && $device['attrib_type'] == "uptime") + $sql = mysql_query("SELECT * FROM devices_attribs AS A, `devices` AS D WHERE + A.attrib_value < '" . $config['uptime_warning'] . "' AND A.attrib_type = 'uptime' AND A.device_id = D.device_id AND ignore = '0' AND disabled = '0'"); + while ($device = mysql_fetch_array($sql)) { - echo("
- ".generate_device_link($device, shorthost($device['hostname']))."
- Device
Rebooted

- ".formatUptime($device['attrib_value'])." -
"); + if (device_permitted($device['device_id']) && $device['attrib_value'] < $config['uptime_warning'] && $device['attrib_type'] == "uptime") + { + echo("
+ ".generate_device_link($device, shorthost($device['hostname']))."
+ Device
Rebooted

+ ".formatUptime($device['attrib_value'])." +
"); + } } } diff --git a/html/pages/front/example2.php b/html/pages/front/example2.php index 3429c3ca07..b260ba7c38 100644 --- a/html/pages/front/example2.php +++ b/html/pages/front/example2.php @@ -74,15 +74,17 @@ while ($peer = mysql_fetch_assoc($sql)){ } -$sql = mysql_query("SELECT * FROM `devices` AS D, devices_attribs AS A WHERE A.device_id = D.device_id AND A.attrib_type = 'uptime' AND A.attrib_value < '84600'"); -while ($device = mysql_fetch_assoc($sql)){ - - echo("
-
".generate_device_link($device, shorthost($device['hostname']))."
- Device
Rebooted

- ".formatUptime($device['attrib_value'])." -
"); +if (filter_var($config['uptime_warning'], FILTER_VALIDATE_FLOAT) !== FALSE && $config['uptime_warning'] > 0) +{ + $sql = mysql_query("SELECT * FROM `devices` AS D, devices_attribs AS A WHERE A.device_id = D.device_id AND A.attrib_type = 'uptime' AND A.attrib_value < '" . $config['uptime_warning'] . "'"); + while ($device = mysql_fetch_assoc($sql)){ + echo("
+
".generate_device_link($device, shorthost($device['hostname']))."
+ Device
Rebooted

+ ".formatUptime($device['attrib_value'])." +
"); + } } echo(" diff --git a/html/pages/front/jt.php b/html/pages/front/jt.php index 4da90a45f8..8ee15dcde5 100644 --- a/html/pages/front/jt.php +++ b/html/pages/front/jt.php @@ -6,7 +6,13 @@ $nodes = array(); -$sql = mysql_query("SELECT * FROM `devices` AS D, `devices_attribs` AS A WHERE D.status = '1' AND A.device_id = D.device_id AND A.attrib_type = 'uptime' AND A.attrib_value > '0' AND A.attrib_value < '86400'"); +$uptimesql = ""; +if (filter_var($config['uptime_warning'], FILTER_VALIDATE_FLOAT) !== FALSE && $config['uptime_warning'] > 0) +{ + $uptimesql = " AND A.attrib_value < '" . $config['uptime_warning'] . "'"; +} + +$sql = mysql_query("SELECT * FROM `devices` AS D, `devices_attribs` AS A WHERE D.status = '1' AND A.device_id = D.device_id AND A.attrib_type = 'uptime' AND A.attrib_value > '0' " . $uptimesql); while ($device = mysql_fetch_assoc($sql)){ unset($already); @@ -73,15 +79,18 @@ while ($peer = mysql_fetch_assoc($sql)){ } } -$sql = mysql_query("SELECT * FROM devices_attribs AS A, `devices` AS D WHERE A.attrib_value < '84600' AND A.attrib_type = 'uptime' AND A.device_id = D.device_id AND ignore = '0' AND disabled = '0'"); -while ($device = mysql_fetch_assoc($sql)){ - if (device_permitted($device['device_id']) && $device['attrib_value'] < "84600" && $device['attrib_type'] == "uptime") { - echo("
- ".generate_device_link($device, shorthost($device['hostname']))."
- Device
Rebooted

- ".formatUptime($device['attrib_value'])." -
"); - } +if (filter_var($config['uptime_warning'], FILTER_VALIDATE_FLOAT) !== FALSE && $config['uptime_warning'] > 0) +{ + $sql = mysql_query("SELECT * FROM devices_attribs AS A, `devices` AS D WHERE A.attrib_value < '" . $config['uptime_warning'] . "' AND A.attrib_type = 'uptime' AND A.device_id = D.device_id AND ignore = '0' AND disabled = '0'"); + while ($device = mysql_fetch_assoc($sql)){ + if (device_permitted($device['device_id']) && $device['attrib_value'] < $config['uptime_warning'] && $device['attrib_type'] == "uptime") { + echo("
+ ".generate_device_link($device, shorthost($device['hostname']))."
+ Device
Rebooted

+ ".formatUptime($device['attrib_value'])." +
"); + } + } } diff --git a/html/pages/front/traffic.php b/html/pages/front/traffic.php new file mode 100644 index 0000000000..6aa9fa3822 --- /dev/null +++ b/html/pages/front/traffic.php @@ -0,0 +1,207 @@ + + + + + + + + +
+ 0) +{ + $uptimesql = " AND A.attrib_value < '" . $config['uptime_warning'] . "'"; +} + +$sql = mysql_query("SELECT * FROM `devices` AS D, `devices_attribs` AS A WHERE D.status = '1' AND A.device_id = D.device_id AND A.attrib_type = 'uptime' AND A.attrib_value > '0' " . $uptimesql); + +while ($device = mysql_fetch_assoc($sql)){ + unset($already); + $i = 0; + while ($i <= count($nodes)) { + $thisnode = $device['device_id']; + if ($nodes[$i] == $thisnode) { + $already = "yes"; + } + $i++; + } + if (!$already) { $nodes[] = $device['device_id']; } +} + + +$sql = mysql_query("SELECT * FROM `devices` WHERE `status` = '0' AND `ignore` = '0'"); +while ($device = mysql_fetch_assoc($sql)){ + if (device_permitted($device['device_id'])) { + echo("
+ ".generate_device_link($device, shorthost($device['hostname']))."
+ Device Down
+ ".truncate($device['location'], 35)." +
"); + } +} + +if ($config['warn']['ifdown']) { + +$sql = mysql_query("SELECT * FROM `ports` AS I, `devices` AS D WHERE I.device_id = D.device_id AND ifOperStatus = 'down' AND ifAdminStatus = 'up' AND D.ignore = '0' AND I.ignore = '0'"); +while ($interface = mysql_fetch_assoc($sql)){ + if (port_permitted($interface['interface_id'])) { + echo("
+ ".generate_device_link($interface, shorthost($interface['hostname']))."
+ Port Down
+ ".generate_port_link($interface, makeshortif($interface['ifDescr']))."
+ ".truncate($interface['ifAlias'], 15)." +
"); + } +} + +} + +$sql = mysql_query("SELECT * FROM `services` AS S, `devices` AS D WHERE S.device_id = D.device_id AND service_status = 'down' AND D.ignore = '0' AND S.service_ignore = '0'"); +while ($service = mysql_fetch_assoc($sql)){ + if (device_permitted($service['device_id'])) { + echo("
+ ".generate_device_link($service, shorthost($service['hostname']))."
+ Service Down
+ ".$service['service_type']."
+ ".truncate($interface['ifAlias'], 15)." +
"); + } +} + +$sql = mysql_query("SELECT * FROM `devices` AS D, bgpPeers AS B WHERE bgpPeerAdminStatus = 'start' AND bgpPeerState != 'established' AND B.device_id = D.device_id"); +while ($peer = mysql_fetch_assoc($sql)){ + if (device_permitted($peer['device_id'])) { + echo("
+ ".generate_device_link($peer, shorthost($peer['hostname']))."
+ BGP Down
+ ".$peer['bgpPeerIdentifier']."
+ AS".$peer['bgpPeerRemoteAs']." ".truncate($peer['astext'], 10)." +
"); + } +} + +if (filter_var($config['uptime_warning'], FILTER_VALIDATE_FLOAT) !== FALSE && $config['uptime_warning'] > 0) +{ + $sql = mysql_query("SELECT * FROM devices_attribs AS A, `devices` AS D WHERE A.attrib_value < '" . $config['uptime_warning'] . "' AND A.attrib_type = 'uptime' AND A.device_id = D.device_id AND ignore = '0' AND disabled = '0'"); + while ($device = mysql_fetch_assoc($sql)){ + if (device_permitted($device['device_id']) && $device['attrib_value'] < $config['uptime_warning'] && $device['attrib_type'] == "uptime") { + echo("
+ ".generate_device_link($device, shorthost($device['hostname']))."
+ Device
Rebooted

+ ".formatUptime($device['attrib_value'])." +
"); + } + } +} + + +echo(" + +
$errorboxes
+ +

Recent Syslog Messages

+ +"); + +$sql = "SELECT *, DATE_FORMAT(timestamp, '%D %b %T') AS date from syslog,devices WHERE syslog.device_id = devices.device_id ORDER BY seq DESC LIMIT 20"; +$query = mysql_query($sql); +echo(""); +while ($entry = mysql_fetch_assoc($query)) { include("includes/print-syslog.inc.php"); } +echo("
"); + + +echo("
+ +
"); + + +/// this stuff can be customised to show whatever you want.... + +if ($_SESSION['userlevel'] >= '5') +{ + + $sql = "select * from ports as I, devices as D WHERE `ifAlias` like 'Transit: %' AND I.device_id = D.device_id ORDER BY I.ifAlias"; + $query = mysql_query($sql); + unset ($seperator); + while ($interface = mysql_fetch_assoc($query)) { + $ports['transit'] .= $seperator . $interface['interface_id']; + $seperator = ","; + } + + $sql = "select * from ports as I, devices as D WHERE `ifAlias` like 'Peering: %' AND I.device_id = D.device_id ORDER BY I.ifAlias"; + $query = mysql_query($sql); + unset ($seperator); + while ($interface = mysql_fetch_assoc($query)) { + $ports['peering'] .= $seperator . $interface['interface_id']; + $seperator = ","; + } + + $sql = "select * from ports as I, devices as D WHERE `ifAlias` like 'Core: %' AND I.device_id = D.device_id ORDER BY I.ifAlias"; + $query = mysql_query($sql); + unset ($seperator); + while ($interface = mysql_fetch_assoc($query)) { + $ports['core'] .= $seperator . $interface['interface_id']; + $seperator = ","; + } + + echo("
"); + + if ($ports['peering'] && $ports['transit']) { + echo(""); + } + + echo("
"); + + echo("
"); + + if ($ports['transit']) { + echo(""); + } + + if ($ports['peering']) { + echo(""); + } + + + if ($ports['core']) { + echo(""); + } + + echo("
"); + +} + +?> +
diff --git a/includes/defaults.inc.php b/includes/defaults.inc.php index 48f9dba8c5..cdca9e6ff0 100644 --- a/includes/defaults.inc.php +++ b/includes/defaults.inc.php @@ -41,7 +41,7 @@ $config['mono_font'] = "DejaVuSansMono"; $config['favicon'] = "images/observium-icon.png"; $config['header_color'] = "#1F334E"; $config['page_refresh'] = "300"; ## Refresh the page every xx seconds -$config['frong_page'] = "pages/front/default.php"; +$config['front_page'] = "pages/front/default.php"; $config['page_title'] = "Observium :: Network Observation and Monitoring"; $config['timestamp_format'] = 'd-m-Y H:i:s'; $config['page_gen'] = 1; @@ -77,6 +77,7 @@ $config['discover_services'] = false; ## Autodiscover services via SNMP on $config['alerts']['email']['default'] = NULL; ## Default alert recipient $config['alerts']['email']['default_only'] = FALSE; ## Only use default recipient $config['alerts']['email']['enable'] = TRUE; ## Enable email alerts +$config['uptime_warning'] = "84600"; ## Time in seconds to display a "Device Rebooted" Alert. 0 to disable warnings. ### Cosmetics