且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

snmpd:last message repeated N time

更新时间:2022-09-18 12:29:17

解决日志Jun 8 13:30:49 SERVER last message repeated 8 times 大量警告信息

这只是警告.不算是错误.

修改了snmpd脚本
/etc/init.d/snmpd
[code]
if [ -e /etc/snmp/snmpd.options ]; then
  . /etc/snmp/snmpd.options
else
   OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a"
fi
[/code]

man 一下
-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).

-Lf FILE
              Log messages to the specified file.

Lsd 就是记录日志 Lf也就是输出信息到指定文件.脚本里是/dev/null 也就是不记录了.

OPTIONS="-Lf /dev/null -p /var/run/snmpd.pid -a"

我修改并重启:/etc/init.d/snmpd restart

唐僧不再唠叨,世界终于清净了。..可是却没清净,nagios开始报警了.短信也来了.
一看,刚修改的本机ssh坏了.

SSH
    
Notifications for this service have been disabled    Perform Extra Service Actions
    CRITICAL     06-25-2009 11:21:37     0d 3h 32m 51s     4/4     Server answer: 

还好只是内网IP受影响,外网IP能直接连接.连接进去后.
发现内网IP无法SSH telnet 也不正常,ping 正常
lsmod 网卡模块加载正常
/sbin/ethtool eth1 
/sbin/nii-tool eth1 
工作正常
dmesg ...一大堆问题.

error如下:
NET: 24 messages suppressed.
Neighbour table overflow.

谷歌了一下...用的opendns才能上.和谐啊.
http://www.linuxforum.net/forum/showflat.php?Cat=&Board=proxy&Number=502523&page=&view=&sb=&o=&vc=1

# uname -a 

# cd /proc/sys/net/ipv4/neigh/default 
# for i in `echo *`; do echo -n $i" <==> "; cat $i; done 

when the "overflow" occurs 
# ip neigh show 

查看信息都很正常. 这都是费话,内网IP那来的攻击什么的.
上面的信息可以做如下修改解决:
echo 1024 > /proc/sys/net/ipv4/neigh/default/gc_thresh1
echo 2048 > /proc/sys/net/ipv4/neigh/default/gc_thresh2
echo 4096 > /proc/sys/net/ipv4/neigh/default/gc_thresh3

感觉不是这方面的故障.继续回到查看..停掉eth1看下.
/sbin/ifdown eth1
提示/dev/null 设备未知 

# ll /dev/null
srwxr-xr-x 1 root root 0 06-25 14:18 /dev/null 

s ? 
本机看了下文件权限
ll /dev/null 
crw-rw-rw-  1 root root 1, 3 Jul 16  2008 /dev/null


修改snmpd会修改/dev/null ? 
先重建一下吧.

cd /dev
mv null null.bk
mknod null c 1 3 
chmod 666 null 

OK 其它一切正常.

把snmpd的值再修改回去.重启.都正常了.
但我感觉snmpd不会去改设备文件啊.再做一次实验.
修改  OPTIONS="-Lsd -Lf /dev/null -p /var/run/snmpd.pid -a"
只要改成-Lf 故障又出现.


搞不懂它为什么要去修改/dev/null  
-Lf 指定文件,我想:它必须是可写可操作的文件.而/dev/null是字符文件
所以它就改了~~


随后再man snmpcmd

在output options 
里有

       -Le    Log messages to the standard error stream.

我想改为Le就可以了。只输出错误信息。而

last message repeated N time 只是警告而已



本文转自守住每一天51CTO博客,原文链接:http://blog.51cto.com/liuyu/170063,如需转载请自行联系原作者