Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Table of Contents

Step-by-step guide

...

SNMPTRAP

...

Steps

  1. First you want to install snmptrapd. I also recommend going ahead and enabling snmptrapd to start automatically in case of server reboots

    Code Block
    languagebash
    titleInstall snmptrapd
    apt-get install snmptrapd
    systemctl enable snmptrapd


  2. With NET-SNMP Version 5.8 and systemd you will need to override snmptrapd.service. This means that when starting snmptrapd the options you put in the override file will be what starts and not what snmptrapd defaults with.

    Code Block
    languagebash
    titleEdit snmptrapd service
    systemctl edit snmptrapd


  3. In the edit window that appears you will want to paste the below text. Editor is nano, I recommend using the default file name so you just need to save and exit (ctl+o, ctl+w)

    Code Block
    languagetext
    titleoverride.conf text
    [Service]
    ExecStart=
    ExecStart=/usr/sbin/snmptrapd -f -n -OQ -Ls2 -m ALL -M /usr/local/nmis9/mibs/trap

  4. Edit the /etc/default/snmptrapd file, replacing default TRAPDOTS with the below:

    Code Block
    languagebash
    titleedit snmptrapd
    vi /etc/default/snmptrapd 


    Code Block
    languagetext
    title /etc/default/snmptrapd
    TRAPDOPTS='-n -LS2d -p /var/run/snmptrapd.pid -m ALL -M /usr/local/nmis9/mibs/traps'
    TRAPDRUN=yes


  5. Edit the /etc/snmp/snmptrapd.conf file,


    Code Block
    languagebash
    titleedit snmptrapd.conf
    vi /etc/snmp/snmptrapd.conf


    Code Block
    languagetext
    title /etc/snmp/snmptrapd.conf
    disableAuthorization yes
    #If you have installed nmis9 in a different directory make sure to change below to match.
    traphandle default /usr/local/nmis9/bin/traplog.pl


  6. Now we need to reload the daemon and restart the service.


    Code Block
    languagebash
    titlereload daemons
    systemctl daemon-reload
    systemctl restart snmptrapd
    # Always a good idea to check status
    systemctl status snmptrapd


 Rsyslog

...

Steps

  1. First you want to make sure rsyslog is installed, I also recommend going ahead and making sure its enabled to start automatically in case of server reboots

    Code Block
    languagebash
    titleInstall snmptrapd
    apt-get install rsyslog
    systemctl enable rsyslog


  2. Copy the rsyslog.conf file from nmis9/conf-default/rsyslog and replace the current rsyslog file.


    Code Block
    languagebash
    titlersyslog
    #make a backup of the orginal
    cp /etc/rsyslog.conf /etc/rsyslog.conf.bak
    cp /usr/local/nmis9/conf-default/rsyslogd/rsyslog.conf /etc/rsyslog.conf


  3. Now we will edit rsyslog to add in our snmptrap processing

    Code Block
    languagebash
    titlersyslog.conf edit
    vi /etc/rsyslog.conf


    Code Block
    languagetext
    titlersyslog text add
    # Go to the end of the file and add:
    
    local2.*                                                /usr/local/nmis9/logs/snmptrap.log
    
    


  4. Reload and restart Daemon

    Code Block
    languagebash
    titlereload daemons rsyslog
    systemctl daemon-reload
    systemctl restart rsyslog
    # Always a good idea to check status
    systemctl status rsyslog


  5. Time to test! To verify operation you can send a test trap either locally or from another Linux server, this example sends an Opmantek event trap.

    Code Block
    languagebash
    titletest trap
    sudo snmptrap -v 2c  -c public 127.0.0.1 80000 1.3.6.1.4.1.4818 1.3.6.1.4.1.4818.1 s Event

    The trap will appear in either /usr/local/nmis9/logs/snmptrap.log

...

If you are receiving SNMP traps from devices which are just numbers, then you will need to add the MIBS so that the SNMP trap daemon can decode them them for you.  First you need to identify the required MIB files and any dependant MIB files and then copy those files to the directory /usr/local/nmis9/mibs/traps and restart the SNMP trap daemon.

service snmptrapd restart

You can test the decoding using the snmptranslate command, which was described in a previous section.

...

Page properties
hiddentrue


Related issues