Check if value is valid for Linux servers (#8956)

Fix for issue #8950 


DO NOT DELETE THIS TEXT

#### Please note

> Please read this information carefully. You can run `./scripts/pre-commit.php` to check your code before submitting.

- [x] Have you followed our [code guidelines?](http://docs.librenms.org/Developing/Code-Guidelines/)

#### Testers

If you would like to test this pull request then please run: `./scripts/github-apply <pr_id>`, i.e `./scripts/github-apply 5926`
This commit is contained in:
tomarch
2018-08-13 23:40:54 +02:00
committed by Neil Lathwood
parent 45d35efd00
commit bdfea272be
6 changed files with 1768 additions and 10 deletions

View File

@@ -10,7 +10,9 @@ if (preg_match("/(Linux).+(ntc)/", $device['sysDescr'])) {
$descr = 'Battery charge';
$index = '116.8';
$value = snmp_get($device, $oid.$index, '-Oqv');
discover_sensor($valid['sensor'], 'charge', $device, $oid.$index, $index, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'charge', $device, $oid.$index, $index, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
}
}
$oids = '.1.3.6.1.4.1.8072.1.3.2.4.1.2.7.117.112.115.45.110.117.116.1';
@@ -23,7 +25,8 @@ if (!empty($value)) {
$lowlimit = 0;
$lowwarnlimit = 10;
$descr = 'Battery Charge';
discover_sensor($valid['sensor'], 'ups_nut', $device, $oids, $index, $type, $descr, 1, 1, $lowlimit, $lowwarnlimit, null, $limit, $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'ups_nut', $device, $oids, $index, $type, $descr, 1, 1, $lowlimit, $lowwarnlimit, null, $limit, $value);
}
}
unset($oids);

View File

@@ -9,13 +9,19 @@ if (preg_match("/(Linux).+(ntc)/", $device['sysDescr'])) {
$descr = 'AC IN current';
$current = '116.3';
$value = snmp_get($device, $oid.$current, '-Oqv');
discover_sensor($valid['sensor'], 'current', $device, $oid.$current, $current, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'current', $device, $oid.$current, $current, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
}
$descr = 'VBUS current';
$current = '116.5';
$value = snmp_get($device, $oid.$current, '-Oqv');
discover_sensor($valid['sensor'], 'current', $device, $oid.$current, $current, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'current', $device, $oid.$current, $current, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
}
$descr = 'Battery current';
$current = '116.7';
$value = snmp_get($device, $oid.$current, '-Oqv');
discover_sensor($valid['sensor'], 'current', $device, $oid.$current, $current, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'current', $device, $oid.$current, $current, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
}
}

View File

@@ -52,7 +52,9 @@ if (preg_match("/(Linux).+(ntc)/", $device['sysDescr'])) {
$descr = 'AXP209 Temperature';
$index = '116.1';
$value = snmp_get($device, $oid.$index, '-Oqv');
discover_sensor($valid['sensor'], 'temperature', $device, $oid.$index, $index, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'temperature', $device, $oid.$index, $index, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
}
}
include_once Config::get('install_dir') . '/includes/discovery/sensors/temperature/supermicro.inc.php';

View File

@@ -77,11 +77,15 @@ if (preg_match("/(Linux).+(ntc)/", $device['sysDescr'])) {
$descr = 'AC IN voltage';
$index = '116.2';
$value = snmp_get($device, $oid.$index, '-Oqv');
discover_sensor($valid['sensor'], 'voltage', $device, $oid.$index, $index, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'voltage', $device, $oid.$index, $index, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
}
$descr = 'VBUS voltage';
$index = '116.4';
$value = snmp_get($device, $oid.$index, '-Oqv');
discover_sensor($valid['sensor'], 'voltage', $device, $oid.$index, $index, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'voltage', $device, $oid.$index, $index, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
}
$lowlimit = 2.75;
$lowwarnlimit = 2.8;
$warnlimit = 4.2;
@@ -89,7 +93,9 @@ if (preg_match("/(Linux).+(ntc)/", $device['sysDescr'])) {
$descr = 'Battery voltage';
$index = '116.6';
$value = snmp_get($device, $oid.$index, '-Oqv');
discover_sensor($valid['sensor'], 'voltage', $device, $oid.$index, $index, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
if (is_numeric($value)) {
discover_sensor($valid['sensor'], 'voltage', $device, $oid.$index, $index, $sensor_type, $descr, '1', '1', $lowlimit, $lowwarnlimit, $warnlimit, $limit, $value);
}
}
$oids = '.1.3.6.1.4.1.8072.1.3.2.4.1.2.7.117.112.115.45.110.117.116.4';

1520
tests/data/linux_ntc.json Normal file
View File

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,221 @@
1.3.6.1.2.1.1.1.0|4|Linux web01.1.novalocal 3.10.0-693.21.1.el7.x86_64 #1 SMP Wed Mar 7 19:03:37 UTC 2018 x86_64
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|11386051
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.2.2.1.2.1|4|lo
1.3.6.1.2.1.2.2.1.2.2|4|eth0
1.3.6.1.2.1.2.2.1.2.3|4|docker0
1.3.6.1.2.1.2.2.1.2.285|4|veth0aabb96
1.3.6.1.2.1.2.2.1.2.291|4|veth007429f
1.3.6.1.2.1.2.2.1.2.293|4|vethf64809e
1.3.6.1.2.1.2.2.1.2.301|4|vethcec20c8
1.3.6.1.2.1.2.2.1.3.1|2|24
1.3.6.1.2.1.2.2.1.3.2|2|6
1.3.6.1.2.1.2.2.1.3.3|2|6
1.3.6.1.2.1.2.2.1.3.285|2|6
1.3.6.1.2.1.2.2.1.3.291|2|6
1.3.6.1.2.1.2.2.1.3.293|2|6
1.3.6.1.2.1.2.2.1.3.301|2|6
1.3.6.1.2.1.2.2.1.4.1|2|65536
1.3.6.1.2.1.2.2.1.4.2|2|1500
1.3.6.1.2.1.2.2.1.4.3|2|1500
1.3.6.1.2.1.2.2.1.4.285|2|1500
1.3.6.1.2.1.2.2.1.4.291|2|1500
1.3.6.1.2.1.2.2.1.4.293|2|1500
1.3.6.1.2.1.2.2.1.4.301|2|1500
1.3.6.1.2.1.2.2.1.6.1|4|
1.3.6.1.2.1.2.2.1.6.2|4x|FA163E572148
1.3.6.1.2.1.2.2.1.6.3|4x|0242E3D93A89
1.3.6.1.2.1.2.2.1.6.285|4x|166EED29873A
1.3.6.1.2.1.2.2.1.6.291|4x|3ACE998D0884
1.3.6.1.2.1.2.2.1.6.293|4x|A26637F02A88
1.3.6.1.2.1.2.2.1.6.301|4x|669CE82A38B3
1.3.6.1.2.1.2.2.1.7.1|2|1
1.3.6.1.2.1.2.2.1.7.2|2|1
1.3.6.1.2.1.2.2.1.7.3|2|1
1.3.6.1.2.1.2.2.1.7.285|2|1
1.3.6.1.2.1.2.2.1.7.291|2|1
1.3.6.1.2.1.2.2.1.7.293|2|1
1.3.6.1.2.1.2.2.1.7.301|2|1
1.3.6.1.2.1.2.2.1.8.1|2|1
1.3.6.1.2.1.2.2.1.8.2|2|1
1.3.6.1.2.1.2.2.1.8.3|2|1
1.3.6.1.2.1.2.2.1.8.285|2|1
1.3.6.1.2.1.2.2.1.8.291|2|1
1.3.6.1.2.1.2.2.1.8.293|2|1
1.3.6.1.2.1.2.2.1.8.301|2|1
1.3.6.1.2.1.2.2.1.9.1|67|0
1.3.6.1.2.1.2.2.1.9.2|67|0
1.3.6.1.2.1.2.2.1.9.3|67|0
1.3.6.1.2.1.2.2.1.9.285|67|0
1.3.6.1.2.1.2.2.1.9.291|67|0
1.3.6.1.2.1.2.2.1.9.293|67|0
1.3.6.1.2.1.2.2.1.9.301|67|0
1.3.6.1.2.1.2.2.1.13.1|65|0
1.3.6.1.2.1.2.2.1.13.2|65|0
1.3.6.1.2.1.2.2.1.13.3|65|0
1.3.6.1.2.1.2.2.1.13.285|65|0
1.3.6.1.2.1.2.2.1.13.291|65|0
1.3.6.1.2.1.2.2.1.13.293|65|0
1.3.6.1.2.1.2.2.1.13.301|65|0
1.3.6.1.2.1.2.2.1.14.1|65|0
1.3.6.1.2.1.2.2.1.14.2|65|0
1.3.6.1.2.1.2.2.1.14.3|65|0
1.3.6.1.2.1.2.2.1.14.285|65|0
1.3.6.1.2.1.2.2.1.14.291|65|0
1.3.6.1.2.1.2.2.1.14.293|65|0
1.3.6.1.2.1.2.2.1.14.301|65|0
1.3.6.1.2.1.2.2.1.19.1|65|0
1.3.6.1.2.1.2.2.1.19.2|65|0
1.3.6.1.2.1.2.2.1.19.3|65|0
1.3.6.1.2.1.2.2.1.19.285|65|0
1.3.6.1.2.1.2.2.1.19.291|65|0
1.3.6.1.2.1.2.2.1.19.293|65|0
1.3.6.1.2.1.2.2.1.19.301|65|0
1.3.6.1.2.1.2.2.1.20.1|65|0
1.3.6.1.2.1.2.2.1.20.2|65|0
1.3.6.1.2.1.2.2.1.20.3|65|0
1.3.6.1.2.1.2.2.1.20.285|65|0
1.3.6.1.2.1.2.2.1.20.291|65|0
1.3.6.1.2.1.2.2.1.20.293|65|0
1.3.6.1.2.1.2.2.1.20.301|65|0
1.3.6.1.2.1.10.7.2.1.1.285|2|285
1.3.6.1.2.1.10.7.2.1.1.291|2|291
1.3.6.1.2.1.10.7.2.1.1.293|2|293
1.3.6.1.2.1.10.7.2.1.1.301|2|301
1.3.6.1.2.1.10.7.2.1.19.285|2|3
1.3.6.1.2.1.10.7.2.1.19.291|2|3
1.3.6.1.2.1.10.7.2.1.19.293|2|3
1.3.6.1.2.1.10.7.2.1.19.301|2|3
1.3.6.1.2.1.25.1.1.0|67|726228898
1.3.6.1.2.1.25.1.4.0|4|BOOT_IMAGE=/vmlinuz-3.10.0-693.21.1.el7.x86_64 root=UUID=42aa2900-b550-41f3-879a-baf58244b2f8 ro crashkernel=auto vconsole.font=
1.3.6.1.2.1.31.1.1.1.1.1|4|lo
1.3.6.1.2.1.31.1.1.1.1.2|4|eth0
1.3.6.1.2.1.31.1.1.1.1.3|4|docker0
1.3.6.1.2.1.31.1.1.1.1.285|4|veth0aabb96
1.3.6.1.2.1.31.1.1.1.1.291|4|veth007429f
1.3.6.1.2.1.31.1.1.1.1.293|4|vethf64809e
1.3.6.1.2.1.31.1.1.1.1.301|4|vethcec20c8
1.3.6.1.2.1.31.1.1.1.2.1|65|0
1.3.6.1.2.1.31.1.1.1.2.2|65|0
1.3.6.1.2.1.31.1.1.1.2.3|65|0
1.3.6.1.2.1.31.1.1.1.2.285|65|0
1.3.6.1.2.1.31.1.1.1.2.291|65|0
1.3.6.1.2.1.31.1.1.1.2.293|65|0
1.3.6.1.2.1.31.1.1.1.2.301|65|0
1.3.6.1.2.1.31.1.1.1.3.1|65|0
1.3.6.1.2.1.31.1.1.1.3.2|65|0
1.3.6.1.2.1.31.1.1.1.3.3|65|0
1.3.6.1.2.1.31.1.1.1.3.285|65|0
1.3.6.1.2.1.31.1.1.1.3.291|65|0
1.3.6.1.2.1.31.1.1.1.3.293|65|0
1.3.6.1.2.1.31.1.1.1.3.301|65|0
1.3.6.1.2.1.31.1.1.1.4.1|65|0
1.3.6.1.2.1.31.1.1.1.4.2|65|0
1.3.6.1.2.1.31.1.1.1.4.3|65|0
1.3.6.1.2.1.31.1.1.1.4.285|65|0
1.3.6.1.2.1.31.1.1.1.4.291|65|0
1.3.6.1.2.1.31.1.1.1.4.293|65|0
1.3.6.1.2.1.31.1.1.1.4.301|65|0
1.3.6.1.2.1.31.1.1.1.5.1|65|0
1.3.6.1.2.1.31.1.1.1.5.2|65|0
1.3.6.1.2.1.31.1.1.1.5.3|65|0
1.3.6.1.2.1.31.1.1.1.5.285|65|0
1.3.6.1.2.1.31.1.1.1.5.291|65|0
1.3.6.1.2.1.31.1.1.1.5.293|65|0
1.3.6.1.2.1.31.1.1.1.5.301|65|0
1.3.6.1.2.1.31.1.1.1.6.1|70|99146399848
1.3.6.1.2.1.31.1.1.1.6.2|70|237949448575
1.3.6.1.2.1.31.1.1.1.6.3|70|820303
1.3.6.1.2.1.31.1.1.1.6.285|70|0
1.3.6.1.2.1.31.1.1.1.6.291|70|5936
1.3.6.1.2.1.31.1.1.1.6.293|70|0
1.3.6.1.2.1.31.1.1.1.6.301|70|616
1.3.6.1.2.1.31.1.1.1.7.1|70|807165491
1.3.6.1.2.1.31.1.1.1.7.2|70|393227062
1.3.6.1.2.1.31.1.1.1.7.3|70|14158
1.3.6.1.2.1.31.1.1.1.7.285|70|0
1.3.6.1.2.1.31.1.1.1.7.291|70|9
1.3.6.1.2.1.31.1.1.1.7.293|70|0
1.3.6.1.2.1.31.1.1.1.7.301|70|8
1.3.6.1.2.1.31.1.1.1.8.1|70|0
1.3.6.1.2.1.31.1.1.1.8.2|70|0
1.3.6.1.2.1.31.1.1.1.8.3|70|0
1.3.6.1.2.1.31.1.1.1.8.285|70|0
1.3.6.1.2.1.31.1.1.1.8.291|70|0
1.3.6.1.2.1.31.1.1.1.8.293|70|0
1.3.6.1.2.1.31.1.1.1.8.301|70|0
1.3.6.1.2.1.31.1.1.1.9.1|70|0
1.3.6.1.2.1.31.1.1.1.9.2|70|0
1.3.6.1.2.1.31.1.1.1.9.3|70|0
1.3.6.1.2.1.31.1.1.1.9.285|70|0
1.3.6.1.2.1.31.1.1.1.9.291|70|0
1.3.6.1.2.1.31.1.1.1.9.293|70|0
1.3.6.1.2.1.31.1.1.1.9.301|70|0
1.3.6.1.2.1.31.1.1.1.10.1|70|99146399848
1.3.6.1.2.1.31.1.1.1.10.2|70|197490537682
1.3.6.1.2.1.31.1.1.1.10.3|70|166127147
1.3.6.1.2.1.31.1.1.1.10.285|70|1038
1.3.6.1.2.1.31.1.1.1.10.291|70|1696
1.3.6.1.2.1.31.1.1.1.10.293|70|690
1.3.6.1.2.1.31.1.1.1.10.301|70|1116
1.3.6.1.2.1.31.1.1.1.11.1|70|807165491
1.3.6.1.2.1.31.1.1.1.11.2|70|437229589
1.3.6.1.2.1.31.1.1.1.11.3|70|23551
1.3.6.1.2.1.31.1.1.1.11.285|70|15
1.3.6.1.2.1.31.1.1.1.11.291|70|22
1.3.6.1.2.1.31.1.1.1.11.293|70|9
1.3.6.1.2.1.31.1.1.1.11.301|70|15
1.3.6.1.2.1.31.1.1.1.12.1|70|0
1.3.6.1.2.1.31.1.1.1.12.2|70|0
1.3.6.1.2.1.31.1.1.1.12.3|70|0
1.3.6.1.2.1.31.1.1.1.12.285|70|0
1.3.6.1.2.1.31.1.1.1.12.291|70|0
1.3.6.1.2.1.31.1.1.1.12.293|70|0
1.3.6.1.2.1.31.1.1.1.12.301|70|0
1.3.6.1.2.1.31.1.1.1.13.1|70|0
1.3.6.1.2.1.31.1.1.1.13.2|70|0
1.3.6.1.2.1.31.1.1.1.13.3|70|0
1.3.6.1.2.1.31.1.1.1.13.285|70|0
1.3.6.1.2.1.31.1.1.1.13.291|70|0
1.3.6.1.2.1.31.1.1.1.13.293|70|0
1.3.6.1.2.1.31.1.1.1.13.301|70|0
1.3.6.1.2.1.31.1.1.1.15.1|66|10
1.3.6.1.2.1.31.1.1.1.15.2|66|0
1.3.6.1.2.1.31.1.1.1.15.3|66|0
1.3.6.1.2.1.31.1.1.1.15.285|66|10000
1.3.6.1.2.1.31.1.1.1.15.291|66|10000
1.3.6.1.2.1.31.1.1.1.15.293|66|10000
1.3.6.1.2.1.31.1.1.1.15.301|66|10000
1.3.6.1.2.1.31.1.1.1.16.1|2|2
1.3.6.1.2.1.31.1.1.1.16.2|2|2
1.3.6.1.2.1.31.1.1.1.16.3|2|2
1.3.6.1.2.1.31.1.1.1.16.285|2|2
1.3.6.1.2.1.31.1.1.1.16.291|2|2
1.3.6.1.2.1.31.1.1.1.16.293|2|2
1.3.6.1.2.1.31.1.1.1.16.301|2|2
1.3.6.1.2.1.31.1.1.1.17.1|2|2
1.3.6.1.2.1.31.1.1.1.17.2|2|1
1.3.6.1.2.1.31.1.1.1.17.3|2|1
1.3.6.1.2.1.31.1.1.1.17.285|2|1
1.3.6.1.2.1.31.1.1.1.17.291|2|1
1.3.6.1.2.1.31.1.1.1.17.293|2|1
1.3.6.1.2.1.31.1.1.1.17.301|2|1
1.3.6.1.2.1.31.1.1.1.18.1|4|
1.3.6.1.2.1.31.1.1.1.18.2|4|
1.3.6.1.2.1.31.1.1.1.18.3|4|
1.3.6.1.2.1.31.1.1.1.18.285|4|
1.3.6.1.2.1.31.1.1.1.18.291|4|
1.3.6.1.2.1.31.1.1.1.18.293|4|
1.3.6.1.2.1.31.1.1.1.18.301|4|
1.3.6.1.2.1.31.1.1.1.19.1|67|0
1.3.6.1.2.1.31.1.1.1.19.2|67|0
1.3.6.1.2.1.31.1.1.1.19.3|67|0
1.3.6.1.2.1.31.1.1.1.19.285|67|0
1.3.6.1.2.1.31.1.1.1.19.291|67|0
1.3.6.1.2.1.31.1.1.1.19.293|67|0
1.3.6.1.2.1.31.1.1.1.19.301|67|0
1.3.6.1.4.1.2021.7890.1.3.1.1.6.100.105.115.116.114.111|4|CentOS 7.4.1708
1.3.6.1.6.3.10.2.1.3.0|2|113861