Unable to see neighbors (LLDP) on RouterOS - Mikrotik

hello, community.

I’m quite new to LibreNMS and I apologize if I’m missing something obvious.
running LibreNMS ver 24.2.
My question pertains to the discovery protocols (LLDP) for MikroTik (routerOS) switches.

Although the switch’s OS and other features were successfully identified, LLDP (neighbors) information is missing. This absence is noticeable on the device’s “Neighbors” page, in the network map, and in the output of the discovery CLI command.

I have included verbose output from the OS discovery and discovery protocols, along with the config validation output, for further clarity.

Any advice or tips would be greatly appreciated.

thanks

LibreNMS Discovery
SQL[e[1;33mselect `migration` from `migrations` order by `id` desc limit 1 e[0;33m[]e[0m 0.49ms] 
  
SQL[e[1;33mselect count(*) as aggregate from `migrations` e[0;33m[]e[0m 0.45ms] 
  
SQL[e[1;33mselect version() e[0;33m[]e[0m 0.38ms] 
  
===========================================
Component | Version
--------- | -------
LibreNMS  | 24.2.0 (2024-03-01T10:55:24+00:00)
DB Schema | 2021_02_09_122930_migrate_to_utf8mb4 (290)
PHP       | 8.2.16
Python    | 3.11.8
Database  | MariaDB 11.3.2-MariaDB-1:11.3.2+maria~ubu2204
RRDTool   | 1.8.0
SNMP      | 5.9.4
===========================================
DEBUG!
Updating os_def.cache  
Override discovery modules: discovery-protocols  
SQL[e[1;33mSELECT * FROM `devices` WHERE disabled = 0 AND `hostname` LIKE '172.17.100.230' ORDER BY device_id DESC e[0;33m[]e[0m 1.02ms] 
  
172.17.100.230 12 routeros SQL[e[1;33mselect * from `devices` where `device_id` = ? limit 1 e[0;33m[12]e[0m 0.61ms] 
  
SQL[e[1;33mselect * from `devices_attribs` where `devices_attribs`.`device_id` = ? and `devices_attribs`.`device_id` is not null e[0;33m[12]e[0m 0.45ms] 
  
[FPING] '/usr/sbin/fping' '-e' '-q' '-c' '3' '-p' '500' '-t' '500' '-O' '0' '172.17.100.230'
  
response: xmt/rcv/%loss = 3/3/0%, min/avg/max = 0.37/0.384/0.395  
SNMP[e[0;36m'/usr/bin/snmpget' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/mikrotik' '-m' 'SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:NET-SNMP-VACM-MIB' '-v2c' '-c' 'younity' '-OQXUte' 'udp:172.17.100.230:161' 'SNMPv2-MIB::sysObjectID.0'e[0m]  
SNMPv2-MIB::sysObjectID.0 = SNMPv2-SMI::enterprises.14988.1
  
  
Modules status: Global+  
OS  
Device  

#### Load disco module core ####
Attempting to initialize OS: routeros  
OS initialized: LibreNMS\OS\Routeros  
SNMP[e[0;36m'/usr/bin/snmpget' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/mikrotik' '-m' 'SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:NET-SNMP-VACM-MIB' '-v2c' '-c' 'younity' '-OQXUte' '-On' 'udp:172.17.100.230:161' 'SNMPv2-MIB::sysObjectID.0' 'SNMPv2-MIB::sysDescr.0' 'SNMPv2-MIB::sysName.0'e[0m]  
.1.3.6.1.2.1.1.2.0 = .1.3.6.1.4.1.14988.1
.1.3.6.1.2.1.1.1.0 = RouterOS CRS326-24S+2Q+
.1.3.6.1.2.1.1.5.0 = uslab-bb01
  
  
| RouterOS CRS326-24S+2Q+ | .1.3.6.1.4.1.14988.1 | 
  
OS: Mikrotik RouterOS (routeros)

Attempting to initialize OS: routeros  
OS initialized: LibreNMS\OS\Routeros  

>> Runtime for discovery module 'core': 0.0460 seconds with 47328 bytes
>> e[0;36mSNMPe[0m: [1/0.02s] e[1;33mMySQLe[0m: [0/0.00s] e[0;32mRRDe[0m: [0/0.00s]  
#### Unload disco module core ####

Modules status: Global+  
OS  
Device  

#### Load disco module discovery-protocols ####
 LLDP-MIB: SNMP[e[0;36m'/usr/bin/snmpbulkwalk' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/mikrotik' '-m' 'SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:NET-SNMP-VACM-MIB' '-v2c' '-c' 'younity' '-OQXUte' '-Os' 'udp:172.17.100.230:161' 'LLDP-MIB::lldpRemEntry'e[0m]  
lldpRemChassisIdSubtype[0][0][7] = 4
lldpRemChassisIdSubtype[0][0][19] = 4
lldpRemChassisIdSubtype[0][0][400] = 4
lldpRemChassisId[0][0][7] = "90:3A:72:27:E5:D6"
lldpRemChassisId[0][0][19] = "AC:71:2E:15:67:88"
lldpRemChassisId[0][0][400] = "30:DE:4B:AC:77:9E"
lldpRemPortIdSubtype[0][0][7] = 5
lldpRemPortIdSubtype[0][0][19] = 5
lldpRemPortIdSubtype[0][0][400] = 5
lldpRemPortId[0][0][7] = "GigabitEthernet1/1/47"
lldpRemPortId[0][0][19] = "x1"
lldpRemPortId[0][0][400] = "gigabitEthernet 1/0/48"
lldpRemSysName[0][0][7] = LabDistro
lldpRemSysName[0][0][19] = FW-lab
lldpRemSysName[0][0][400] = sw01-lab
lldpRemSysDesc[0][0][7] = 
lldpRemSysDesc[0][0][19] = FortiGate-100F v6.4.13,build2092,230606 (GA.M)
lldpRemSysDesc[0][0][400] = JetStream 48-Port Gigabit and 4-Port 10GE SFP+ L2+ Managed Switch with 48-Port PoE+
lldpRemSysCapSupported[0][0][7] = "08 "
lldpRemSysCapSupported[0][0][19] = "28 "
lldpRemSysCapSupported[0][0][400] = "28 "
lldpRemSysCapEnabled[0][0][7] = "08 "
lldpRemSysCapEnabled[0][0][19] = "20 "
lldpRemSysCapEnabled[0][0][400] = "28 "
  
  
SNMP[e[0;36m'/usr/bin/snmpbulkwalk' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/mikrotik' '-m' 'SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:NET-SNMP-VACM-MIB' '-v2c' '-c' 'younity' '-OQXUte' '-Os' 'udp:172.17.100.230:161' 'MIKROTIK-MIB::mtxrInterfaceStatsName'e[0m]  
mtxrInterfaceStatsName[1] = sfp-sfpplus1
mtxrInterfaceStatsName[2] = sfp-sfpplus2
mtxrInterfaceStatsName[3] = sfp-sfpplus3
mtxrInterfaceStatsName[4] = sfp-sfpplus4
mtxrInterfaceStatsName[5] = sfp-sfpplus5
mtxrInterfaceStatsName[6] = sfp-sfpplus6
mtxrInterfaceStatsName[7] = sfp-sfpplus7
mtxrInterfaceStatsName[8] = sfp-sfpplus8
mtxrInterfaceStatsName[9] = sfp-sfpplus9
mtxrInterfaceStatsName[10] = sfp-sfpplus10
mtxrInterfaceStatsName[11] = sfp-sfpplus11
mtxrInterfaceStatsName[12] = sfp-sfpplus12
mtxrInterfaceStatsName[13] = sfp-sfpplus13
mtxrInterfaceStatsName[14] = sfp-sfpplus14
mtxrInterfaceStatsName[15] = sfp-sfpplus15
mtxrInterfaceStatsName[16] = sfp-sfpplus16
mtxrInterfaceStatsName[17] = sfp-sfpplus17
mtxrInterfaceStatsName[18] = sfp-sfpplus18
mtxrInterfaceStatsName[19] = sfp-sfpplus19
mtxrInterfaceStatsName[20] = sfp-sfpplus20
mtxrInterfaceStatsName[21] = sfp-sfpplus21
mtxrInterfaceStatsName[22] = sfp-sfpplus22
mtxrInterfaceStatsName[23] = sfp-sfpplus23
mtxrInterfaceStatsName[24] = sfp-sfpplus24
mtxrInterfaceStatsName[25] = qsfpplus1-1
mtxrInterfaceStatsName[26] = qsfpplus1-2
mtxrInterfaceStatsName[27] = qsfpplus1-3
mtxrInterfaceStatsName[28] = qsfpplus1-4
mtxrInterfaceStatsName[29] = qsfpplus2-1
mtxrInterfaceStatsName[30] = qsfpplus2-2
mtxrInterfaceStatsName[31] = qsfpplus2-3
mtxrInterfaceStatsName[32] = qsfpplus2-4
mtxrInterfaceStatsName[33] = ether1
mtxrInterfaceStatsName[34] = bridge
  
  
SNMP[e[0;36m'/usr/bin/snmpbulkwalk' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/mikrotik' '-m' 'SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:NET-SNMP-VACM-MIB' '-v2c' '-c' 'younity' '-OQXUte' '-Os' 'udp:172.17.100.230:161' 'MIKROTIK-MIB::mtxrNeighborInterfaceID'e[0m]  
mtxrNeighborInterfaceID[7] = 16
mtxrNeighborInterfaceID[19] = 1
mtxrNeighborInterfaceID[400] = 18
  
  
Reporting disabled by user setting  
SQL[e[1;33mSELECT * FROM `ports` WHERE `port_id` = ? e[0;33m[0]e[0m 1.8ms] 
  
SQL[e[1;33mSELECT `device_id` FROM `devices` WHERE `hostname`=? e[0;33m["LabDistro"]e[0m 1.03ms] 
  
SQL[e[1;33mSELECT `device_id` FROM `devices` WHERE `sysName`=? LIMIT 2 e[0;33m["LabDistro"]e[0m 0.84ms] 
  
SQL[e[1;33mSELECT * FROM `ports` WHERE `port_id` = ? e[0;33m[0]e[0m 0.93ms] 
  
SQL[e[1;33mSELECT `device_id` FROM `devices` WHERE `hostname`=? e[0;33m["FW-lab"]e[0m 0.63ms] 
  
SQL[e[1;33mSELECT `device_id` FROM `devices` WHERE `sysName`=? LIMIT 2 e[0;33m["FW-lab"]e[0m 0.65ms] 
  
SQL[e[1;33mSELECT * FROM `ports` WHERE `port_id` = ? e[0;33m[0]e[0m 0.9ms] 
  
SQL[e[1;33mSELECT `device_id` FROM `devices` WHERE `hostname`=? e[0;33m["sw01-lab"]e[0m 0.64ms] 
  
SQL[e[1;33mSELECT `device_id` FROM `devices` WHERE `sysName`=? LIMIT 2 e[0;33m["sw01-lab"]e[0m 0.65ms] 
  

 OSPF Discovery: SQL[e[1;33mSELECT DISTINCT(`ospfNbrIpAddr`),`device_id` FROM `ospf_nbrs` WHERE `device_id`=? e[0;33m[12]e[0m 0.8ms] 
  

  
SQL[e[1;33mSELECT * FROM `links` AS L, `ports` AS I WHERE L.local_port_id = I.port_id AND I.device_id = ? e[0;33m[12]e[0m 0.97ms] 
  
SQL[e[1;33mDELETE T FROM `links` T LEFT JOIN `devices` ON `devices`.`device_id` = T.`local_device_id` WHERE `devices`.`device_id` IS NULL e[0;33m[]e[0m 0.41ms] 
  
 0 orphaned links deleted  

>> Runtime for discovery module 'discovery-protocols': 0.3440 seconds with 34296 bytes
>> e[0;36mSNMPe[0m: [3/0.32s] e[1;33mMySQLe[0m: [12/0.10s] e[0;32mRRDe[0m: [0/0.00s]  
#### Unload disco module discovery-protocols ####

SQL[e[1;33mupdate `devices` set `last_discovered_timetaken` = ?, `last_discovered` = NOW() where `device_id` = ? e[0;33m[1.461,12]e[0m 0.82ms] 
  
Discovered in 1.461 seconds

./discovery.php 172.17.100.230 2024-03-21 08:28:19 - 1 devices discovered in 1.715 secs  

e[0;36mSNMPe[0m [5/0.38s]: Snmpget[2/0.05s] Snmpwalk[3/0.32s]  
e[1;33mSQLe[0m [20/0.15s]: Select[18/0.14s] Delete[1/0.00s] Update[1/0.01s]  
e[0;32mRRDe[0m [0/0.00s]:   

LibreNMS Discovery
SQL[e[1;33mselect `migration` from `migrations` order by `id` desc limit 1 e[0;33m[]e[0m 0.61ms] 
  
SQL[e[1;33mselect count(*) as aggregate from `migrations` e[0;33m[]e[0m 0.83ms] 
  
SQL[e[1;33mselect version() e[0;33m[]e[0m 0.49ms] 
  
===========================================
Component | Version
--------- | -------
LibreNMS  | 24.2.0 (2024-03-01T10:55:24+00:00)
DB Schema | 2021_02_09_122930_migrate_to_utf8mb4 (290)
PHP       | 8.2.16
Python    | 3.11.8
Database  | MariaDB 11.3.2-MariaDB-1:11.3.2+maria~ubu2204
RRDTool   | 1.8.0
SNMP      | 5.9.4
===========================================
DEBUG!
Updating os_def.cache  
Override discovery modules: os  
SQL[e[1;33mSELECT * FROM `devices` WHERE disabled = 0 AND `hostname` LIKE '172.17.100.230' ORDER BY device_id DESC e[0;33m[]e[0m 1.49ms] 
  
172.17.100.230 12 routeros SQL[e[1;33mselect * from `devices` where `device_id` = ? limit 1 e[0;33m[12]e[0m 0.81ms] 
  
SQL[e[1;33mselect * from `devices_attribs` where `devices_attribs`.`device_id` = ? and `devices_attribs`.`device_id` is not null e[0;33m[12]e[0m 0.55ms] 
  
[FPING] '/usr/sbin/fping' '-e' '-q' '-c' '3' '-p' '500' '-t' '500' '-O' '0' '172.17.100.230'
  
response: xmt/rcv/%loss = 3/3/0%, min/avg/max = 0.328/0.346/0.365  
SNMP[e[0;36m'/usr/bin/snmpget' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/mikrotik' '-m' 'SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:NET-SNMP-VACM-MIB' '-v2c' '-c' 'younity' '-OQXUte' 'udp:172.17.100.230:161' 'SNMPv2-MIB::sysObjectID.0'e[0m]  
SNMPv2-MIB::sysObjectID.0 = SNMPv2-SMI::enterprises.14988.1
  
  
Modules status: Global+  
OS  
Device  

#### Load disco module core ####
Attempting to initialize OS: routeros  
OS initialized: LibreNMS\OS\Routeros  
SNMP[e[0;36m'/usr/bin/snmpget' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/mikrotik' '-m' 'SNMPv2-TC:SNMPv2-MIB:IF-MIB:IP-MIB:TCP-MIB:UDP-MIB:NET-SNMP-VACM-MIB' '-v2c' '-c' 'younity' '-OQXUte' '-On' 'udp:172.17.100.230:161' 'SNMPv2-MIB::sysObjectID.0' 'SNMPv2-MIB::sysDescr.0' 'SNMPv2-MIB::sysName.0'e[0m]  
.1.3.6.1.2.1.1.2.0 = .1.3.6.1.4.1.14988.1
.1.3.6.1.2.1.1.1.0 = RouterOS CRS326-24S+2Q+
.1.3.6.1.2.1.1.5.0 = uslab-bb01
  
  
| RouterOS CRS326-24S+2Q+ | .1.3.6.1.4.1.14988.1 | 
  
OS: Mikrotik RouterOS (routeros)

Attempting to initialize OS: routeros  
OS initialized: LibreNMS\OS\Routeros  

>> Runtime for discovery module 'core': 0.0470 seconds with 47328 bytes
>> e[0;36mSNMPe[0m: [1/0.02s] e[1;33mMySQLe[0m: [0/0.00s] e[0;32mRRDe[0m: [0/0.00s]  
#### Unload disco module core ####

Modules status: Global+  
OS  
Device  

#### Load disco module os ####
Yaml location data:  
SNMP[e[0;36m'/usr/bin/snmpget' '-v2c' '-c' 'younity' '-Oqv' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/mikrotik' 'udp:172.17.100.230:161' 'SNMPv2-MIB::sysLocation.0'e[0m]
  
  
SNMP[e[0;36m'/usr/bin/snmpget' '-v2c' '-c' 'younity' '-Ovq' '-m' 'SNMPv2-MIB' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/mikrotik' 'udp:172.17.100.230:161' 'sysContact.0'e[0m]
  
  
SNMP[e[0;36m'/usr/bin/snmpget' '-v2c' '-c' 'younity' '-OUQ' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/mikrotik' 'udp:172.17.100.230:161' 'MIKROTIK-MIB::mtxrLicLevel.0' 'MIKROTIK-MIB::mtxrSerialNumber.0' 'MIKROTIK-MIB::mtxrLicVersion.0'e[0m]
MIKROTIK-MIB::mtxrLicLevel.0 = 5
MIKROTIK-MIB::mtxrSerialNumber.0 = HD308AKV7FX
MIKROTIK-MIB::mtxrLicVersion.0 = 6.48.6  
  
Yaml OS data: {"MIKROTIK-MIB::mtxrLicLevel.0":"5","MIKROTIK-MIB::mtxrSerialNumber.0":"HD308AKV7FX","MIKROTIK-MIB::mtxrLicVersion.0":"6.48.6"} 
Location: 
Hardware: CRS326-24S+2Q+
OS Version: 6.48.6
OS Features: Level 5
Serial: HD308AKV7FX

>> Runtime for discovery module 'os': 0.1210 seconds with 121288 bytes
>> e[0;36mSNMPe[0m: [4/0.10s] e[1;33mMySQLe[0m: [0/0.00s] e[0;32mRRDe[0m: [0/0.00s]  
#### Unload disco module os ####

SQL[e[1;33mupdate `devices` set `last_discovered_timetaken` = ?, `last_discovered` = NOW() where `device_id` = ? e[0;33m[1.236,12]e[0m 2.15ms] 
  
Discovered in 1.236 seconds

./discovery.php 172.17.100.230 2024-03-21 08:28:33 - 1 devices discovered in 1.492 secs  

e[0;36mSNMPe[0m [6/0.16s]: Snmpget[6/0.16s]  
e[1;33mSQLe[0m [8/0.08s]: Select[7/0.06s] Update[1/0.02s]  
e[0;32mRRDe[0m [0/0.00s]:   

./validate.php
===========================================
Component | Version
--------- | -------
LibreNMS  | 24.2.0 (2024-03-01T10:55:24+00:00)
DB Schema | 2021_02_09_122930_migrate_to_utf8mb4 (290)
PHP       | 8.2.16
Python    | 3.11.8
Database  | MariaDB 11.3.2-MariaDB-1:11.3.2+maria~ubu2204
RRDTool   | 1.8.0
SNMP      | 5.9.4
===========================================

[OK]    Installed from package; no Composer required
[OK]    Database connection successful
[OK]    Database Schema is current
[OK]    SQL Server meets minimum requirements
[OK]    lower_case_table_names is enabled
[OK]    MySQL engine is optimal
[OK]    Database and column collations are correct
[OK]    Database schema correct
[OK]    MySQL and PHP time match
[FAIL]  No active polling method detected
[OK]    Dispatcher Service not detected
[OK]    Locks are functional
[FAIL]  No python wrapper pollers found
[OK]    Redis is unavailable
[WARN]  IPv6 is disabled on your server, you will not be able to add IPv6 devices.
[OK]    rrd_dir is writable
[OK]    rrdtool version ok
[WARN]  Non-git install, updates are manual or from package

hi

Does anyone have any idea why I can’t see the LLDP neighbors?

thanks

this issue was resolved by upgrading the MikroTik switch to firmware higher than 7.7