BGP & OSPF not showing on SNMPv3


I hope someone can help me with an issue I am having on LibreNMS where if I put my Cisco devices on SNMPv3, Libre loses the ability to see all the BGP and OSPF routes.

I am using a pair of Cisco ASR 1002x routers running version 17.6.3a.

On SNMPv3 or 2c there is no issue with any other module/ information being received from the device on Libre, it is only routing.

I have run a ./poller.php on one of these devices while on SNMPv3 and this is the output for the bgp-peer module:

RRD[update /data/rrd/“HOSTNAME”/poller-perf-bgp-peers.rrd N:0.0032839775085449]
RRDtool Output: OK u:0.01 s:0.01 r:21.22
Modules status: Global-
Module [ junose-atm-vp ] disabled globally.

Modules status: Global-
Module [ printer-supplies ] disabled globally.

Modules status: Global+

Load poller module ucd-diskio

SQL[SELECT * FROM ucd_diskio WHERE device_id = ? [350] 0.49ms]

Runtime for poller module ‘ucd-diskio’: 0.0010 seconds with 48 bytes
SNMP: [0/0.00s] MySQL: [1/0.00s] RRD: [1/0.00s]

Unload poller module ucd-diskio

Has anyone encountered this issue before, if so, how did you solve it?


Component Version
LibreNMS 23.1.1 (2023-02-09T19:33:37+00:00)
DB Schema 2022_09_03_091314_update_ports_adsl_table_with_defaults (248)
PHP 8.1.15
Python 3.10.10
Database MariaDB 10.5.16-MariaDB-1:10.5.16+maria~focal
RRDTool 1.7.2
SNMP 5.9.3

[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 schema correct
[OK] MySQl and PHP time match
[OK] Active pollers found
[OK] Dispatcher Service is enabled
[OK] Locks are functional
[OK] No python wrapper pollers found
[OK] Redis is functional
[OK] rrd_dir is writable
[OK] rrdtool version ok
[WARN] Non-git install, updates are manual or from package

Correction for this issue. The OSPF does appear on both versions but only one process appears and not the others. BGP however is affected by the version of SNMP that is being used. Has anyone else had this issue?

I had it once but I was unable to reproduce or used SNMPv2 in that special case :rofl:

Same as this?

Not quite the same. In your one it is showing as empty on the state and peer but my one is just completely non-existent. The poller.php returns nothing at all in regards to BGP.

I ran the command from your thread while incorporating the values from my system.

v2c: (running from local install)

MariaDB [librenms]> SELECT devices.hostname,snmpVer,bgpPeerState,bgpPeerAdminStatus FROM devices,bgpPeers WHERE (devices.device_id = 350 OR devices.device_id = 355) AND devices.device_id = bgpPeers.device_id AND bgpPeers.bgpPeerRemoteAs
= 41379;
| hostname | snmpVer | bgpPeerState | bgpPeerAdminStatus |
| enf-XXXXXXXXXX | v2c | established | start |
| thn-XXXXXXXXXX | v2c | established | start |
2 rows in set (0.001 sec)

V3: (running from cloud install)

SELECT devices.hostname,snmpVer,bgpPeerState,bgpPeerAdminStatus FROM devices,bgpPeers WHERE (devices.device_id = 19 OR devices.device_id = 17) AND devices.device_id = bgpPeers.device_id AND bgpPeers.bgpPeerRemoteAs =
Empty set (0.001 sec)

I currently run 2 librenms systems, one on a cloud AWS server and one locally. They are not set up for distributed polling nor do they have any relations. They both experience the same issue so I do not think this is a buggy install.

Any other ideas what is happening here?

I don’t get it (why ucd-diskio etc above?)

Do you got any errors with just ./poller.php -h 350 -m bgp-peers if yes, add -d

ucd-diskio I think was part of the output, I am not sure what it represents.

^^^ This is working correctly. ^^^