mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Allow setting Service Ignore and Disable in UI (#10334)
* Added disable and ignore checkboxes to services modal * Updated add_services function to set disabled field * Modified check-services.php respect service_disable value * Minor code change for consistency in new_service.inc.php * Removed unneeded includes
This commit is contained in:
committed by
PipoCanaja
parent
12cd540a92
commit
5a2f2497bb
+10
-24
@@ -61,35 +61,18 @@ $sql = 'SELECT D.*,S.*,attrib_value FROM `devices` AS D'
|
||||
.' ORDER by D.device_id DESC;';
|
||||
|
||||
foreach (dbFetchRows($sql) as $service) {
|
||||
// Run the polling function if the associated device is up, "Disable ICMP Test" option is not enabled,
|
||||
// Run the polling function if service is enabled and the associated device is up, "Disable ICMP Test" option is not enabled,
|
||||
// or service hostname/ip is different from associated device
|
||||
if ($service['status'] == 1 || ($service['status'] == 0 && $service['status_reason'] === 'snmp') ||
|
||||
if (!$service['service_disabled'] && ($service['status'] == 1 || ($service['status'] == 0 && $service['status_reason'] === 'snmp') ||
|
||||
$service['attrib_value'] === 'true' || ($service['service_ip'] !== $service['hostname'] &&
|
||||
$service['service_ip'] !== inet6_ntop($service['ip']) )) {
|
||||
// Mark service check as enabled if it was disabled previously because device was down
|
||||
if ($service['service_disabled']) {
|
||||
dbUpdate(
|
||||
array('service_disabled' => 0),
|
||||
'services',
|
||||
'`service_id` = ?',
|
||||
array($service['service_id'])
|
||||
);
|
||||
}
|
||||
$service['service_ip'] !== inet6_ntop($service['ip']) ))) {
|
||||
poll_service($service);
|
||||
$polled_services++;
|
||||
} else {
|
||||
d_echo("\nService check - ".$service['service_id']."\nSkipping service check because device "
|
||||
.$service['hostname']." is down due to icmp.\n");
|
||||
// Mark service check as disabled while device is down and log to eventlog that service check is skipped,
|
||||
// but only if it's not already marked as disabled
|
||||
if (!$service['service_disabled']) {
|
||||
dbUpdate(
|
||||
array('service_disabled' => 1),
|
||||
'services',
|
||||
'`service_id` = ?',
|
||||
array($service['service_id'])
|
||||
);
|
||||
log_event(
|
||||
d_echo("\nService check - ".$service['service_id']."\nSkipping service check because device "
|
||||
.$service['hostname']." is down due to icmp.\n");
|
||||
Log::event(
|
||||
"Service check - {$service['service_desc']} ({$service['service_id']}) -
|
||||
Skipping service check because device {$service['hostname']} is down due to icmp",
|
||||
$service['device_id'],
|
||||
@@ -97,9 +80,12 @@ foreach (dbFetchRows($sql) as $service) {
|
||||
4,
|
||||
$service['service_id']
|
||||
);
|
||||
} else {
|
||||
d_echo("\nService check - ".$service['service_id']."\nSkipping service check because device "
|
||||
.$service['service_type']." is disabled.\n");
|
||||
}
|
||||
}
|
||||
} //end service foreach
|
||||
}
|
||||
|
||||
$poller_end = microtime(true);
|
||||
$poller_run = ($poller_end - $poller_start);
|
||||
|
||||
Reference in New Issue
Block a user