From 308145d2da13c4f9d2ff90e3c8d59b86ca26f49c Mon Sep 17 00:00:00 2001 From: CirnoT <1447794+CirnoT@users.noreply.github.com> Date: Thu, 2 May 2019 08:10:20 +0200 Subject: [PATCH] Fixed Raspberry Pi sensors discovery (#10176) * Fixed Raspberry Pi frequency, voltage and state sensors discovery * Added tests --- .../discovery/sensors/pre-cache/linux.inc.php | 2 +- tests/data/linux_raspberrypi.json | 274 ++++++++++++++++++ tests/snmpsim/linux_raspberrypi.snmprec | 34 +++ 3 files changed, 309 insertions(+), 1 deletion(-) create mode 100644 tests/data/linux_raspberrypi.json create mode 100644 tests/snmpsim/linux_raspberrypi.snmprec diff --git a/includes/discovery/sensors/pre-cache/linux.inc.php b/includes/discovery/sensors/pre-cache/linux.inc.php index fbc55798c4..3b60a90777 100644 --- a/includes/discovery/sensors/pre-cache/linux.inc.php +++ b/includes/discovery/sensors/pre-cache/linux.inc.php @@ -24,4 +24,4 @@ */ echo 'RaspberryPi '; -$pre_cache['raspberry_pi_sensors'] = snmpwalk_cache_oid($device, '.1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121', []); +$pre_cache['raspberry_pi_sensors'] = snmpwalk_cache_oid($device, '.1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121', [], "NET-SNMP-EXTEND-MIB"); diff --git a/tests/data/linux_raspberrypi.json b/tests/data/linux_raspberrypi.json new file mode 100644 index 0000000000..91f7fb9d73 --- /dev/null +++ b/tests/data/linux_raspberrypi.json @@ -0,0 +1,274 @@ +{ + "sensors": { + "discovery": { + "sensors": [ + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "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.10", + "sensor_index": "10", + "sensor_type": "raspberry_codec", + "sensor_descr": "WVC1 codec", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 0, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": "10", + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "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.11", + "sensor_index": "11", + "sensor_type": "raspberry_codec", + "sensor_descr": "MPG4 codec", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 0, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": "11", + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "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.12", + "sensor_index": "12", + "sensor_type": "raspberry_codec", + "sensor_descr": "MJPG codec", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 0, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": "12", + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "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.13", + "sensor_index": "13", + "sensor_type": "raspberry_codec", + "sensor_descr": "WMV9 codec", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 0, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": "13", + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "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.8", + "sensor_index": "8", + "sensor_type": "raspberry_codec", + "sensor_descr": "H264 codec", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 0, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": "8", + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "state", + "poller_type": "snmp", + "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.9", + "sensor_index": "9", + "sensor_type": "raspberry_codec", + "sensor_descr": "MPG2 codec", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 0, + "sensor_limit": null, + "sensor_limit_warn": null, + "sensor_limit_low": null, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": "9", + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "temperature", + "poller_type": "snmp", + "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", + "sensor_index": "1", + "sensor_type": "raspberry_temp", + "sensor_descr": "CPU Temp", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 57.3, + "sensor_limit": 77.3, + "sensor_limit_warn": null, + "sensor_limit_low": 47.3, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "voltage", + "poller_type": "snmp", + "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.2", + "sensor_index": "2", + "sensor_type": "raspberry_volts", + "sensor_descr": "Core", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 1.2, + "sensor_limit": 1.38, + "sensor_limit_warn": null, + "sensor_limit_low": 1.02, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "voltage", + "poller_type": "snmp", + "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.3", + "sensor_index": "3", + "sensor_type": "raspberry_volts", + "sensor_descr": "SDRAMc", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 1.2, + "sensor_limit": 1.38, + "sensor_limit_warn": null, + "sensor_limit_low": 1.02, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "voltage", + "poller_type": "snmp", + "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.4", + "sensor_index": "4", + "sensor_type": "raspberry_volts", + "sensor_descr": "SDRAMi", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 1.2, + "sensor_limit": 1.38, + "sensor_limit_warn": null, + "sensor_limit_low": 1.02, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + }, + { + "sensor_deleted": 0, + "sensor_class": "voltage", + "poller_type": "snmp", + "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.5", + "sensor_index": "5", + "sensor_type": "raspberry_volts", + "sensor_descr": "SDRAMp", + "group": null, + "sensor_divisor": 1, + "sensor_multiplier": 1, + "sensor_current": 1.225, + "sensor_limit": 1.40875, + "sensor_limit_warn": null, + "sensor_limit_low": 1.04125, + "sensor_limit_low_warn": null, + "sensor_alert": 1, + "sensor_custom": "No", + "entPhysicalIndex": null, + "entPhysicalIndex_measured": null, + "sensor_prev": null, + "user_func": null, + "state_name": null + } + ], + "state_indexes": [] + }, + "poller": "matches discovery" + } +} diff --git a/tests/snmpsim/linux_raspberrypi.snmprec b/tests/snmpsim/linux_raspberrypi.snmprec new file mode 100644 index 0000000000..a52e0f7177 --- /dev/null +++ b/tests/snmpsim/linux_raspberrypi.snmprec @@ -0,0 +1,34 @@ +1.3.6.1.2.1.1.1.0|4|Linux rpi 4.14.98+ #1200 Tue Feb 12 20:11:02 GMT 2019 armv6l +1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.8072.3.2.10 +1.3.6.1.2.1.1.3.0|67|1103027 +1.3.6.1.2.1.1.4.0|4| +1.3.6.1.2.1.1.5.0|4| +1.3.6.1.2.1.1.6.0|4| +1.3.6.1.2.1.25.1.1.0|67|1106322 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.1|4|57.3 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.2|4|1.2000 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.3|4|1.2000 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.4|4|1.2000 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.5|4|1.2250 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.6|4|700000000 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.7|4|250000000 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.8|4|enabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.9|4|disabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.10|4|disabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.11|4|enabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.12|4|enabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.13|4|disabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.14|4|H264=2 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.15|4|MPG2=disabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.16|4|WVC1=disabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.17|4|MPG4=2 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.18|4|MJPG=2 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.19|4|WMV9=disabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.20|4|WMV9=disabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.21|4|H264=enabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.22|4|MPG2=1 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.23|4|WVC1=1 +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.24|4|MPG4=enabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.25|4|MJPG=enabled +1.3.6.1.4.1.8072.1.3.2.4.1.2.9.114.97.115.112.98.101.114.114.121.26|4|WMV9=1 +1.3.6.1.6.3.10.2.1.3.0|2|11029