降低SNMPd日志记录的详细程度


37

每当CentOS系统上的SNMPd从我的监视工具收到查询时,它都会向syslog发送日志消息。有没有办法降低SNMPd的详细程度?它为日志增加了很多混乱。

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

谢谢!

Answers:


37

检查启动命令snmpd(可能在某处/etc/rc.d/-在Ubuntu中是/etc/defaults/snmpd)以获取日志记录选项:

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

或者在ps aux | grep snmpd输出中找到它。

手册页给出了记录选项:

-Ls设施

通过syslog使用指定的工具记录消息(对于LOG_DAEMON是'd',对于LOG_USER是'u',对于LOG_LOCAL0到LOG_LOCAL7是'0'-'7')。每个选项还有“大写”版本,这些版本允许将相应的日志记录机制限制为消息的某些优先级。

对于-LF和-LS,优先级指定位于文件或设施令牌之前。公认的优先事项是:

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. 

默认值相当冗长(调试以下仅2个级别):

正常输出(或将要记录!)的优先级为LOG_NOTICE

如果要通过LOG_DAEMON(-Lsd)登录到syslog,则可以将其减少为使用-LSwd/的LOG_WARNING -LS4d或使用-LSed/的LOG_ERR -LS3d

(已编辑,以按正确的顺序放置选项。)


我很难在CentOS 6.5上找到正确的位置。不是, /etc/snmp/snmpd.options不是,/etc/sysconfig/snmpd.options但实际上是/etc/sysconfig/snmpd。,ps aux | grep snmpd对于查看更改是否有效确实很有用。
尤金·范德默

1
在Debian中使用systemd它是在有线/lib/systemd/system/snmpd.service,使用systemctl cat snmpdsystemctl edit snmpd覆盖 [Service]ExecStart只。ExecStart应该输入两次,第一次为空以清除旧的(寻找systemd覆盖供应商设置功能)
Alex

19

为了将最低优先级设置为LOG_WARNING(这是我通常使用的优先级),只需更改argopt:

-Lsd

-LSwd

代表:

  • S:syslog,优先级高
  • w:(或4)仅记录警告和更多相关消息
  • d:使用LOG_DAEMON工具

如该男子所述(但实际上缺少一个明确的例子):

对于-LF和-LS,优先级规范位于文件或设施令牌之前


糟糕,我错过了优先顺序/设施的顺序。
安德鲁

10

dontLogTCPWrappersConnects

如果snmpd是使用TCP Wrapper支持编译的,它将记录与该代理建立的每个连接。此设置禁用接受的连接的日志消息。拒绝的连接仍将被记录。

即添加dontLogTCPWrappersConnects true到snmpd.conf。

我很困惑,为什么对于监视服务(以及一个支持UDP的服务)而言,在LOG_DEBUG之上考虑此日志消息:-(。 journalctl -o verbose显示该消息具有PRIORITY = 6(INFO),与snmpd的常规启动消息相同。


似乎可以正常工作,也可以将日志记录级别从“通知”更改为“警告”,但是其方式更着重于连接日志记录。
jla 2016年

这对我来说最适合删除成功连接尝试的日志记录,而不是缩小日志记录标准。
B骑士

5

我从/etc/sysconfig/snmpd.optionsCentOS / Redhat安装中的文件中完全删除了“ -Lsd”指令,剩下的文件显示为:

# snmpd command line options
OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid -a"

这会完全停止所有snmpd日志,还是回退到默认日志记录?
Banjer 2012年

3

包括标准(包括在/etc/snmp/snmp.confCentOS 6.5 的默认文件中)在内的行对我来说可以减少冗长的信息,特别是关于TCP / UDP SNMP连接日志记录:

dontLogTCPWrappersConnects yes

这是默认snmp.conf文件的更“详细”摘录:

# We do not want annoying "Connection from UDP: " messages in syslog.
# If the following option is commented out, snmpd will print each incoming
# connection, which can be useful for debugging.

dontLogTCPWrappersConnects yes

-1

在树莓派/树莓派上,文件位置为

/lib/systemd/system/snmpd.service

那么您必须在重新启动snmpd服务之前执行守护程序重新加载。

systemctl守护程序重新加载

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.