diff --git a/includes/discovery/sensors/frequencies/linux.inc.php b/includes/discovery/sensors/frequencies/linux.inc.php index eca6072de6e3..436b12406a42 100644 --- a/includes/discovery/sensors/frequencies/linux.inc.php +++ b/includes/discovery/sensors/frequencies/linux.inc.php @@ -19,6 +19,8 @@ break; } $value = snmp_get($device, $oid.$freq, '-Oqve'); - discover_sensor($valid['sensor'], 'frequency', $device, $oid.$freq, $freq, $sensor_type, $descr, 1, 1, null, null, null, null, $value); + if (is_numeric($value)) { + discover_sensor($valid['sensor'], 'frequency', $device, $oid.$freq, $freq, $sensor_type, $descr, 1, 1, null, null, null, null, $value); + } } } diff --git a/includes/discovery/sensors/states/linux.inc.php b/includes/discovery/sensors/states/linux.inc.php index 69e975fc7a03..9b3dee56eca8 100644 --- a/includes/discovery/sensors/states/linux.inc.php +++ b/includes/discovery/sensors/states/linux.inc.php @@ -31,7 +31,7 @@ } $value = snmp_get($device, $oid.$codec, '-Oqv'); - if (!empty($value)) { + if (stripos($value, 'abled') !== false) { $state_index_id = create_state_index($state); if ($state_index_id) { $states = array( @@ -50,8 +50,8 @@ ); dbInsert($insert, 'state_translations'); } + discover_sensor($valid['sensor'], 'state', $device, $oid.$codec, $codec, $state, $descr, '1', '1', null, null, null, null, $value, 'snmp', $codec); + create_sensor_to_state_index($device, $state, $codec); } - discover_sensor($valid['sensor'], 'state', $device, $oid.$codec, $codec, $state, $descr, '1', '1', null, null, null, null, $value, 'snmp', $codec); - create_sensor_to_state_index($device, $state, $codec); } } diff --git a/includes/discovery/sensors/temperatures/linux.inc.php b/includes/discovery/sensors/temperatures/linux.inc.php index 771eccff2fea..3da03dcaa72b 100644 --- a/includes/discovery/sensors/temperatures/linux.inc.php +++ b/includes/discovery/sensors/temperatures/linux.inc.php @@ -11,7 +11,7 @@ $sensor_oid = ".1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.1"; $descr = "CPU Temp"; $value = snmp_get($device, $sensor_oid, '-Oqve'); - if ($value > 0) { + if (is_numeric($value)) { discover_sensor($valid['sensor'], 'temperature', $device, $sensor_oid, 1, $sensor_type, $descr, 1, 1, null, null, null, null, $value); } } diff --git a/includes/discovery/sensors/voltages/linux.inc.php b/includes/discovery/sensors/voltages/linux.inc.php index 2164015da8b3..726b933486f0 100644 --- a/includes/discovery/sensors/voltages/linux.inc.php +++ b/includes/discovery/sensors/voltages/linux.inc.php @@ -23,7 +23,9 @@ break; } $value = snmp_get($device, $oid.$volt, '-Oqv'); - discover_sensor($valid['sensor'], 'voltage', $device, $oid.$volt, $volt, $sensor_type, $descr, '1', '1', null, null, null, null, $value); + if (is_numeric($value)) { + discover_sensor($valid['sensor'], 'voltage', $device, $oid.$volt, $volt, $sensor_type, $descr, '1', '1', null, null, null, null, $value); + } } /* * other linux os