mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Tidy up alert output info for poller cli (#4578)
This commit is contained in:
committed by
Tony Murray
parent
0c0c553d74
commit
8b68429a06
@@ -160,13 +160,14 @@ function RunRules($device)
|
||||
return false;
|
||||
}
|
||||
foreach (GetRules($device) as $rule) {
|
||||
echo " #".$rule['id'].":";
|
||||
c_echo('Rule %p#'.$rule['id'].' (' . $rule['name'] . '):%n ');
|
||||
$inv = json_decode($rule['extra'], true);
|
||||
if (isset($inv['invert'])) {
|
||||
$inv = (bool) $inv['invert'];
|
||||
} else {
|
||||
$inv = false;
|
||||
}
|
||||
d_echo(PHP_EOL);
|
||||
$chk = dbFetchRow("SELECT state FROM alerts WHERE rule_id = ? && device_id = ? ORDER BY id DESC LIMIT 1", array($rule['id'], $device));
|
||||
$sql = GenSQL($rule['rule']);
|
||||
$qry = dbFetchRows($sql, array($device));
|
||||
@@ -185,30 +186,31 @@ function RunRules($device)
|
||||
}
|
||||
if ($doalert) {
|
||||
if ($chk['state'] === "2") {
|
||||
echo " SKIP ";
|
||||
c_echo('Status: %ySKIP');
|
||||
} elseif ($chk['state'] >= "1") {
|
||||
echo " NOCHG ";
|
||||
c_echo('Status: %bNOCHG');
|
||||
} else {
|
||||
$extra = gzcompress(json_encode(array('contacts' => GetContacts($qry), 'rule'=>$qry)), 9);
|
||||
if (dbInsert(array('state' => 1, 'device_id' => $device, 'rule_id' => $rule['id'], 'details' => $extra), 'alert_log')) {
|
||||
if (!dbUpdate(array('state' => 1, 'open' => 1), 'alerts', 'device_id = ? && rule_id = ?', array($device,$rule['id']))) {
|
||||
dbInsert(array('state' => 1, 'device_id' => $device, 'rule_id' => $rule['id'], 'open' => 1,'alerted' => 0), 'alerts');
|
||||
}
|
||||
echo " ALERT ";
|
||||
c_echo(PHP_EOL . 'Status: %rALERT');
|
||||
}
|
||||
}
|
||||
} else {
|
||||
if ($chk['state'] === "0") {
|
||||
echo " NOCHG ";
|
||||
c_echo('Status: %bNOCHG');
|
||||
} else {
|
||||
if (dbInsert(array('state' => 0, 'device_id' => $device, 'rule_id' => $rule['id']), 'alert_log')) {
|
||||
if (!dbUpdate(array('state' => 0, 'open' => 1), 'alerts', 'device_id = ? && rule_id = ?', array($device,$rule['id']))) {
|
||||
dbInsert(array('state' => 0, 'device_id' => $device, 'rule_id' => $rule['id'], 'open' => 1, 'alerted' => 0), 'alerts');
|
||||
}
|
||||
echo " OK ";
|
||||
c_echo(PHP_EOL . 'Status: %gOK');
|
||||
}
|
||||
}
|
||||
}
|
||||
c_echo('%n' . PHP_EOL);
|
||||
}
|
||||
}
|
||||
|
||||
|
@@ -134,8 +134,9 @@ foreach (dbFetch($query) as $device) {
|
||||
$device = dbFetchRow("SELECT * FROM `devices` WHERE `device_id` = " .$device['device_id']);
|
||||
$device['vrf_lite_cisco'] = dbFetchRows("SELECT * FROM `vrf_lite_cisco` WHERE `device_id` = ".$device['device_id']);
|
||||
poll_device($device, $options);
|
||||
echo "#### Start Alerts ####\n";
|
||||
RunRules($device['device_id']);
|
||||
echo "\r\n";
|
||||
echo "#### End Alerts ####\r\n";
|
||||
$polled_devices++;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user