Merge pull request #373 from laf/issue-laf-97

Added ability to create default global alert rules
This commit is contained in:
Neil Lathwood
2014-12-23 16:36:18 +00:00

View File

@@ -5,6 +5,20 @@
</div>
<?php
if(isset($_POST['create-default'])) {
$default_rules[] = array('device_id' => '-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');
@@ -122,6 +136,7 @@ foreach( dbFetchRows($full_query, $param) as $rule ) {
echo "</td>";
echo "</tr>\r\n";
}
if($count % $results > 0) {
echo(' <tr>
<td colspan="8" align="center">'. generate_pagination($count,$results,$page_number) .'</td>
@@ -132,6 +147,21 @@ echo '</table>
<input type="hidden" name="results_amount" id="results_amount" value="'.$results.'">
</form>
</div>';
if($count < 1) {
if ($_SESSION['userlevel'] == '10') {
echo '<div class="row">
<div class="col-sm-12">
<form role="form" method="post">
<p class="text-center">
<button type="submit" class="btn btn-success btn-lg" id="create-default" name="create-default">Create default global alerts!</button>
</p>
</form>
</div>
</div>';
}
}
?>
<script>