分享

ping检测网络报警丢包率平均延时

 小强技术馆 2013-12-28
ping监视网络是否可到达shell(邮件报警)
#!/bin/bash
##By Leif Updated:2008-07-03 AM

# add ip / hostname separated by while space
HOSTS=”221.179.216.130 221.179.216.131 218.204.252.100 218.204.252.81 218.204.252.82 218.204.252.96 218.204.252.83 218.204.252.96 21
8.204.252.83 218.204.252.98 218.204.252.87 218.204.252.87 218.204.252.97 218.204.252.101 218.204.252.102 218.204.252.96″

# no ping request
COUNT=1

EMAILID=”liangliwen@139.com”
for myHost in $HOSTS
do
count=$(ping -c $COUNT $myHost | grep ‘received’ | awk -F’,’ ‘{ print $2 }’ | awk ‘{ print $1 }’)
if [ $count -eq 0 ]; then
# 100% failed
echo “Host : $myHost is down (ping failed) at $(date)” | email -b -s “$myHost ping is faild” $EMAILID
fi
done

exit 0

ping发现掉包报警shell
#!/bin/bash
##By Leif Updated:2008-07-16 AM

PING=`which ping`
RM=`which rm`
DATE=`date +%Y%m%d%H%M`
TAIL=`which tail`
LOG=./ping$DATE.log

# add ip / hostname separated by while space
HOSTS=”www.a.com www.b.com 202.96.133.33″

COUNT=200

# email report when
for myHost in $HOSTS
do
count=$(ping -c $COUNT $myHost | grep ‘loss’ | awk -F’,’ ‘{ print $3 }’ | awk -F “%” ‘{ print $1 }’)
if [ $count -ge 10 ]; then
/usr/local/email/bin/email -b -s “$myHost pingispacketloss>10%$DATE” abc@abc.com
fi
done

exit 0

复制上以上内容为ping.sh加入crontab中让其10分钟跑一次,其中发邮件程序为email

ping 取平均值及丢包率的shell用途:测试IP 地址响应时间及丢包并记录 内容如下

#!/bin/bash
PING=`which ping`
RM=`which rm`
TAIL=`which tail`
HK=/tmp/hk.log
CN=/tmp/cn.log
IP1=www.baidu.com
IP2=www.google.cn
DATE=`date -d today +"%Y-%m-%d %H:%M:%S"`
$RM -f /tmp/ping.log
$PING $IP1 -c 2 >$HK
$PING $IP2 -c 2 >$CN

##Get ping avg
HKPINGAVG=`$TAIL -1 $HK | awk '{ print $4 }' | awk -F "/" '{ print $2 }'`
CNPINGAVG=`$TAIL -1 $CN | awk '{ print $4 }' | awk -F "/" '{ print $2 }'`

##Geg Loss pages
HKPINGLOSS=`grep loss $HK |awk -F "," '{print $3}' |awk '{print $1}'`
CNPINGLOSS=`grep loss $CN |awk -F "," '{print $3}' |awk '{print $1}'`

##echo log to file
echo -e "$DATE\n\tpingavg\t\tping loss\nBD:\t$HKPINGAVG\t\t$HKPINGLOSS\nGG:\t$CNPINGAVG\t\t$CNPINGLOSS" >>/tmp/ping.log


##del tmp file and exit
$RM -f $HK
$RM -f $CN
/usr/bin/mutt -s "ping平均延时丢包率" 15880902717@139.com < /tmp/ping.log
/usr/bin/mutt -s "ping平均延时丢包率" 13705061747@139.com < /tmp/ping.log
exit 0


取出的/tmp/ping.log内容应如下

Tue May 27 13:56:37 CST 2008
        pingavg         ping loss
HK:     32.011          0%
CN:     48.203          0%
转自:http://www./post/5/

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多