'-1', 'rule' => '%macros.device_down = "1"', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"-1","delay":"300"}', 'disabled' => 0, 'name' => 'Devices up/down', ); $default_rules[] = array( 'device_id' => '-1', 'rule' => '%devices.uptime < "300" && %macros.device = "1"', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"1","delay":"300"}', 'disabled' => 0, 'name' => 'Device rebooted', ); $default_rules[] = array( 'device_id' => '-1', 'rule' => '%bgpPeers.bgpPeerState != "established" && %macros.device_up = "1"', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"1","delay":"300"}', 'disabled' => 0, '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"}', 'disabled' => 0, 'name' => 'BGP Session established', ); $default_rules[] = array( 'device_id' => '-1', 'rule' => '%macros.port_down = "1"', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"1","delay":"300"}', 'disabled' => 0, 'name' => 'Port status up/down', ); $default_rules[] = array( 'device_id' => '-1', 'rule' => '%macros.port_usage_perc >= "80"', 'severity' => 'critical', 'extra' => '{"mute":false,"count":"-1","delay":"300"}', 'disabled' => 0, '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"}', 'disabled' => 0, '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"}', 'disabled' => 0, 'name' => 'Sensor under limit', ); foreach ($default_rules as $add_rule) { dbInsert($add_rule, 'alert_rules'); } }//end if 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'; } else if ((int) $sub['state'] === 1) { $ico = 'remove'; $col = 'danger'; $extra = 'danger'; } else if ((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); if ($rule['device_id'] == ':-1' || $rule['device_id'] == '-1') { $popover_msg = 'Global alert rule'; } else { $popover_msg = 'Device specific rule'; } echo ""; echo ''; echo ''; echo "'; echo ''; echo ""; } echo ''; echo ''; echo ''; echo "\r\n"; }//end foreach 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'].'
Interval: '.$rule_extra['interval'].'
'; 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 '

'; } } ?>