Hello,
I have a problem addind IPv6 only hosts to observium using discovery.
For example the "myserver" host in the extract below (part of the result of"/opt/observium/discovery.php -h all -dd")
This "myserver" host is discovered as a LLDP neighbor of another host.
Then discovery.php tries to connect to "myserver" with snmpget using its IPv6 address. But There are missing brackets in the snmpget command :
- failing : /usr/bin/snmpget -v2c -c 'commu' -Pud -OQUsn -m SNMPv2-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp6':'fde6:67ca:25ef:14::17':'161' .1.3.6.1.2.1.1.2.0.1.3.6.1.2.1.1.3.0
- would be OK (adding brackets) : /usr/bin/snmpget -v2c -c 'commu' -Pud -OQUsn -m SNMPv2-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp6':'[fde6:67ca:25ef:14::17]':'161' .1.3.6.1.2.1.1.2.0.1.3.6.1.2.1.1.3.0
How could I solve this issue ? - is there a way to force observium to add brackets ? - or maybe even better to force observium to use the hostname "myserver" to connect using snmpget instead of the IPv6 address ?
Regards !
************************
##### Module Start: neighbours #####
o LLDP-MIB
[...]
[139768400.45.41] => array( [lldpRemChassisIdSubtype] => string(10) "macAddress" [lldpRemChassisId] => string(18) "52 54 00 60 4E 17 " [lldpRemPortIdSubtype] => string(10) "macAddress" [lldpRemPortId] => string(18) "52 54 00 60 4E 17 " [lldpRemPortDesc] => string(4) "ens3" [lldpRemSysName] => string(37) "myserver.local.r0m5.eu" [lldpRemSysDesc] => string(95) "Debian GNU/Linux 11 (bullseye) Linux 5.10.0-9-amd64 #1 SMP Debian 5.10.70-1 (2021-09-30) x86_64" [lldpRemManAddrIfId] => string(1) "2" [lldpRemManAddr] => string(39) "fde6:66ba:24ff:0104:0000:0000:0000:0017" [lldpRemMan] => array( [fde6:66ba:24ff:0104:0000:0000:0000:0017] => array( [lldpRemManAddrIfId] => string(1) "2" ) ) )
[...]
SQL[SELECT `device_id` FROM `devices` WHERE `hostname` = 'myserver.local.r0m5.eu'] ROWS[0] SQL RUNTIME[0.00016594s]
SQL[SELECT `device_id` FROM `devices` WHERE `sysName` = 'myserver.local.r0m5.eu' AND `disabled` = '0'] ROWS[0] SQL RUNTIME[0.00020385s]
SQL[SELECT `autodiscovery`.*, UNIX_TIMESTAMP(`last_checked`) AS `last_checked_unixtime` FROM `autodiscovery` WHERE `poller_id` = '0' AND `remote_hostname` = 'myserver.local.r0m5.eu' AND `remote_ip` = 'fde6:67ca:25ef:14::17'] ROWS[1] SQL RUNTIME[0.00026703s] AUTODISCOVERY DEVEL: hostname & ip DB found
$db_entry /opt/observium/includes/discovery/functions.inc.php:636
array( [autodiscovery_id] => string(1) "8" [poller_id] => string(1) "0" [device_id] => string(3) "150" [remote_hostname] => string(37) "myserver.local.r0m5.eu" [remote_ip] => string(22) "fde6:67ca:25ef:14::17" [remote_device_id] => null [protocol] => string(4) "LLDP" [added] => string(19) "2021-11-27 13:11:08" [last_checked] => string(19) "2021-11-28 12:37:37" [last_reason] => string(7) "no_snmp" [last_checked_unixtime] => string(10) "1638099457" ) Remote device checked 7m 26s ago (less than 1 day) o Trying to discover host myserver.local.r0m5.eu (fde6:67ca:25ef:14::17) through LLDP (xdp)
/opt/observium/includes/common.inc.php:3679 array()
$dns6 /opt/observium/includes/common.inc.php:3685
array( [0] => array( [host] => string(37) "myserver.local.r0m5.eu" [class] => string(2) "IN" [ttl] => int(20876) [type] => string(4) "AAAA" [ipv6] => string(22) "fde6:67ca:25ef:14::17" ) ) Host myserver.local.r0m5.eu resolved as fde6:67ca:25ef:14::17 Host myserver.local.r0m5.eu (fde6:67ca:25ef:14::17) founded inside configured nets, trying to add:
CMD[/usr/bin/fping6 -t 500 -c 1 -q fde6:67ca:25ef:14::17 2>&1]
CMD EXITCODE[0] CMD RUNTIME[0.0195s] CMD EXITDELAY[10ms] STDOUT[ fde6:67ca:25ef:14::17 : xmt/rcv/%loss = 1/1/0%, min/avg/max = 17.2/17.2/17.2 ]
SQL[SELECT `hostname` FROM `ipv6_addresses` LEFT JOIN `devices` USING(`device_id`) WHERE `disabled` = 0 AND `ipv6_binary` = '��f�$�\0\0\0\0\0\0\0' LIMIT 1] ROWS[0] SQL RUNTIME[0.00051618s]
/opt/observium/includes/entities/device.inc.php:54 array( *[hostname] => string(22) "fde6:67ca:25ef:14::17"* [snmp_port] => int(161) [snmp_transport] => string(4) "udp6" [snmp_version] => string(3) "v2c" [snmp_community] => string(4) "commu" ) Trying v2c community commu ...
CMD[/usr/bin/snmpget -v2c -c 'commu' -Pud -OQUsn -m SNMPv2-MIB -M /opt/observium/mibs/rfc:/opt/observium/mibs/net-snmp 'udp6':'fde6:67ca:25ef:14::17':'161' .1.3.6.1.2.1.1.2.0 .1.3.6.1.2.1.1.3.0]
CMD EXITCODE[1] CMD RUNTIME[6.0132s] STDOUT[
] STDERR[ Timeout: No Response from udp6:fde6:67ca:25ef:14::17:161. ] SNMP ERROR - device: , cmd: snmpget, options: -OQUsn, mib: 'SNMPv2-MIB', oid: '.1.3.6.1.2.1.1.2.0 .1.3.6.1.2.1.1.3.0', cmd exitcode: 1, snmp error code: #900, reason: 'isSNMPable', runtime: 6.01322889328 SNMP ERROR - device: , cmd: snmpget, options: -OQUsn, mib: 'SNMPv2-MIB', oid: '.1.3.6.1.2.1.1.2.0 .1.3.6.1.2.1.1.3.0', cmd exitcode: 1, snmp error code: #900, reason: 'isSNMPable', runtime: 6.01322889328 SNMP STATUS[FALSE]