设为首页 收藏本站
查看: 843|回复: 0

shell监控脚本-监控网络

[复制链接]

尚未签到

发表于 2018-8-19 08:59:22 | 显示全部楼层 |阅读模式
  shell监控脚本-监控网络
  注意:请先参考 shell监控脚本-准备工作,监控脚本在 rhel5/6 下测试正常,其它版本的linux 系统请自行测试
  #监控网络

  •   cat chk_ping.sh
  •   #!/bin/bash
  •   #
  •   #script_name:chk_ping.sh
  •   #check network
  •   #
  •   #last update 20130320 by dongnan
  •   #bbs# http://bbs.ywwd.net/
  •   #blog# http://dngood.blog.51cto.com
  •   #lost
  •   # ping -f -c 20  202.013.191.31
  •   #PING 202.013.191.31 (202.11.191.31) 56(84) bytes of data.
  •   #....................
  •   #--- 202.013.191.31 ping statistics ---
  •   #20 packets transmitted, 0 received, 100% packet loss, time 236ms
  •   #delay
  •   # ping -f -c 20 199.192.152.2
  •   #PING 199.192.152.2 (199.192.152.2) 56(84) bytes of data.
  •   #--- 199.192.152.2 ping statistics ---
  •   #20 packets transmitted, 20 received, 0% packet loss, time 227ms
  •   #rtt min/avg/max/mdev = 266.758/268.957/272.593/1.787 ms, pipe 20, ipg/ewma 11.959/269.829 ms
  •   #
  •   #variables
  •   ping=/bin/ping
  •   delay_limit=100
  •   loss_limit=20
  •   sh_dir=/root/sh/
  •   crondir=${sh_dir}crontab
  •   source ${sh_dir}CONFIG
  •   user=`id -u`
  •   hosts="$ALLHOSTS"
  •   #main
  •   #root权限
  •   if [ "$user" -ne 0 ];then
  •   echo "must root !!"
  •   exit 1
  •   fi
  •   #主循环遍历机器
  •   for HOST in $hosts ;do
  •   flag_ping_file="$crondir/log/$HOST.ping"
  •   error_log="$crondir/log/ping_error.log"
  •   #true
  •   if ! $ping -W 2 -f -c 10 $HOST > $crondir/log/ping.log 2>&1;then
  •   grep "packet loss" $crondir/log/ping.log >$crondir/log/ping.loss
  •   #返回值0,定义delay 与 loss 变量
  •   loss=`awk '{print $6}' $crondir/log/ping.loss | awk -F% '{print $1}'`
  •   #loss 大于规定限制,则发送报警邮件
  •   if [ "$loss" -ge "$loss_limit" ];then
  •   if [ ! -f $flag_ping_file ];then
  •   #sms
  •   #for mobile in $MOBILES;do
  •   #echo "Monitor to $HOST delay $delay'ms;$loss% packet loss" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode
  •   #done
  •   #mail
  •   for mail in $MAILS;do
  •   echo "Monitor to $HOST $loss% packet loss" | mail -s "$HOST lost" $mail
  •   done
  •   #log
  •   date +'%F %T' >>$error_log
  •   cat $crondir/log/ping.log >>$error_log
  •   #生成flag文件
  •   echo "$HOST network error" >$flag_ping_file
  •   fi
  •   fi
  •   #false
  •   else
  •   #loss 小于规定限制,则发送解除报警邮件
  •   if [ -f $flag_ping_file ];then
  •   #sms
  •   #for mobile in $MOBILES;do
  •   #echo "$HOST network ok"|/usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode
  •   #done
  •   #mail
  •   for mail in $MAILS;do
  •   echo "$HOST network ok" | mail -s "$HOST network ok" $MAILS
  •   done
  •   #delete flag
  •   rm -f $flag_ping_file
  •   fi
  •   #
  •   fi
  •   #
  •   done
  结束
  更多请:
  linux 系统运维  37275208
  vmware 虚拟化  166682360



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.iyunv.com/thread-553696-1-1.html 上篇帖子: shell wait的用法(确定执行完函数a再执行函数b) 下篇帖子: 精讲shell基础以及如何高效的学习shell编程
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表