linux shell mysql&nbsp…

以下实例从mysql 读取需要监控IP地址列表,通过snmpwalk返回交换机名称,如果不为空说明交换机在线,如果为空说明掉线。然后将交换机状态写入mysql数据库,如果设备不在线则记录告警列表。

本文使用了两个存储过程,大家可以根据自己需要,完成自己的mysql存储过程。

 

#!/bin/bash

iplist=$(mysql -usnmp -ppasswd -Dsnmp -e "select CONCAT(Community,',',IpAddress) as snmpstr from OLTLIST;")
declare  -A snmpcmd
declare  -A oltstatus
for ipstr in  ${iplist};do
ip=${ipstr#*,};
cmd="snmpwalk -v 2c -c "${ipstr/,/' '}" SNMPv2-MIB::sysName.0"
snmpcmd[$ip]=${cmd}
done

for key in ${!snmpcmd[@]}
do
if [[ $key == *\.* ]];then
oltstatus[$key]=$(${snmpcmd[$key]}  &)
fi
done
#insert and update olt status to mysql database
#mysql -usnmp -ppasswd-D snmp -e "use snmp;"
for key in ${!oltstatus[@]}
do
if [ "${#oltstatus[$key]}" -eq 0 ];then
oltstatus[$key]=0
else
oltstatus[$key]=1
fi
mysql -usnmp -ppasswd-Dsnmp <<EOF
call update_unit_onlie_satus('${key}',${oltstatus[$key]});
EOF
done
#man alarm by procedure
mysql -usnmp -ppasswd-Dsnmp <<EOF
call man_alarm();
EOF

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值