Add fanspeed for EdgeSwitch (#9013)

* Add fanspeed for EdgeSwitch

* Added test files

* Move existing EdgeSwitch discovery to yaml

* Updated json test data

* remove bgp test data
This commit is contained in:
dupondje 2018-08-29 15:10:16 +02:00 committed by Tony Murray
parent 372b28b888
commit 340ee6cccc
5 changed files with 315 additions and 76 deletions

View File

@ -0,0 +1,66 @@
mib: EdgeSwitch-BOXSERVICES-PRIVATE-MIB
modules:
sensors:
state:
data:
-
oid: boxServicesTempUnitEntry
value: boxServicesTempUnitState
num_oid: .1.3.6.1.4.1.4413.1.1.43.1.15.1.2.
descr: 'Chassis state'
index: 'boxServicesTempUnitState.{{ $index }}'
states:
- { value: 0, descr: low, graph: 1, generic: 1 }
- { value: 1, descr: normal, graph: 1, generic: 0 }
- { value: 2, descr: warning, graph: 1, generic: 1 }
- { value: 3, descr: critical, graph: 1, generic: 2 }
- { value: 4, descr: shutdown, graph: 1, generic: 2 }
- { value: 5, descr: notpresent, graph: 1, generic: 2 }
- { value: 6, descr: notoperational, graph: 1, generic: 3 }
-
oid: boxServicesTempSensorsEntry
value: boxServicesTempSensorState
num_oid: .1.3.6.1.4.1.4413.1.1.43.1.8.1.4.1.
descr: 'Temp Sensor {{ $index }}'
index: 'boxServicesTempSensorState.{{ $index }}'
states:
- { value: 0, descr: low, graph: 1, generic: 1 }
- { value: 1, descr: normal, graph: 1, generic: 0 }
- { value: 2, descr: warning, graph: 1, generic: 1 }
- { value: 3, descr: critical, graph: 1, generic: 2 }
- { value: 4, descr: shutdown, graph: 1, generic: 2 }
- { value: 5, descr: notpresent, graph: 1, generic: 2 }
- { value: 6, descr: notoperational, graph: 1, generic: 3 }
-
oid: boxServicesFansEntry
value: boxServicesFanItemState
num_oid: .1.3.6.1.4.1.4413.1.1.43.1.6.1.3.1.
descr: 'Fan {{ $index }}'
index: 'boxServicesFanItemState.{{ $index }}'
states:
- { value: 1, descr: notpresent, graph: 1, generic: 1 }
- { value: 2, descr: operational, graph: 1, generic: 2 }
- { value: 3, descr: failed, graph: 1, generic: 3 }
- { value: 4, descr: powering, graph: 1, generic: 4 }
- { value: 5, descr: nopower, graph: 1, generic: 5 }
- { value: 6, descr: notpowering, graph: 1, generic: 6 }
- { value: 7, descr: incompatible, graph: 1, generic: 7 }
fanspeed:
data:
-
oid: boxServicesFansEntry
value: boxServicesFanSpeed
num_oid: .1.3.6.1.4.1.4413.1.1.43.1.6.1.4.1.
index: 'boxServicesFanSpeed.{{ $index }}'
descr: 'Fan {{ $index }}'
temperature:
data:
-
oid: boxServicesTempSensorIndex
value: boxServicesTempSensorTemperature
num_oid: .1.3.6.1.4.1.4413.1.1.43.1.8.1.5.1.
index: 'boxServicesTempSensorTemperature.{{ $index }}'
descr: 'Temperature {{ $index }}'

View File

@ -1,42 +0,0 @@
<?php
/*
* LibreNMS Ubiquiti EdgeSwitch States information module
*
* Copyright (c) 2016 Cercel Valentin <crc@nuamchefazi.ro>
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
d_echo('UBNT EdgeSwitch Chassis state');
//EdgeSwitch-BOXSERVICES-PRIVATE-MIB::boxServicesTempUnitState
$chassis_state_oid = '.1.3.6.1.4.1.4413.1.1.43.1.15.1.2.1';
$state_name = 'edgeswitch_state';
$descr = 'Chassis state';
$state = snmp_get($device, $chassis_state_oid, '-Oqv');
if (!empty($state)) {
$state_index_id = create_state_index($state_name);
if ($state_index_id !== null) {
$states = array(
array($state_index_id, 'other', 0, 0, 3),
array($state_index_id, 'ok', 1, 1, 0),
array($state_index_id, 'degraded', 1, 2, 1),
array($state_index_id, 'failed', 1, 3, 2),
);
foreach ($states as $value) {
$insert = array(
'state_index_id' => $value[0],
'state_descr' => $value[1],
'state_draw_graph' => $value[2],
'state_value' => $value[3],
'state_generic_value' => $value[4]
);
dbInsert($insert, 'state_translations');
}
}
discover_sensor($valid['sensor'], 'state', $device, $chassis_state_oid, 1, $state_name, $descr, '1', '1', null, null, null, null, $state, 'snmp', 1);
create_sensor_to_state_index($device, $state_name, 1);
}

View File

@ -1,28 +0,0 @@
<?php
/*
* LibreNMS Ubiquiti EdgeSwitch Temperature information module
*
* Copyright (c) 2016 Cercel Valentin <crc@nuamchefazi.ro>
* This program is free software: you can redistribute it and/or modify it
* under the terms of the GNU General Public License as published by the
* Free Software Foundation, either version 3 of the License, or (at your
* option) any later version. Please see LICENSE.txt at the top level of
* the source code distribution for details.
*/
d_echo('UBNT EdgeSwitch Temperatures');
$sensor_type = 'edgeswitch_temp';
//EdgeSwitch-BOXSERVICES-PRIVATE-MIB::boxServicesTempSensorIndex
$sensors_id_oid = '.1.3.6.1.4.1.4413.1.1.43.1.8.1.2';
$sensors_id = snmp_walk($device, $sensors_id_oid, '-Ovq');
foreach (explode("\n", $sensors_id) as $sensor) {
$descr = 'Temperature '.$sensor.':';
//EdgeSwitch-BOXSERVICES-PRIVATE-MIB::boxServicesTempSensorTemperature
$sensor_id_oid = '.1.3.6.1.4.1.4413.1.1.43.1.8.1.5.1.'.$sensor;
$current_value = trim(snmp_get($device, $sensor_id_oid, '-Oqv'));
if ($current_value > 0) {
discover_sensor($valid['sensor'], 'temperature', $device, $sensor_id_oid, $sensor, $sensor_type, $descr, 1, 1, null, null, null, null, $current_value);
}
}

View File

@ -1,20 +1,139 @@
{
"os": {
"discovery": {
"devices": [
{
"sysName": "<private>",
"sysObjectID": ".1.3.6.1.4.1.4413",
"sysDescr": "EdgeSwitch 24-Port 250W, 1.0.1.4720839, Linux 3.6.5-f4a26ed5",
"sysContact": null,
"version": null,
"hardware": null,
"features": null,
"location": null,
"os": "edgeswitch",
"type": "network",
"serial": null,
"icon": "ubiquiti.svg"
}
]
},
"poller": {
"devices": [
{
"sysName": "<private>",
"sysObjectID": ".1.3.6.1.4.1.4413",
"sysDescr": "EdgeSwitch 24-Port 250W, 1.0.1.4720839, Linux 3.6.5-f4a26ed5",
"sysContact": "<private>",
"version": "1.0.1.4720839",
"hardware": "EdgeSwitch 24-Port 250W",
"features": null,
"location": "<private>",
"os": "edgeswitch",
"type": "network",
"serial": null,
"icon": "ubiquiti.svg"
}
]
}
},
"processors": {
"discovery": {
"processors": [
{
"entPhysicalIndex": "0",
"hrDeviceIndex": "0",
"entPhysicalIndex": 0,
"hrDeviceIndex": 0,
"processor_oid": ".1.3.6.1.4.1.4413.1.1.1.1.4.9.0",
"processor_index": "0",
"processor_type": "edgeswitch",
"processor_usage": "96",
"processor_usage": 96,
"processor_descr": "Processor",
"processor_precision": "1",
"processor_perc_warn": "75"
"processor_precision": 1,
"processor_perc_warn": 75
}
]
},
"poller": "matches discovery"
},
"sensors": {
"discovery": {
"sensors": [
{
"sensor_deleted": 0,
"sensor_class": "state",
"poller_type": "snmp",
"sensor_oid": ".1.3.6.1.4.1.4413.1.1.43.1.15.1.2.1",
"sensor_index": "boxServicesTempUnitState.1",
"sensor_type": "boxServicesTempUnitEntry",
"sensor_descr": "Chassis state",
"sensor_divisor": 1,
"sensor_multiplier": 1,
"sensor_current": 1,
"sensor_limit": null,
"sensor_limit_warn": null,
"sensor_limit_low": null,
"sensor_limit_low_warn": null,
"sensor_alert": 1,
"sensor_custom": "No",
"entPhysicalIndex": null,
"entPhysicalIndex_measured": null,
"sensor_prev": null,
"user_func": null,
"state_name": "boxServicesTempUnitEntry"
}
],
"state_indexes": [
{
"state_name": "boxServicesTempUnitEntry",
"state_descr": "low",
"state_draw_graph": 1,
"state_value": 0,
"state_generic_value": 1
},
{
"state_name": "boxServicesTempUnitEntry",
"state_descr": "normal",
"state_draw_graph": 1,
"state_value": 1,
"state_generic_value": 0
},
{
"state_name": "boxServicesTempUnitEntry",
"state_descr": "warning",
"state_draw_graph": 1,
"state_value": 2,
"state_generic_value": 1
},
{
"state_name": "boxServicesTempUnitEntry",
"state_descr": "critical",
"state_draw_graph": 1,
"state_value": 3,
"state_generic_value": 2
},
{
"state_name": "boxServicesTempUnitEntry",
"state_descr": "shutdown",
"state_draw_graph": 1,
"state_value": 4,
"state_generic_value": 2
},
{
"state_name": "boxServicesTempUnitEntry",
"state_descr": "notpresent",
"state_draw_graph": 1,
"state_value": 5,
"state_generic_value": 2
},
{
"state_name": "boxServicesTempUnitEntry",
"state_descr": "notoperational",
"state_draw_graph": 1,
"state_value": 6,
"state_generic_value": 3
}
]
},
"poller": "matches discovery"
}
}
}

View File

@ -1,3 +1,127 @@
1.3.6.1.2.1.1.1.0|4|EdgeSwitch 24-Port 250W, 1.0.1.4720839, Linux 3.6.5-f4a26ed5
1.3.6.1.2.1.1.2.0|6|1.3.6.1.4.1.4413
1.3.6.1.2.1.1.3.0|67|108147200
1.3.6.1.2.1.1.4.0|4|<private>
1.3.6.1.2.1.1.5.0|4|<private>
1.3.6.1.2.1.1.6.0|4|<private>
1.3.6.1.2.1.47.1.1.1.1.2.1|4|UBNT EdgeSwitch 48-Port
1.3.6.1.2.1.47.1.1.1.1.2.2|4|UBNT ES48 - 48 GE + 2 XE + 2 GE Ethernet Line Card
1.3.6.1.2.1.47.1.1.1.1.2.3|4|Slot: 0 Port: 1 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.4|4|Slot: 0 Port: 2 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.5|4|Slot: 0 Port: 3 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.6|4|Slot: 0 Port: 4 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.7|4|Slot: 0 Port: 5 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.8|4|Slot: 0 Port: 6 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.9|4|Slot: 0 Port: 7 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.10|4|Slot: 0 Port: 8 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.11|4|Slot: 0 Port: 9 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.12|4|Slot: 0 Port: 10 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.13|4|Slot: 0 Port: 11 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.14|4|Slot: 0 Port: 12 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.15|4|Slot: 0 Port: 13 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.16|4|Slot: 0 Port: 14 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.17|4|Slot: 0 Port: 15 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.18|4|Slot: 0 Port: 16 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.19|4|Slot: 0 Port: 17 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.20|4|Slot: 0 Port: 18 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.21|4|Slot: 0 Port: 19 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.22|4|Slot: 0 Port: 20 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.23|4|Slot: 0 Port: 21 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.24|4|Slot: 0 Port: 22 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.25|4|Slot: 0 Port: 23 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.26|4|Slot: 0 Port: 24 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.27|4|Slot: 0 Port: 25 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.28|4|Slot: 0 Port: 26 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.29|4|Slot: 0 Port: 27 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.30|4|Slot: 0 Port: 28 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.31|4|Slot: 0 Port: 29 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.32|4|Slot: 0 Port: 30 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.33|4|Slot: 0 Port: 31 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.34|4|Slot: 0 Port: 32 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.35|4|Slot: 0 Port: 33 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.36|4|Slot: 0 Port: 34 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.37|4|Slot: 0 Port: 35 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.38|4|Slot: 0 Port: 36 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.39|4|Slot: 0 Port: 37 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.40|4|Slot: 0 Port: 38 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.41|4|Slot: 0 Port: 39 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.42|4|Slot: 0 Port: 40 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.43|4|Slot: 0 Port: 41 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.44|4|Slot: 0 Port: 42 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.45|4|Slot: 0 Port: 43 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.46|4|Slot: 0 Port: 44 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.47|4|Slot: 0 Port: 45 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.48|4|Slot: 0 Port: 46 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.49|4|Slot: 0 Port: 47 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.50|4|Slot: 0 Port: 48 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.51|4|Slot: 0 Port: 49 10G - Level
1.3.6.1.2.1.47.1.1.1.1.2.52|4|Slot: 0 Port: 50 10G - Level
1.3.6.1.2.1.47.1.1.1.1.2.53|4|Slot: 0 Port: 51 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.2.54|4|Slot: 0 Port: 52 Gigabit - Level
1.3.6.1.2.1.47.1.1.1.1.7.1|4|Unit 1
1.3.6.1.2.1.47.1.1.1.1.7.2|4|Slot 1.0
1.3.6.1.2.1.47.1.1.1.1.7.3|4|0/1
1.3.6.1.2.1.47.1.1.1.1.7.4|4|0/2
1.3.6.1.2.1.47.1.1.1.1.7.5|4|0/3
1.3.6.1.2.1.47.1.1.1.1.7.6|4|0/4
1.3.6.1.2.1.47.1.1.1.1.7.7|4|0/5
1.3.6.1.2.1.47.1.1.1.1.7.8|4|0/6
1.3.6.1.2.1.47.1.1.1.1.7.9|4|0/7
1.3.6.1.2.1.47.1.1.1.1.7.10|4|0/8
1.3.6.1.2.1.47.1.1.1.1.7.11|4|0/9
1.3.6.1.2.1.47.1.1.1.1.7.12|4|0/10
1.3.6.1.2.1.47.1.1.1.1.7.13|4|0/11
1.3.6.1.2.1.47.1.1.1.1.7.14|4|0/12
1.3.6.1.2.1.47.1.1.1.1.7.15|4|0/13
1.3.6.1.2.1.47.1.1.1.1.7.16|4|0/14
1.3.6.1.2.1.47.1.1.1.1.7.17|4|0/15
1.3.6.1.2.1.47.1.1.1.1.7.18|4|0/16
1.3.6.1.2.1.47.1.1.1.1.7.19|4|0/17
1.3.6.1.2.1.47.1.1.1.1.7.20|4|0/18
1.3.6.1.2.1.47.1.1.1.1.7.21|4|0/19
1.3.6.1.2.1.47.1.1.1.1.7.22|4|0/20
1.3.6.1.2.1.47.1.1.1.1.7.23|4|0/21
1.3.6.1.2.1.47.1.1.1.1.7.24|4|0/22
1.3.6.1.2.1.47.1.1.1.1.7.25|4|0/23
1.3.6.1.2.1.47.1.1.1.1.7.26|4|0/24
1.3.6.1.2.1.47.1.1.1.1.7.27|4|0/25
1.3.6.1.2.1.47.1.1.1.1.7.28|4|0/26
1.3.6.1.2.1.47.1.1.1.1.7.29|4|0/27
1.3.6.1.2.1.47.1.1.1.1.7.30|4|0/28
1.3.6.1.2.1.47.1.1.1.1.7.31|4|0/29
1.3.6.1.2.1.47.1.1.1.1.7.32|4|0/30
1.3.6.1.2.1.47.1.1.1.1.7.33|4|0/31
1.3.6.1.2.1.47.1.1.1.1.7.34|4|0/32
1.3.6.1.2.1.47.1.1.1.1.7.35|4|0/33
1.3.6.1.2.1.47.1.1.1.1.7.36|4|0/34
1.3.6.1.2.1.47.1.1.1.1.7.37|4|0/35
1.3.6.1.2.1.47.1.1.1.1.7.38|4|0/36
1.3.6.1.2.1.47.1.1.1.1.7.39|4|0/37
1.3.6.1.2.1.47.1.1.1.1.7.40|4|0/38
1.3.6.1.2.1.47.1.1.1.1.7.41|4|0/39
1.3.6.1.2.1.47.1.1.1.1.7.42|4|0/40
1.3.6.1.2.1.47.1.1.1.1.7.43|4|0/41
1.3.6.1.2.1.47.1.1.1.1.7.44|4|0/42
1.3.6.1.2.1.47.1.1.1.1.7.45|4|0/43
1.3.6.1.2.1.47.1.1.1.1.7.46|4|0/44
1.3.6.1.2.1.47.1.1.1.1.7.47|4|0/45
1.3.6.1.2.1.47.1.1.1.1.7.48|4|0/46
1.3.6.1.2.1.47.1.1.1.1.7.49|4|0/47
1.3.6.1.2.1.47.1.1.1.1.7.50|4|0/48
1.3.6.1.2.1.47.1.1.1.1.7.51|4|0/49
1.3.6.1.2.1.47.1.1.1.1.7.52|4|0/50
1.3.6.1.2.1.47.1.1.1.1.7.53|4|0/51
1.3.6.1.2.1.47.1.1.1.1.7.54|4|0/52
1.3.6.1.4.1.4413.1.1.1.1.4.9.0|4| 5 Secs ( 96.4918%) 60 Secs ( 54.2271%) 300 Secs ( 38.2591%)
1.3.6.1.4.1.4413.1.1.43.1.6.1.1.1.0|2|0
1.3.6.1.4.1.4413.1.1.43.1.6.1.1.1.1|2|1
1.3.6.1.4.1.4413.1.1.43.1.8.1.2.1.0|66|0
1.3.6.1.4.1.4413.1.1.43.1.8.1.2.1.1|66|1
1.3.6.1.4.1.4413.1.1.43.1.8.1.2.1.2|66|2
1.3.6.1.4.1.4413.1.1.43.1.8.1.2.1.3|66|3
1.3.6.1.4.1.4413.1.1.43.1.8.1.5.1.0|2|70
1.3.6.1.4.1.4413.1.1.43.1.8.1.5.1.1|2|59
1.3.6.1.4.1.4413.1.1.43.1.8.1.5.1.2|2|66
1.3.6.1.4.1.4413.1.1.43.1.8.1.5.1.3|2|66
1.3.6.1.4.1.4413.1.1.43.1.15.1.2.1|2|1
1.3.6.1.6.3.10.2.1.3.0|2|1081429