mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Added support for FS NMU (#11965)
* Added support for FS NMU * travis fix * another travis fix * Migrated OS polling to new format
This commit is contained in:
39
LibreNMS/OS/FsNmu.php
Normal file
39
LibreNMS/OS/FsNmu.php
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* FsNmu.php
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* @package LibreNMS
|
||||||
|
* @link http://librenms.org
|
||||||
|
* @copyright 2020 Hans Erasmus
|
||||||
|
* @author Jozef Rebjak <jozefrebjak@icloud.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
namespace LibreNMS\OS;
|
||||||
|
|
||||||
|
use LibreNMS\Interfaces\Discovery\OSDiscovery;
|
||||||
|
use LibreNMS\OS;
|
||||||
|
|
||||||
|
class FsNmu extends OS implements OSDiscovery
|
||||||
|
{
|
||||||
|
public function discoverOS(): void
|
||||||
|
{
|
||||||
|
$device = $this->getDeviceModel();
|
||||||
|
$info = snmp_get_multi($this->getDevice(), ['vSerialNumber.0', 'vDeviceType.0', 'vSoftwareVerion.0'], '-OQUs', 'OAP-C1-OEO');
|
||||||
|
$device->serial = $info[0]['vSerialNumber'] ?? null;
|
||||||
|
$device->hardware = $info[0]['vDeviceType'] ?? null;
|
||||||
|
$device->version = $info[0]['vSoftwareVerion'] ?? null;
|
||||||
|
}
|
||||||
|
}
|
11
includes/definitions/fs-nmu.yaml
Normal file
11
includes/definitions/fs-nmu.yaml
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
os: fs-nmu
|
||||||
|
text: 'Network Management Unit'
|
||||||
|
type: network
|
||||||
|
icon: fs
|
||||||
|
group: fs
|
||||||
|
mib_dir:
|
||||||
|
- fs
|
||||||
|
discovery:
|
||||||
|
-
|
||||||
|
sysObjectID:
|
||||||
|
- .1.3.6.1.2.1.1.2
|
463
includes/discovery/sensors/dbm/fs-nmu.inc.php
Normal file
463
includes/discovery/sensors/dbm/fs-nmu.inc.php
Normal file
@@ -0,0 +1,463 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* fs-nmu.inc.php
|
||||||
|
*
|
||||||
|
* -Description-
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* @package LibreNMS
|
||||||
|
* @link http://librenms.org
|
||||||
|
* @copyright 2020 Jozef Rebjak
|
||||||
|
* @author Jozef Rebjak <jozefrebjak@icloud.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
echo 'FS NMU Signals';
|
||||||
|
|
||||||
|
// SLOT A
|
||||||
|
$a1_tx = snmp_get($device, "vSFPA1TxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$a1_rx = snmp_get($device, "vSFPA1RxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$a2_tx = snmp_get($device, "vSFPA2TxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$a2_rx = snmp_get($device, "vSFPA2RxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
// SLOT B
|
||||||
|
$b1_tx = snmp_get($device, "vSFPB1TxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$b1_rx = snmp_get($device, "vSFPB1RxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$b2_tx = snmp_get($device, "vSFPB2TxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$b2_rx = snmp_get($device, "vSFPB2RxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
// SLOT C
|
||||||
|
$c1_tx = snmp_get($device, "vSFPC1TxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$c1_rx = snmp_get($device, "vSFPC1RxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$c2_tx = snmp_get($device, "vSFPC2TxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$c2_rx = snmp_get($device, "vSFPC2RxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
// SLOT D
|
||||||
|
$d1_tx = snmp_get($device, "vSFPD1TxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$d1_rx = snmp_get($device, "vSFPD1RxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$d2_tx = snmp_get($device, "vSFPD2TxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
$d2_rx = snmp_get($device, "vSFPD2RxPower.0", "-Ovqe", "OAP-C1-OEO");
|
||||||
|
// SLOT A
|
||||||
|
$oid_a1_tx = '.1.3.6.1.4.1.40989.10.16.1.2.11.4.0';
|
||||||
|
$oid_a1_rx = '.1.3.6.1.4.1.40989.10.16.1.2.11.5.0';
|
||||||
|
$oid_a2_tx = '.1.3.6.1.4.1.40989.10.16.1.2.12.4.0';
|
||||||
|
$oid_a2_rx = '.1.3.6.1.4.1.40989.10.16.1.2.12.5.0';
|
||||||
|
// SLOT B
|
||||||
|
$oid_b1_tx = '.1.3.6.1.4.1.40989.10.16.1.2.13.4.0';
|
||||||
|
$oid_b1_rx = '.1.3.6.1.4.1.40989.10.16.1.2.13.5.0';
|
||||||
|
$oid_b2_tx = '.1.3.6.1.4.1.40989.10.16.1.2.14.4.0';
|
||||||
|
$oid_b2_rx = '.1.3.6.1.4.1.40989.10.16.1.2.14.5.0';
|
||||||
|
// SLOT C
|
||||||
|
$oid_c1_tx = '.1.3.6.1.4.1.40989.10.16.1.2.15.4.0';
|
||||||
|
$oid_c1_rx = '.1.3.6.1.4.1.40989.10.16.1.2.15.5.0';
|
||||||
|
$oid_c2_tx = '.1.3.6.1.4.1.40989.10.16.1.2.16.4.0';
|
||||||
|
$oid_c2_rx = '.1.3.6.1.4.1.40989.10.16.1.2.16.5.0';
|
||||||
|
// SLOT D
|
||||||
|
$oid_d1_tx = '.1.3.6.1.4.1.40989.10.16.1.2.17.4.0';
|
||||||
|
$oid_d1_rx = '.1.3.6.1.4.1.40989.10.16.1.2.17.5.0';
|
||||||
|
$oid_d2_tx = '.1.3.6.1.4.1.40989.10.16.1.2.18.4.0';
|
||||||
|
$oid_d2_rx = '.1.3.6.1.4.1.40989.10.16.1.2.18.5.0';
|
||||||
|
|
||||||
|
// Discover A1 TX Sensor
|
||||||
|
if (is_numeric($a1_tx)) {
|
||||||
|
$descr = "A1 Tx Power";
|
||||||
|
$index = 'vSFPA1TxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_a1_tx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$a1_tx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover A1 RX Sensor
|
||||||
|
if (is_numeric($a1_rx)) {
|
||||||
|
$descr = "A1 Rx Power";
|
||||||
|
$index = 'vSFPA1RxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_a1_rx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$a1_rx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover A2 TX Sensor
|
||||||
|
if (is_numeric($a2_tx)) {
|
||||||
|
$descr = "A2 Tx Power";
|
||||||
|
$index = 'vSFPA2TxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_a2_tx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$a2_tx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover A2 RX Sensor
|
||||||
|
if (is_numeric($a2_rx)) {
|
||||||
|
$descr = "A2 Rx Power";
|
||||||
|
$index = 'vSFPA2RxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_a2_rx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$a2_rx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover B1 TX Sensor
|
||||||
|
if (is_numeric($b1_tx)) {
|
||||||
|
$descr = "B1 Tx Power";
|
||||||
|
$index = 'vSFPB1TxPower.0';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_b1_tx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$b1_tx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover B1 RX Sensor
|
||||||
|
if (is_numeric($b1_rx)) {
|
||||||
|
$descr = "B1 Rx Power";
|
||||||
|
$index = 'vSFPB1RxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_b1_rx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$b1_rx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover B2 TX Sensor
|
||||||
|
if (is_numeric($b2_tx)) {
|
||||||
|
$descr = "B2 Tx Power";
|
||||||
|
$index = 'vSFPB2TxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_b2_tx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$b2_tx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover B2 RX Sensor
|
||||||
|
if (is_numeric($b2_rx)) {
|
||||||
|
$descr = "B2 Rx Power";
|
||||||
|
$index = 'vSFPB2RxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_b2_tx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$b2_tx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover C1 TX Sensor
|
||||||
|
if (is_numeric($c1_tx)) {
|
||||||
|
$descr = "C1 Tx Power";
|
||||||
|
$index = 'vSFPC1TxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_c1_tx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$c1_tx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover C1 RX Sensor
|
||||||
|
if (is_numeric($c1_rx)) {
|
||||||
|
$descr = "A1 Rx Power";
|
||||||
|
$index = 'vSFPC1RxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_c1_rx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$c1_rx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover C2 TX Sensor
|
||||||
|
if (is_numeric($c2_tx)) {
|
||||||
|
$descr = "C2 Tx Power";
|
||||||
|
$index = 'vSFPC2TxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_c2_tx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$c2_tx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover C2 RX Sensor
|
||||||
|
if (is_numeric($c2_rx)) {
|
||||||
|
$descr = "C2 Rx Power";
|
||||||
|
$index = 'vSFPC2RxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_c2_tx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$c2_tx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover D1 TX Sensor
|
||||||
|
if (is_numeric($d1_tx)) {
|
||||||
|
$descr = "D1 Tx Power";
|
||||||
|
$index = 'vSFPD1TxPower.0';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_d1_tx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$d1_tx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover D1 RX Sensor
|
||||||
|
if (is_numeric($d1_rx)) {
|
||||||
|
$descr = "B1 Rx Power";
|
||||||
|
$index = 'vSFPD1RxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_d1_rx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$d1_rx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover D2 TX Sensor
|
||||||
|
if (is_numeric($d2_tx)) {
|
||||||
|
$descr = "D2 Tx Power";
|
||||||
|
$index = 'vSFPD2TxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_d2_tx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$d2_tx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Discover D2 RX Sensor
|
||||||
|
if (is_numeric($d2_rx)) {
|
||||||
|
$descr = "D2 Rx Power";
|
||||||
|
$index = 'vSFPD2RxPower.0';
|
||||||
|
$divisor = '100';
|
||||||
|
$multiplier = '1';
|
||||||
|
discover_sensor(
|
||||||
|
$valid['sensor'],
|
||||||
|
'dbm',
|
||||||
|
$device,
|
||||||
|
$oid_d2_rx,
|
||||||
|
$index,
|
||||||
|
'fs-nmu',
|
||||||
|
$descr,
|
||||||
|
$divisor,
|
||||||
|
$multiplier,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
null,
|
||||||
|
$d2_rx,
|
||||||
|
'snmp'
|
||||||
|
);
|
||||||
|
}
|
77
includes/discovery/sensors/state/fs-nmu.inc.php
Normal file
77
includes/discovery/sensors/state/fs-nmu.inc.php
Normal file
@@ -0,0 +1,77 @@
|
|||||||
|
<?php
|
||||||
|
/**
|
||||||
|
* fs-nmu.inc.php
|
||||||
|
*
|
||||||
|
* -Description-
|
||||||
|
*
|
||||||
|
* 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.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*
|
||||||
|
* @package LibreNMS
|
||||||
|
* @link http://librenms.org
|
||||||
|
* @copyright 2020 Jozef Rebjak
|
||||||
|
* @author Jozef Rebjak <jozefrebjak@icloud.com>
|
||||||
|
*/
|
||||||
|
|
||||||
|
$power1 = snmp_get($device, "power1State.0", "-Ovqe", "OAP-NMU");
|
||||||
|
$power2 = snmp_get($device, "power2State.0", "-Ovqe", "OAP-NMU");
|
||||||
|
$fan = snmp_get($device, "fanState.0", "-Ovqe", "OAP-NMU");
|
||||||
|
$oid_power1 = '.1.3.6.1.4.1.40989.10.16.20.11.0';
|
||||||
|
$oid_power2 = '.1.3.6.1.4.1.40989.10.16.20.12.0';
|
||||||
|
$oid_fan = '.1.3.6.1.4.1.40989.10.16.20.10.0';
|
||||||
|
$index = '0';
|
||||||
|
|
||||||
|
// Power 1 State
|
||||||
|
if (is_numeric($power1)) {
|
||||||
|
$state_name = 'power1State';
|
||||||
|
$states = [
|
||||||
|
['value' => 0, 'generic' => 2, 'graph' => 0, 'descr' => 'off'],
|
||||||
|
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'on'],
|
||||||
|
];
|
||||||
|
create_state_index($state_name, $states);
|
||||||
|
|
||||||
|
$descr = 'Power 1 State';
|
||||||
|
discover_sensor($valid['sensor'], 'state', $device, $oid_power1, $index, $state_name, $descr, 1, 1, null, null, null, null, $power1, 'snmp', $index);
|
||||||
|
|
||||||
|
create_sensor_to_state_index($device, $state_name, $index);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Power 2 State
|
||||||
|
if (is_numeric($power2)) {
|
||||||
|
$state_name = 'power2State';
|
||||||
|
$states = [
|
||||||
|
['value' => 0, 'generic' => 2, 'graph' => 0, 'descr' => 'off'],
|
||||||
|
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'on'],
|
||||||
|
];
|
||||||
|
create_state_index($state_name, $states);
|
||||||
|
|
||||||
|
$descr = 'Power 2 State';
|
||||||
|
discover_sensor($valid['sensor'], 'state', $device, $oid_power2, $index, $state_name, $descr, 1, 1, null, null, null, null, $power2, 'snmp', $index);
|
||||||
|
|
||||||
|
create_sensor_to_state_index($device, $state_name, $index);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Fan State
|
||||||
|
if (is_numeric($fan)) {
|
||||||
|
$state_name = 'fanState';
|
||||||
|
$states = [
|
||||||
|
['value' => 0, 'generic' => 2, 'graph' => 0, 'descr' => 'off'],
|
||||||
|
['value' => 1, 'generic' => 0, 'graph' => 0, 'descr' => 'on'],
|
||||||
|
];
|
||||||
|
create_state_index($state_name, $states);
|
||||||
|
|
||||||
|
$descr = 'Fan State';
|
||||||
|
discover_sensor($valid['sensor'], 'state', $device, $oid_fan, $index, $state_name, $descr, 1, 1, null, null, null, null, $fan, 'snmp', $index);
|
||||||
|
|
||||||
|
create_sensor_to_state_index($device, $state_name, $index);
|
||||||
|
}
|
1550
mibs/fs/OAP-C1-OEO
Normal file
1550
mibs/fs/OAP-C1-OEO
Normal file
File diff suppressed because it is too large
Load Diff
256
mibs/fs/OAP-NMU
Normal file
256
mibs/fs/OAP-NMU
Normal file
@@ -0,0 +1,256 @@
|
|||||||
|
--
|
||||||
|
-- OAP-NMU.my
|
||||||
|
-- MIB generated by MG-SOFT Visual MIB Builder Version 4.0 Build 347
|
||||||
|
-- Thursday, November 26, 2015 at 11:39:48
|
||||||
|
--
|
||||||
|
|
||||||
|
-- MG-SOFT Corporation root SMI
|
||||||
|
--
|
||||||
|
-- Copyright (C) 1995, 1998 by MG-SOFT Corporation.
|
||||||
|
-- All rights reserved.
|
||||||
|
--
|
||||||
|
-- Comments to: <info@mg-soft.si>
|
||||||
|
-- Web URL: http://www.mg-soft.si/
|
||||||
|
--
|
||||||
|
|
||||||
|
OAP-NMU DEFINITIONS ::= BEGIN
|
||||||
|
|
||||||
|
IMPORTS
|
||||||
|
enterprises, IpAddress, OBJECT-TYPE, MODULE-IDENTITY
|
||||||
|
FROM SNMPv2-SMI;
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989
|
||||||
|
tryin MODULE-IDENTITY
|
||||||
|
LAST-UPDATED "199811240100Z" -- November 24, 1998 at 01:00 GMT
|
||||||
|
ORGANIZATION
|
||||||
|
"MG-SOFT Corporation"
|
||||||
|
CONTACT-INFO
|
||||||
|
"MG-SOFT Corporation
|
||||||
|
Strossmayerjeva 32A
|
||||||
|
2000 Maribor
|
||||||
|
Slovenia
|
||||||
|
|
||||||
|
Phone: +386 62 2295050
|
||||||
|
Fax: +386 62 2295051
|
||||||
|
Web: http://www.mg-soft.si/
|
||||||
|
E-Mail: info@mg-soft.si"
|
||||||
|
DESCRIPTION
|
||||||
|
"MG-SOFT Corporation root MIB module."
|
||||||
|
REVISION "201505081701Z" -- May 08, 2015 at 17:01 GMT
|
||||||
|
DESCRIPTION
|
||||||
|
"OAP MIB FILE"
|
||||||
|
::= { enterprises 40989 }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
--
|
||||||
|
-- Node definitions
|
||||||
|
--
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10
|
||||||
|
device OBJECT IDENTIFIER ::= { tryin 10 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16
|
||||||
|
oap OBJECT IDENTIFIER ::= { device 16 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20
|
||||||
|
nmu OBJECT IDENTIFIER ::= { oap 20 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.1
|
||||||
|
deviceType OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 1 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.2
|
||||||
|
ipAddress OBJECT-TYPE
|
||||||
|
SYNTAX IpAddress
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 2 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.3
|
||||||
|
subnetMask OBJECT-TYPE
|
||||||
|
SYNTAX IpAddress
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 3 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.4
|
||||||
|
gateWay OBJECT-TYPE
|
||||||
|
SYNTAX IpAddress
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 4 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.5
|
||||||
|
macAddress OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 5 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.6
|
||||||
|
keyLock OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER
|
||||||
|
{
|
||||||
|
lock(0),
|
||||||
|
unlock(1)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 6 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.7
|
||||||
|
buzzerSet OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER
|
||||||
|
{
|
||||||
|
off(0),
|
||||||
|
on(1)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 7 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.8
|
||||||
|
buzzerState OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER
|
||||||
|
{
|
||||||
|
off(0),
|
||||||
|
on(1)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 8 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.9
|
||||||
|
fanSet OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER
|
||||||
|
{
|
||||||
|
off(0),
|
||||||
|
on(1)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-write
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 9 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.10
|
||||||
|
fanState OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER
|
||||||
|
{
|
||||||
|
off(0),
|
||||||
|
on(1)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 10 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.11
|
||||||
|
power1State OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER
|
||||||
|
{
|
||||||
|
off(0),
|
||||||
|
on(1)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 11 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.12
|
||||||
|
power2State OBJECT-TYPE
|
||||||
|
SYNTAX INTEGER
|
||||||
|
{
|
||||||
|
off(0),
|
||||||
|
on(1)
|
||||||
|
}
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 12 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.13
|
||||||
|
softwareVersion OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 13 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.14
|
||||||
|
hardwareVersion OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 14 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.15
|
||||||
|
serialNumber OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 15 }
|
||||||
|
|
||||||
|
|
||||||
|
-- 1.3.6.1.4.1.40989.10.16.20.16
|
||||||
|
manufacturingdate OBJECT-TYPE
|
||||||
|
SYNTAX OCTET STRING
|
||||||
|
MAX-ACCESS read-only
|
||||||
|
STATUS current
|
||||||
|
DESCRIPTION
|
||||||
|
"Description."
|
||||||
|
::= { nmu 16 }
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
END
|
||||||
|
|
||||||
|
--
|
||||||
|
-- OAP-NMU.my
|
||||||
|
--
|
474
tests/data/fs-nmu.json
Normal file
474
tests/data/fs-nmu.json
Normal file
@@ -0,0 +1,474 @@
|
|||||||
|
{
|
||||||
|
"os": {
|
||||||
|
"discovery": {
|
||||||
|
"devices": [
|
||||||
|
{
|
||||||
|
"sysName": "<private>",
|
||||||
|
"sysObjectID": ".1.3.6.1.2.1.1.2",
|
||||||
|
"sysDescr": "GLCY SNMP",
|
||||||
|
"sysContact": null,
|
||||||
|
"version": "SV3.01.18",
|
||||||
|
"hardware": "OEO",
|
||||||
|
"features": null,
|
||||||
|
"os": "fs-nmu",
|
||||||
|
"type": "network",
|
||||||
|
"serial": "1119120009301117",
|
||||||
|
"icon": "fs.svg",
|
||||||
|
"location": null
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"poller": {
|
||||||
|
"devices": [
|
||||||
|
{
|
||||||
|
"sysName": "<private>",
|
||||||
|
"sysObjectID": ".1.3.6.1.2.1.1.2",
|
||||||
|
"sysDescr": "GLCY SNMP",
|
||||||
|
"sysContact": "<private>",
|
||||||
|
"version": "SV3.01.18",
|
||||||
|
"hardware": "OEO",
|
||||||
|
"features": null,
|
||||||
|
"os": "fs-nmu",
|
||||||
|
"type": "network",
|
||||||
|
"serial": "1119120009301117",
|
||||||
|
"icon": "fs.svg",
|
||||||
|
"location": "<private>"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"sensors": {
|
||||||
|
"discovery": {
|
||||||
|
"sensors": [
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "dbm",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.1.2.11.5.0",
|
||||||
|
"sensor_index": "vSFPA1RxPower.0",
|
||||||
|
"sensor_type": "fs-nmu",
|
||||||
|
"sensor_descr": "A1 Rx Power",
|
||||||
|
"group": null,
|
||||||
|
"sensor_divisor": 100,
|
||||||
|
"sensor_multiplier": 1,
|
||||||
|
"sensor_current": -213,
|
||||||
|
"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": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "dbm",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.1.2.11.4.0",
|
||||||
|
"sensor_index": "vSFPA1TxPower.0",
|
||||||
|
"sensor_type": "fs-nmu",
|
||||||
|
"sensor_descr": "A1 Tx Power",
|
||||||
|
"group": null,
|
||||||
|
"sensor_divisor": 100,
|
||||||
|
"sensor_multiplier": 1,
|
||||||
|
"sensor_current": -298,
|
||||||
|
"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": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "dbm",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.1.2.12.5.0",
|
||||||
|
"sensor_index": "vSFPA2RxPower.0",
|
||||||
|
"sensor_type": "fs-nmu",
|
||||||
|
"sensor_descr": "A2 Rx Power",
|
||||||
|
"group": null,
|
||||||
|
"sensor_divisor": 100,
|
||||||
|
"sensor_multiplier": 1,
|
||||||
|
"sensor_current": -512,
|
||||||
|
"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": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "dbm",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.1.2.12.4.0",
|
||||||
|
"sensor_index": "vSFPA2TxPower.0",
|
||||||
|
"sensor_type": "fs-nmu",
|
||||||
|
"sensor_descr": "A2 Tx Power",
|
||||||
|
"group": null,
|
||||||
|
"sensor_divisor": 100,
|
||||||
|
"sensor_multiplier": 1,
|
||||||
|
"sensor_current": 151,
|
||||||
|
"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": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "state",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.20.10.0",
|
||||||
|
"sensor_index": "0",
|
||||||
|
"sensor_type": "fanState",
|
||||||
|
"sensor_descr": "Fan State",
|
||||||
|
"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": "0",
|
||||||
|
"entPhysicalIndex_measured": null,
|
||||||
|
"sensor_prev": null,
|
||||||
|
"user_func": null,
|
||||||
|
"state_name": "fanState"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "state",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.20.11.0",
|
||||||
|
"sensor_index": "0",
|
||||||
|
"sensor_type": "power1State",
|
||||||
|
"sensor_descr": "Power 1 State",
|
||||||
|
"group": null,
|
||||||
|
"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": "0",
|
||||||
|
"entPhysicalIndex_measured": null,
|
||||||
|
"sensor_prev": null,
|
||||||
|
"user_func": null,
|
||||||
|
"state_name": "power1State"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "state",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.20.12.0",
|
||||||
|
"sensor_index": "0",
|
||||||
|
"sensor_type": "power2State",
|
||||||
|
"sensor_descr": "Power 2 State",
|
||||||
|
"group": null,
|
||||||
|
"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": "0",
|
||||||
|
"entPhysicalIndex_measured": null,
|
||||||
|
"sensor_prev": null,
|
||||||
|
"user_func": null,
|
||||||
|
"state_name": "power2State"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"state_indexes": [
|
||||||
|
{
|
||||||
|
"state_name": "fanState",
|
||||||
|
"state_descr": "off",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 0,
|
||||||
|
"state_generic_value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state_name": "fanState",
|
||||||
|
"state_descr": "on",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 1,
|
||||||
|
"state_generic_value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state_name": "power1State",
|
||||||
|
"state_descr": "off",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 0,
|
||||||
|
"state_generic_value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state_name": "power1State",
|
||||||
|
"state_descr": "on",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 1,
|
||||||
|
"state_generic_value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state_name": "power2State",
|
||||||
|
"state_descr": "off",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 0,
|
||||||
|
"state_generic_value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state_name": "power2State",
|
||||||
|
"state_descr": "on",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 1,
|
||||||
|
"state_generic_value": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"poller": {
|
||||||
|
"sensors": [
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "dbm",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.1.2.11.5.0",
|
||||||
|
"sensor_index": "vSFPA1RxPower.0",
|
||||||
|
"sensor_type": "fs-nmu",
|
||||||
|
"sensor_descr": "A1 Rx Power",
|
||||||
|
"group": null,
|
||||||
|
"sensor_divisor": 100,
|
||||||
|
"sensor_multiplier": 1,
|
||||||
|
"sensor_current": -2.13,
|
||||||
|
"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": -213,
|
||||||
|
"user_func": null,
|
||||||
|
"state_name": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "dbm",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.1.2.11.4.0",
|
||||||
|
"sensor_index": "vSFPA1TxPower.0",
|
||||||
|
"sensor_type": "fs-nmu",
|
||||||
|
"sensor_descr": "A1 Tx Power",
|
||||||
|
"group": null,
|
||||||
|
"sensor_divisor": 100,
|
||||||
|
"sensor_multiplier": 1,
|
||||||
|
"sensor_current": -2.98,
|
||||||
|
"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": -298,
|
||||||
|
"user_func": null,
|
||||||
|
"state_name": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "dbm",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.1.2.12.5.0",
|
||||||
|
"sensor_index": "vSFPA2RxPower.0",
|
||||||
|
"sensor_type": "fs-nmu",
|
||||||
|
"sensor_descr": "A2 Rx Power",
|
||||||
|
"group": null,
|
||||||
|
"sensor_divisor": 100,
|
||||||
|
"sensor_multiplier": 1,
|
||||||
|
"sensor_current": -5.12,
|
||||||
|
"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": -512,
|
||||||
|
"user_func": null,
|
||||||
|
"state_name": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "dbm",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.1.2.12.4.0",
|
||||||
|
"sensor_index": "vSFPA2TxPower.0",
|
||||||
|
"sensor_type": "fs-nmu",
|
||||||
|
"sensor_descr": "A2 Tx Power",
|
||||||
|
"group": null,
|
||||||
|
"sensor_divisor": 100,
|
||||||
|
"sensor_multiplier": 1,
|
||||||
|
"sensor_current": 1.51,
|
||||||
|
"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": 151,
|
||||||
|
"user_func": null,
|
||||||
|
"state_name": null
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "state",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.20.10.0",
|
||||||
|
"sensor_index": "0",
|
||||||
|
"sensor_type": "fanState",
|
||||||
|
"sensor_descr": "Fan State",
|
||||||
|
"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": "0",
|
||||||
|
"entPhysicalIndex_measured": null,
|
||||||
|
"sensor_prev": null,
|
||||||
|
"user_func": null,
|
||||||
|
"state_name": "fanState"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "state",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.20.11.0",
|
||||||
|
"sensor_index": "0",
|
||||||
|
"sensor_type": "power1State",
|
||||||
|
"sensor_descr": "Power 1 State",
|
||||||
|
"group": null,
|
||||||
|
"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": "0",
|
||||||
|
"entPhysicalIndex_measured": null,
|
||||||
|
"sensor_prev": null,
|
||||||
|
"user_func": null,
|
||||||
|
"state_name": "power1State"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"sensor_deleted": 0,
|
||||||
|
"sensor_class": "state",
|
||||||
|
"poller_type": "snmp",
|
||||||
|
"sensor_oid": ".1.3.6.1.4.1.40989.10.16.20.12.0",
|
||||||
|
"sensor_index": "0",
|
||||||
|
"sensor_type": "power2State",
|
||||||
|
"sensor_descr": "Power 2 State",
|
||||||
|
"group": null,
|
||||||
|
"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": "0",
|
||||||
|
"entPhysicalIndex_measured": null,
|
||||||
|
"sensor_prev": null,
|
||||||
|
"user_func": null,
|
||||||
|
"state_name": "power2State"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"state_indexes": [
|
||||||
|
{
|
||||||
|
"state_name": "fanState",
|
||||||
|
"state_descr": "off",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 0,
|
||||||
|
"state_generic_value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state_name": "fanState",
|
||||||
|
"state_descr": "on",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 1,
|
||||||
|
"state_generic_value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state_name": "power1State",
|
||||||
|
"state_descr": "off",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 0,
|
||||||
|
"state_generic_value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state_name": "power1State",
|
||||||
|
"state_descr": "on",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 1,
|
||||||
|
"state_generic_value": 0
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state_name": "power2State",
|
||||||
|
"state_descr": "off",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 0,
|
||||||
|
"state_generic_value": 2
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"state_name": "power2State",
|
||||||
|
"state_descr": "on",
|
||||||
|
"state_draw_graph": 0,
|
||||||
|
"state_value": 1,
|
||||||
|
"state_generic_value": 0
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
16
tests/snmpsim/fs-nmu.snmprec
Normal file
16
tests/snmpsim/fs-nmu.snmprec
Normal file
@@ -0,0 +1,16 @@
|
|||||||
|
1.3.6.1.2.1.1.1.0|4|GLCY SNMP
|
||||||
|
1.3.6.1.2.1.1.2.0|6|1.3.6.1.2.1.1.2
|
||||||
|
1.3.6.1.2.1.1.3.0|67|172043200
|
||||||
|
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.4.1.40989.10.16.1.2.2.0|4|OEO
|
||||||
|
1.3.6.1.4.1.40989.10.16.1.2.4.0|4|SV3.01.18
|
||||||
|
1.3.6.1.4.1.40989.10.16.1.2.6.0|4|1119120009301117
|
||||||
|
1.3.6.1.4.1.40989.10.16.1.2.11.4.0|2|-298
|
||||||
|
1.3.6.1.4.1.40989.10.16.1.2.11.5.0|2|-213
|
||||||
|
1.3.6.1.4.1.40989.10.16.1.2.12.4.0|2|151
|
||||||
|
1.3.6.1.4.1.40989.10.16.1.2.12.5.0|2|-512
|
||||||
|
1.3.6.1.4.1.40989.10.16.20.10.0|2|0
|
||||||
|
1.3.6.1.4.1.40989.10.16.20.11.0|2|1
|
||||||
|
1.3.6.1.4.1.40989.10.16.20.12.0|2|1
|
Reference in New Issue
Block a user