1. Linux服务器可以很方便地开启snmpd监控,但是经常查看日志的管理员会发现,默认情况下/var/log/message中会生成大量的SNMPD的日志:   
  2.     
  3. Jul  1 09:50:04 doghouse snmpd[4159]: Connection from UDP: [10.0.1.10]:59768  
  4. Jul  1 09:50:05 doghouse snmpd[4159]: Connection from UDP: [10.0.1.10]:56329  
  5. Jul  1 09:50:05 doghouse snmpd[4159]: Connection from UDP: [10.0.1.10]:42126  
  6. Jul  1 09:50:05 doghouse snmpd[4159]: Connection from UDP: [10.0.1.10]:47950  
  7. Jul  1 09:50:05 doghouse snmpd[4159]: Connection from UDP: [10.0.1.10]:36634  
  8. Jul  1 09:50:05 doghouse snmpd[4159]: Connection from UDP: [10.0.1.10]:52677  
  9. Jul  1 09:50:05 doghouse snmpd[4159]: Connection from UDP: [10.0.1.10]:44864  
  10. Jul  1 09:50:05 doghouse snmpd[4159]: Connection from UDP: [10.0.1.10]:54498  
  11.    
  12. 无用的信息太多了。不想看到这些多链接信息可以调整一下snmpd的debug级别:   
  13.    
  14. # echo "OPTIONS=\"-LS0-3d -Lf /dev/null -p /var/run/snmpd.pid\"" >> /etc/sysconfig/snmpd  
  15.    
  16. 或者直接改启动脚本   
  17.   
  18. vi /etc/init.d/snmpd   
  19.    
  20. 找到这一项   
  21. OPTIONS="-Ls0-7d -Lf /dev/null -p /var/run/snmpd.pid"   
  22.    
  23. 改为   
  24. OPTIONS="-LS0-3d -Lf /dev/null -p /var/run/snmpd.pid"   
  25.  
  26. 这个配置两个关键部分应该这样解读:   
  27.     
  28. 1.第一部分"-LS0-7d"   
  29.     
  30. -LS  将log记录到syslog文件中,按照定义的priority和facility的组合筛选日志消息。   
  31.    
  32. 语法为:  -LS priority facility,注意是大写的S!!! -LS是组合priority和facility的唯一方法!!!   
  33.   
  34. snmpd日志等级的定义:
  35.    
  36. 0 或 ! —- LOG_EMERG   
  37. 1 或 a —- LOG_ALERT   
  38. 2 或 c —- LOG_CRIT   
  39. 3 或 e —- LOG_ERR   
  40. 4 或 w —- LOG_WARNING   
  41. 5 或 n —- LOG_NOTICE   
  42. 6 或 i —- LOG_INFO   
  43. 7 或 d —- LOG_DEBUG  
  44.   
  45. facility 可选的项目有:  
  46. 'd' ---LOG_DAEMON   
  47. 'u'---LOG_USER  
  48. '0'-'7' LOG_LOCAL0到LOG_LOCAL7  
  49.   
  50. 例子中的0-7d说明了: 记录所有级别DAEMON产生的日志  
  51.  
  52.      【4d----凡是WARNING以上级别的,DAEMON产生的日志进行记录,其他低级别日志忽略掉。】   
  53.     
  54. 2.第二部分"-Lf /dev/null"   
  55.     
  56. 这个很简单,-Lf 参数指定了log存储的文件,除了上边要记入syslog的日志以外,其他日志直接导入到/dev/null中忽略掉。   
  57.     
  58. 那么上边这个OPTIONS="-LS4d -Lf /dev/null -p /var/run/snmpd.pid"应该写在哪里呢?   
  59.     
  60. 在RHEL 6.0之前,是加在/etc/sysconfig/snmpd.options   
  61. 在RHEL 6.0之后,是加在/etc/sysconfig/snmpd   
  62. 在FreeBSD里是写入到rc.conf,snmpd_flags=”-Lf /dev/null -LS4d”   
  63.    
  64. 3.另外,如果需要将snmp日志从syslog中分开,可以采用下边方法: 
  65.   
  66. 首先在/etc/syslog.conf中设定local0这个facility   
  67. local0.* /var/log/snmpd.log   
  68. 然后在配置中增加如下一行即可,至于如何解读,请各位参考上边。   
  69. OPTIONS="-LS40 -A -Lf /dev/null -p /var/run/snmpd.pid"   
  70.  
  71. 4.最后别忘了重启服务  
  72.  
  73. [root@localhost log]# service snmpd restart  
  74. [root@localhost log]# ps -ef |grep snmpd 
  75. root     21943     1  0 13:30 ?        00:00:00 /usr/sbin/snmpd -LS0-3d -Lf /dev/null -p /var/run/snmpd.pid 
  76. root     22243 21821  0 14:00 pts/3    00:00:00 grep snmpd 
  77. [root@localhost log]#