From 427c4f07c65a5a548e80654329f2b3d9662cb130 Mon Sep 17 00:00:00 2001 From: laf Date: Mon, 25 Jan 2016 22:37:38 +0000 Subject: [PATCH] Added ability to ignore device sensors from entity mib --- includes/discovery/functions.inc.php | 28 +++++++++++++++++++ .../discovery/sensors/entity-sensor.inc.php | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) diff --git a/includes/discovery/functions.inc.php b/includes/discovery/functions.inc.php index b03ac9048b..755f5b5e7c 100644 --- a/includes/discovery/functions.inc.php +++ b/includes/discovery/functions.inc.php @@ -710,3 +710,31 @@ function discover_process_ipv6(&$valid, $ifIndex, $ipv6_address, $ipv6_prefixlen }//end if }//end discover_process_ipv6() + +/* + * Check entity sensors to be excluded + * + * @param string value to check + * @param array device + * + * @return bool true if sensor is valid + * false if sensor is invalid +*/ +function check_entity_sensor($string, $device) { + global $config; + $valid = true; + $string = strtolower($string); + if (is_array($config['bad_entity_sensor_regex'])) { + $fringe = $config['bad_entity_sensor_regex']; + if (is_array($config['os'][$device['os']]['bad_entity_sensor_regex'])) { + $fringe = array_merge($config['bad_entity_sensor_regex'],$config['os'][$device['os']]['bad_entity_sensor_regex']); + } + foreach ($fringe as $bad) { + if (preg_match($bad . "i", $string)) { + $valid = false; + d_echo("Ignored entity sensor: $bad : $string"); + } + } + } + return $valid; +} diff --git a/includes/discovery/sensors/entity-sensor.inc.php b/includes/discovery/sensors/entity-sensor.inc.php index b81c997849..edf621b33c 100644 --- a/includes/discovery/sensors/entity-sensor.inc.php +++ b/includes/discovery/sensors/entity-sensor.inc.php @@ -50,7 +50,7 @@ if (is_array($oids)) { $descr = rewrite_entity_descr($descr); } - $thisisnotbullshit = true; + $thisisnotbullshit = check_entity_sensor($descr, $device); $type = $entitysensor[$entry['entPhySensorType']];