add Wrong Type work around to snmp_get function (#15509)

* add Wrong Type work around to snmp_get function

* style-ci
This commit is contained in:
Peter Childs 2023-10-27 13:02:27 +10:30 committed by GitHub
parent db17036f5d
commit 520e53c4cd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 157 additions and 0 deletions

View File

@ -293,6 +293,10 @@ function snmp_get($device, $oid, $options = null, $mib = null, $mibdir = null)
$measure->manager()->recordSnmp($measure->end());
if (preg_match('/(No Such Instance|No Such Object|No more variables left|Authentication failure)/i', $data)) {
return false;
} elseif (preg_match('/Wrong Type(.*)should be/', $data)) {
$data = preg_replace('/Wrong Type \(should be .*\): /', '', $data);
return $data;
} elseif ($data || $data === '0') {
return $data;
} else {

View File

@ -23,6 +23,31 @@
"sensors": {
"discovery": {
"sensors": [
{
"sensor_deleted": 0,
"sensor_class": "charge",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.2.1.33.1.2.4.0",
"sensor_index": "500",
"sensor_type": "rfc1628",
"sensor_descr": "Battery charge remaining",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 100,
"sensor_limit": 101,
"sensor_limit_warn": null,
"sensor_limit_low": 15,
"sensor_limit_low_warn": 50,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"rrd_type": "GAUGE",
"state_name": null
},
{
"sensor_deleted": 0,
"sensor_class": "current",
@ -98,6 +123,56 @@
"rrd_type": "GAUGE",
"state_name": null
},
{
"sensor_deleted": 0,
"sensor_class": "frequency",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.2.1.33.1.4.2.0",
"sensor_index": "4.2.0",
"sensor_type": "rfc1628",
"sensor_descr": "Output",
"group": null,
"sensor_divisor": 100,
"sensor_multiplier": 1,
"sensor_current": 5,
"sensor_limit": 5.25,
"sensor_limit_warn": null,
"sensor_limit_low": 4.75,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"rrd_type": "GAUGE",
"state_name": null
},
{
"sensor_deleted": 0,
"sensor_class": "frequency",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.2.1.33.1.5.1.0",
"sensor_index": "5.1.0",
"sensor_type": "rfc1628",
"sensor_descr": "Bypass",
"group": null,
"sensor_divisor": 100,
"sensor_multiplier": 1,
"sensor_current": 5,
"sensor_limit": 5.25,
"sensor_limit_warn": null,
"sensor_limit_low": 4.75,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"rrd_type": "GAUGE",
"state_name": null
},
{
"sensor_deleted": 0,
"sensor_class": "load",
@ -198,6 +273,31 @@
"rrd_type": "GAUGE",
"state_name": null
},
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.2.1.33.1.2.1.0",
"sensor_index": "0",
"sensor_type": "upsBatteryStatusState",
"sensor_descr": "Battery Status",
"group": null,
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 2,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": "0",
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"rrd_type": "GAUGE",
"state_name": "upsBatteryStatusState"
},
{
"sensor_deleted": 0,
"sensor_class": "state",
@ -273,6 +373,31 @@
"rrd_type": "GAUGE",
"state_name": null
},
{
"sensor_deleted": 0,
"sensor_class": "voltage",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.2.1.33.1.2.5.0",
"sensor_index": "1.2.5.0",
"sensor_type": "rfc1628",
"sensor_descr": "Battery",
"group": null,
"sensor_divisor": 10,
"sensor_multiplier": 1,
"sensor_current": 270.7,
"sensor_limit": 311.305,
"sensor_limit_warn": null,
"sensor_limit_low": 230.095,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"rrd_type": "GAUGE",
"state_name": null
},
{
"sensor_deleted": 0,
"sensor_class": "voltage",
@ -325,6 +450,34 @@
}
],
"state_indexes": [
{
"state_name": "upsBatteryStatusState",
"state_descr": "Unknown",
"state_draw_graph": 0,
"state_value": 1,
"state_generic_value": 3
},
{
"state_name": "upsBatteryStatusState",
"state_descr": "Normal",
"state_draw_graph": 0,
"state_value": 2,
"state_generic_value": 0
},
{
"state_name": "upsBatteryStatusState",
"state_descr": "Low",
"state_draw_graph": 0,
"state_value": 3,
"state_generic_value": 2
},
{
"state_name": "upsBatteryStatusState",
"state_descr": "Depleted",
"state_draw_graph": 0,
"state_value": 4,
"state_generic_value": 2
},
{
"state_name": "upsOutputSourceState",
"state_descr": "Other",