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

shell监控脚本-监控web server

[复制链接]

尚未签到

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

  •   cat chk_web.sh
  •   #!/bin/bash
  •   #
  •   #script_name:chk_web.sh
  •   #check web server 80 port
  •   #
  •   #last update 20130320 by dongnan
  •   #bbs# http://bbs.ywwd.net/
  •   #blog# http://dngood.blog.51cto.com
  •   #
  •   #curl -IL http://10.0.100.75/check.html 2>&1 | grep '200'
  •   #HTTP/1.1 200 OK
  •   #别忘了在你的web服务器创建一个check.html
  •   #variables
  •   curl=/usr/bin/curl
  •   usleep=/bin/usleep
  •   echo=/bin/echo
  •   sh_dir=/root/sh/
  •   crondir=${sh_dir}crontab
  •   check_count=5        #故障后检查次数
  •   fault_count=4        #故障次数大于(等于),则认为不可用
  •   options='--connect-timeout 1 -IL -A "check_www"'
  •   source ${sh_dir}CONFIG
  •   hosts="$LINUX_WEB_HOSTS"
  •   #main
  •   test -e "${crondir}/log" || mkdir -p "${crondir}/log"
  •   #主循环遍历机器
  •   for HOST in $hosts ;do
  •   flag_file=$crondir/log/"$HOST".web
  •   log=$crondir/log/web_error.log
  •   #curl真
  •   if $curl $options http://"$HOST"/check.html 2>&1 | grep '200' > /dev/null;then
  •   #flag真,解除报警
  •   if [ -f $flag_file ];then
  •   #sms
  •   #for mobile in $MOBILES; do
  •   #$echo "cdn_www ok" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode
  •   #$echo "cdn_www_index.html ok"
  •   #done
  •   #email
  •   for mail in $MAILS;do
  •   echo "$HOST 80 port ok" | mail -s "$HOST 80 port ok" $mail
  •   done
  •   #delete flag
  •   test -e "$flag_file" && rm -f "$flag_file"
  •   fi
  •   #curl假
  •   else
  •   #flag真,跳出循环(已报警)
  •   test -e $flag_file && continue
  •   check_failed=0
  •   #
  •   for((i=1;i&1 | grep '200' > /dev/null;then
  •   #变量加1
  •   ((check_failed++))
  •   #error.log
  •   $echo "$(/bin/date +'%F %T') $HOST $check_failed fault" >> "$log"
  •   #使用微妙或者秒
  •   $usleep 300000 || sleep 1
  •   fi
  •   done
  •   #大(等)于fault_count发送报警
  •   if [ "$check_failed" -ge "$fault_count" ];then
  •   #sms
  •   #for mobile in $MOBILES;do
  •   #$echo "www_cdn_index.html error" | /usr/local/bin/gammu --sendsms TEXT "$mobile" -unicode
  •   #/bin/date +'%F %T' && $echo "www_cdn_index.html error"
  •   #done
  •   #mail
  •   for mail in $MAILS;do
  •   echo "$HOST 80 port error" | mail -s "$HOST 80 port error" $mail
  •   done
  •   #log
  •   echo "$check_date $HOST web error" >> $log
  •   #flag
  •   $echo "cdn_www_index.html error" > "$flag_file"
  •   fi
  •   #主if结束
  •   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-553705-1-1.html 上篇帖子: linux shell 脚本之深入浅出的grep的用法 下篇帖子: linux下使用shell脚本自动化部署项目
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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