[Resolved] Bird Application

Hey all,

I am new here, but I have been using LibreNMS since longer than I can recall. It probably started around 2016ish, and have brought quite a few colleagues onboard!

Anyways, I am here to seek some help with the Bird plugin. For some reasons, the plugin will not display anything, even though I have enabled it, or at least I believe it did it.

Here is what I did:

On my “router” (server), I extend the snmp configuration in /etc/snmp/snmpd.conf with:

extend bird2 '/usr/bin/sudo /usr/sbin/birdc -r show protocols all'

I also edited the visudo, to allow the Snmp user to run the command with:

Debian-snmp ALL=(ALL) NOPASSWD: /usr/sbin/birdc

In my bird.conf I updated the time as suggested and restart my snmp service (many times) and so I did about bird daemon:

timeformat base iso long;
timeformat log iso long;
timeformat protocol iso long;
timeformat route iso long;

As it did not work, I checked the SNMP Extend section, and did not get any further success.

I can confirm that the command /usr/bin/sudo /usr/sbin/birdc -r show protocols all ran by myself works perfectly fine as a non-root user.

In LibreNMS dashboard, I have an “Apps” tab in which I see the Bird2 application, but it’s just plain white and empty.

Finally, I have tried checking running the poller manually against that device, and I get this odd “bird2: has empty output” reply.

#### Load poller module applications ####

Application: bird2, app_id=1
bird2: has empty output

I would welcome any hint that can get me back on track!

Forgot to add the validate output:

librenms@nms:~$ ./validate.php
===========================================
Component | Version
--------- | -------
LibreNMS  | 24.8.0-17-g3dd408440 (2024-08-22T17:23:09+02:00)
DB Schema | 2024_08_12_232009_ent_physical_table_rev_length (298)
PHP       | 8.2.20
Python    | 3.12.4
Database  | MariaDB 10.11.6-MariaDB-0+deb12u1
RRDTool   | 1.7.2
SNMP      | 5.9.3
===========================================

[OK]    Composer Version: 2.7.7
[OK]    Dependencies up-to-date.
[OK]    Database connection successful
[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
[OK]    Active pollers found
[OK]    Dispatcher Service not detected
[OK]    Locks are functional
[OK]    Python poller wrapper is polling
[OK]    Redis is unavailable
[OK]    rrd_dir is writable
[OK]    rrdtool version ok

Thanks in advance.

Adding some context to my own post, in case someone finds this, although it does not fix the issue.

The command /usr/bin/sudo /usr/sbin/birdc -r show protocols all fails an snmpwalk, but the command /usr/bin/sudo /usr/sbin/birdc -r show protocols succeeds.

Turns out, someone helped me on Twitter. By making snmpd listen on tcp, it worked. Somehow, over UDP it does not.

Very bizzare… Perhaps you have packet loss?

I don’t think so, at least not visible and measurable.

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.