Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

SNMPd on my CentOS systems is sending log messages to syslog every time it receives a query from my monitoring tools. Is there a way to lower the verbosity of SNMPd? It adds a lot of clutter to the logs.

Sep 12 13:05:40 myhost snmpd[7073]: Received SNMP packet(s) from UDP: [ipaddr]:42874
Sep 12 13:05:40 myhost snmpd[7073]: Connection from UDP: [ipaddr]:49272

Thanks!

share|improve this question
up vote 17 down vote accepted

Check the command that starts snmpd (possibly somewhere /etc/rc.d/ - in Ubuntu it's /etc/defaults/snmpd) for the logging options:

SNMPDOPTS='-Lsd -Lf /dev/null -u snmp -I -smux -p /var/run/snmpd.pid -g root 0.0.0.0'

Or find it in the ps aux | grep snmpd output.

The man page gives the logging options:

-Ls FACILITY

Log messages via syslog, using the specified facility ('d' for LOG_DAEMON, 'u' for LOG_USER, or '0'-'7' for LOG_LOCAL0 through LOG_LOCAL7). There are also "upper case" versions of each of these options, which allow the corresponding logging mechanism to be restricted to certain priorities of message.

For -LF and -LS the priority specification comes before the file or facility token. The priorities recognised are:

0 or ! for LOG_EMERG,
1 or a for LOG_ALERT,
2 or c for LOG_CRIT,
3 or e for LOG_ERR,
4 or w for LOG_WARNING,
5 or n for LOG_NOTICE,
6 or i for LOG_INFO, and
7 or d for LOG_DEBUG. 

The default is fairly verbose (only 2 levels below debug):

Normal output is (or will be!) logged at a priority level of LOG_NOTICE

If you're logging to syslog via LOG_DAEMON (-Lsd), you could reduce it to e.g. LOG_WARNING with -LSwd/-LS4d, or LOG_ERR with -LSed/-LS3d.

(Edited to put the options in the right order.)

share|improve this answer
    
I struggled to find the correct location on CentOS 6.5. It's not /etc/snmp/snmpd.options nor is it /etc/sysconfig/snmpd.options but actually it is /etc/sysconfig/snmpd. The ps aux | grep snmpd was really useful to see if the changes were working. – Eugene van der Merwe May 4 '14 at 7:58

In order to set the minimum priority to LOG_WARNING, (which is what I usually use) simply change the argopt:

-Lsd

to

-LSwd

Which stands for:

  • S: syslog, priority comes next
  • w: (or 4) log only warnings and more relevant messages
  • d: use the LOG_DAEMON facility

As stated in the man (but actually missing a clear example):

For -LF and -LS the priority specification comes before the file or facility token

share|improve this answer
    
Oops, I missed the order of priority/facility. – Andrew Sep 14 '11 at 2:45

I completely remove the "-Lsd" directive from the /etc/sysconfig/snmpd.options file in CentOS/Redhat installations, leaving a file that reads:

# snmpd command line options
OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid -a"
share|improve this answer
    
does this completely stop all snmpd logs, or does it fall back to default logging? – Banjer Nov 16 '12 at 11:59

It is possible to disable the query logging in snmpd

   dontLogTCPWrappersConnects
          If the snmpd was compiled with TCP Wrapper support, it logs every connection made to the agent. This setting disables  the
          log messages for accepted connections. Denied connections will still be logged.

i.e. add dontLogTCPWrappersConnects true to snmpd.conf.

I'm puzzled why this is considered above LOG_DEBUG, for a monitoring service that supports UDP :(. journalctl -o verbose shows it with PRIORITY=6 (INFO), which is the same as the normal startup messages for snmpd.

share|improve this answer
    
Appears to work as well as changing the logging level from notice to warn, but in a way that is more focused on the connection logging. – jla Feb 8 at 23:05

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.