利用snmpget自动捕获路由器温度并告警

发表于:2007-06-23来源:作者:点击数: 标签:
Dec 03,2002 同事管理的路由器cisco gsr上有一块板子总是出现温度告警,导致路由器死机(嘿嘿,cisco的东东,没法讲 ;) ) 开始想的是利用路由器的trap,但是发现这个不方便,不能指定超出多少度再告警。 干脆在solaris 利用free .net -snmp来自动捕获路由

   
  Dec 03,2002
  
  同事管理的路由器cisco gsr上有一块板子总是出现温度告警,导致路由器死机(嘿嘿,cisco的东东,没法讲 ;) )
  
  开始想的是利用路由器的trap,但是发现这个不方便,不能指定超出多少度再告警。
  

  干脆在solaris利用free.net-snmp来自动捕获路由器的板子温度,当温度超出指定值时(此处定义为60度),自动调用solaris上的播放器,播放鸡叫声(嘿嘿,让俺想起半夜鸡叫)
  
  ciscoEnvMonMib的oid是1.3.6.1.4.1.9.9.13,
  
  ciscoEnvMonTemperatureStatusValue对应的oid是1.3.6.1.4.1.9.9.13.1.3.1.3
  
  再找到板子对应的7
  
  ok,.1.3.6.1.4.1.9.9.13.1.3.1.3.7 is what we needed!
  
  
  呵呵,主要工作完成了,写个脚本,让系统自动来做这件事情吧,:)
  
  zhangli# more gsr.sh
  #!/bin/sh
  t=1
  while [ ¥t -gt 0 ]
  do
  X=`/bin/snmpget -c omithere ip.of.target.gsr .1.3.6.1.4.1.9.9.13.1.3.1.3.7│ /usr/xpg4/bin/awk \'{print ¥4}\' `
  if [ ¥X -gt 60 ]
  then
  cd /usr/dt/bin/;./sdtaudio -p /usr/demo/SOUND/sounds/rooster.au
  echo ¥X>>/var/grs/log
  sleep 54
  fi
  done
  
  完成,系统如果探测到路由器的板子温度超过60度,会每隔54秒发出一声雄壮的公鸡叫,呵呵

原文转自:http://www.ltesting.net