'-1', 'rule' => '%devices.status != "1" && %devices.disabled = "0" && %devices.ignore = "0"', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"-1","delay":"300"}', 'name' => 'Devices up/down'); $default_rules[] = array('device_id' => '-1', 'rule' => '%devices.uptime < "300" && %devices.disabled = "0" && %devices.ignore = "0"', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"1","delay":"300"}', 'name' => 'Device rebooted'); $default_rules[] = array('device_id' => '-1', 'rule' => '%bgpPeers.bgpPeerState != "established"', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"1","delay":"300"}', 'name' => 'BGP Session down'); $default_rules[] = array('device_id' => '-1', 'rule' => '%bgpPeers.bgpPeerFsmEstablishedTime < "300" && %bgpPeers.bgpPeerState = "established"', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"1","delay":"300"}', 'name' => 'BGP Session establised'); $default_rules[] = array('device_id' => '-1', 'rule' => '%ports.ifOperStatus != "up" && %ports.ifAdminStatus = "up" && %ports.deleted = "0" && %ports.ignore = "0" && %ports.disabled = "0"', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"1","delay":"300"}', 'name' => 'Port status up/down'); $default_rules[] = array('device_id' => '-1', 'rule' => '((%ports.ifInOctets_rate*8)/%ports.ifSpeed)*100 >= 80', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"-1","delay":"300"}', 'name' => 'Port utilisation over threshold'); $default_rules[] = array('device_id' => '-1', 'rule' => '%sensors.sensor_current > %sensors.sensor_limit', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"-1","delay":"300"}', 'name' => 'Sensor over limit'); $default_rules[] = array('device_id' => '-1', 'rule' => '%sensors.sensor_current < %sensors.sensor_limit_low', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"-1","delay":"300"}', 'name' => 'Sensor under limit'); foreach( $default_rules as $add_rule ) { dbInsert($add_rule,'alert_rules'); } } require_once('includes/modal/new_alert_rule.inc.php'); require_once('includes/modal/delete_alert_rule.inc.php'); ?>
0) { $results = $_POST['results']; } else { $results = 50; } echo '
'; echo (''); $rulei=1; $count_query = "SELECT COUNT(id)"; $full_query = "SELECT *"; $sql = ''; $param = array(); if(isset($device['device_id']) && $device['device_id'] > 0) { $sql = 'WHERE (device_id=? OR device_id="-1")'; $param = array($device['device_id']); } $query = " FROM alert_rules $sql ORDER BY device_id,id"; $count_query = $count_query . $query; $count = dbFetchCell($count_query,$param); if(!isset($_POST['page_number']) && $_POST['page_number'] < 1) { $page_number = 1; } else { $page_number = $_POST['page_number']; } $start = ($page_number - 1) * $results; $full_query = $full_query . $query . " LIMIT $start,$results"; foreach( dbFetchRows($full_query, $param) as $rule ) { $sub = dbFetchRows("SELECT * FROM alerts WHERE rule_id = ? ORDER BY id DESC LIMIT 1", array($rule['id'])); $ico = "ok"; $col = "success"; $extra = ""; if( sizeof($sub) == 1 ) { $sub = $sub[0]; if( (int) $sub['state'] === 0 ) { $ico = "ok"; $col = "success"; } elseif( (int) $sub['state'] === 1 ) { $ico = "remove"; $col = "danger"; $extra = "danger"; } elseif( (int) $sub['state'] === 2 ) { $ico = "time"; $col = "default"; $extra = "warning"; } } $alert_checked = ''; $orig_ico = $ico; $orig_col = $col; $orig_class = $extra; if( $rule['disabled'] ) { $ico = "pause"; $col = ""; $extra = "active"; } else { $alert_checked = 'checked'; } $rule_extra = json_decode($rule['extra'],TRUE); echo ""; echo ""; echo ""; echo ""; echo ""; echo ""; } echo ""; echo ""; echo ""; echo "\r\n"; } if($count % $results > 0) { echo(' '); } echo '
# Name Rule Severity Status Extra Enabled Action
'); if ($_SESSION['userlevel'] >= '10') { echo(''); } echo ('
#".((int) $rulei++)."".$rule['name'].""; if($rule_extra['invert'] === true) { echo "Inverted "; } echo "".htmlentities($rule['rule'])."".$rule['severity']." "; if($rule_extra['mute'] === true) { echo "Max: ".$rule_extra['count']."
Delay: ".$rule_extra['delay']."
"; if ($_SESSION['userlevel'] >= '10') { echo ""; } echo ""; if ($_SESSION['userlevel'] >= '10') { echo " "; echo ""; } echo "
'. generate_pagination($count,$results,$page_number) .'
'; if($count < 1) { if ($_SESSION['userlevel'] >= '10') { echo '

'; } } ?>