I have some old ControlByWeb sensors (X310) that are only able to have SNMPv1.
When doing the discovery, LNMS is not able to determine the SysObjectID value.
./discovery.php -h cosmsens17 -d -v -m core
…
Load disco module core
SNMP[‘/usr/bin/snmpget’ ‘-v1’ ‘-c’ ‘public’ ‘-OUQn’ ‘-m’ ‘SNMPv2-MIB’ ‘-M’ ‘/opt/librenms/mibs’ ‘udp:cosmsens17:161’ ‘sysName.0’ ‘sysObjectID.0’ ‘sysDescr.0’]
.1.3.6.1.2.1.1.5.0 = COSMSENS17
…
Only sysName is OK
With bash, i have the same pb :
/usr/bin/snmpget -v1 -cpublic -OUQn -m SNMPv2-MIB -M /opt/librenms/mibs udp:cosmsens17:161 sysName.0 sysObjectID.0 sysDescr.0
.1.3.6.1.2.1.1.5.0 = COSMSENS17
Because of that, my OS is not recognize and all the discovery processes (state sensors, temperature, …) are not launched.
With newer ControlByWeb sensors (X410 & X600M for example), implementing SNMPv2 and v3, i do not have the problem.
I have other SNMP v1 hosts that works with no problem so i think this is due to bad implementation of SNMP in these sensors …
Is it possible to change the way LNMS get the 3 informations sysName.0, sysObjectID.0, sysDescr.0, doing it in 3 pass ?
As the discovery is done “less times” the polling, i do not think it will impact the performance.
If not possible, i will have to implement every physical sensors using Custom OIDs