SNMP Traps are now supported! (Finally)

snmp
Tags: #<Tag:0x00007f9327dca390>

#1

Hi all!

Traps are here! You were waiting for this and now is released!

linkUp/Down, bgpUp/Down and authentication failure are the currently supported traps.

Want them working? https://docs.librenms.org/#Extensions/SNMP-Trap-Handler/

Have an issue? Please, reply this post instead opening a new one!


#2

Great! thanks for your work will definitely be checking this out :slight_smile:


#3

Hi, thank you for this feauture, but I need help. Where can I see that traps ? and what you mean with this

Modify startup options to include -M /opt/librenms/mibs -m ALL

where can I edit this. I am using UBUNTU 16.0.4

Thank you


#4

@jozefrebjak What you mean with where you will see the traps?

For example, a linkDown trap (port down) your database will be updated with that and you will see in the event log the trap like this: Interface went Down : GigabitEthernet0/5 (TRAP)

If you have a port up/down alert, you will recieve it as soon as alerts.php is ran (every 1 minute in cron).

Same for BGP sessions.

For where to put startup options, I dont really know in Ubuntu but, if you are using systemd, do systemctl status snmptrapd and you will see an output with this line:

Loaded: loaded (/usr/lib/systemd/system/snmptrapd.service; enabled; vendor preset: disabled)
You need to edit the snmptrapd.service file (in the location you have) and add the startup options to the ExecStart.

At least is how I have it.


#5

Hmm I’ve done the following so far but no success, can you see anything I’m doing wrong?

Updated to latest LibreNMS on master.
su librenms
sudo vim /etc/snmp/snmptrapd.conf

ADD

disableAuthorization yes
authCommunity log,execute,net COMMUNITYSTRING
traphandle default /opt/librenms/snmptrap.php

sudo vim /usr/lib/systemd/system/snmptrapd.service

ADD to ExecStart

ExecStart=/usr/sbin/snmptrapd $OPTIONS -f -M /opt/librenms/mibs -m ALL

sudo systemctl daemon-reload
sudo systemctl enable snmptrapd
sudo systemctl restart snmptrapd
sudo systemctl status snmptrapd

It is active running, with Started Simple Network Management Protocol (SNMP) Trap Daemon…

Then i added to LibreNMS config.php

$config['snmptraps']['eventlog'] = 'all';

So this means I should see eventlogs for that device when interfaces are shut no shut?
How can you test recieval of trap messages without LibreNMS , do they come into journalctl or possible to add a seperate logfile like -Lf /tmp/all_traps ? (logoption doesn’t work in snmptrapd for me)

On the router i have all traps enabled and my snmp-server host libreip communitystring line.

and I wasn’t sure if you need udp,tcp 162 opened on the server? I have anyway.


#6

You dont need $config['snmptraps']['eventlog'] = 'all'; To be honest, dont know for what is that :stuck_out_tongue:

In your router, assuming it is Cisco, you should also enable traps:

This is my config (for a edge bgp router)

snmp-server enable traps snmp authentication linkdown linkup coldstart warmstart
snmp-server enable traps bgp
snmp-server host LIBREHOST version 2c COMMUNITYSTRING

UDP 162 is the used port by snmptrap daemon

Recieved traps are found in /var/log/messages iirc


#7

Got it working! thanks for the help.

(Had to allow UDP 162 on a hardware fw i forgot about)