需求和现象
默认安装启动的snmp,会把日志记录在系统日志/var/log/messages中。频繁记录日志到messages,导致messages的日志输出都被snmp的相关信息占满,不便于其它问题的排查。另外,频繁的写日志对性能也不是很好,因此需要修改相关的配置。
解决方法
第一反应就是想到snmp的配置文件,但是发现配置文件/etc/snmp/snmpd.conf中没有关于log的日志定义,ps -ef | grep snmp[d] 得到如下结果
1 2 |
|
以上启动命令中就有关于日志的选项,关于snmp日志的警告级别如下
- 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,
- 7 or d for LOG_DEBUG.
默认的时0-6级别的日志都会被记录,查看/etc/init.d/snmpd启动文件,有以下定义
1 2 3 4 5 |
|
snmpd启动文件定义了OPTIONS,启动文件中提到了/etc/sysconfig/snmpd,查看内容默认如下
1 2 3 |
|
因为/etc/sysconfig/snmpd优先级高于OPTIONS,所以可以直接修改配置文件即可,取消OPTIONS注释,修改如下
1 2 3 |
|
当然也可以直接修改/etc/init.d/snmpd启动文件中的OPTIONS
最后重启snmpd,使修改生效,就会发现messages的snmp的信息就相对少很多了,完成实际的需求。
参考文档:dyndns.org
–EOF–