mirror of
https://github.com/librenms/librenms.git
synced 2024-10-07 16:52:45 +00:00
Bugfix snmpsim collector: use the correct mibdir (#11003)
captureFromDevice() only returned data for named oids when the MIB lived in the root mibdir, and could not retrieve data from any vendor-specific MIB because the mibdir parameter was omitted from the snmp function call. This meant that snmp commands for the snmpsim data collector didn't return usable data. As a result the test data wasn't complete for many discovery components.
This commit is contained in:
committed by
PipoCanaja
parent
a3867e3376
commit
f25c91cbd1
@ -149,11 +149,11 @@ class ModuleTestHelper
|
||||
|
||||
$snmp_options = ['-OUneb', '-Ih'];
|
||||
if ($oid_data['method'] == 'walk') {
|
||||
$data = snmp_walk($device, $oid_data['oid'], $snmp_options, $oid_data['mib']);
|
||||
$data = snmp_walk($device, $oid_data['oid'], $snmp_options, $oid_data['mib'], $oid_data['mibdir']);
|
||||
} elseif ($oid_data['method'] == 'get') {
|
||||
$data = snmp_get($device, $oid_data['oid'], $snmp_options, $oid_data['mib']);
|
||||
$data = snmp_get($device, $oid_data['oid'], $snmp_options, $oid_data['mib'], $oid_data['mibdir']);
|
||||
} elseif ($oid_data['method'] == 'getnext') {
|
||||
$data = snmp_getnext($device, $oid_data['oid'], $snmp_options, $oid_data['mib']);
|
||||
$data = snmp_getnext($device, $oid_data['oid'], $snmp_options, $oid_data['mib'], $oid_data['mibdir']);
|
||||
}
|
||||
|
||||
if (isset($data) && $data !== false) {
|
||||
@ -203,6 +203,8 @@ class ModuleTestHelper
|
||||
foreach ($snmp_matches[0] as $index => $line) {
|
||||
preg_match("/'-m' '\+?([a-zA-Z0-9:\-]+)'/", $line, $mib_matches);
|
||||
$mib = $mib_matches[1];
|
||||
preg_match("/'-M' '\+?([a-zA-Z0-9:\-\/]+)'/", $line, $mibdir_matches);
|
||||
$mibdir = $mibdir_matches[1];
|
||||
$method = $snmp_matches[1][$index];
|
||||
$oids = explode("' '", trim($snmp_matches[2][$index]));
|
||||
|
||||
@ -210,6 +212,7 @@ class ModuleTestHelper
|
||||
$snmp_oids["{$oid}_$method"] = [
|
||||
'oid' => $oid,
|
||||
'mib' => $mib,
|
||||
'mibdir' => $mibdir,
|
||||
'method' => $method,
|
||||
];
|
||||
}
|
||||
|
Reference in New Issue
Block a user