linux下利用curl监控web应用状态
2016-05-31 18:08
375 查看
监控机器列表文件:
server.list
建立监控脚本: webstatus.sh
crontab -e 定时执行脚本。
server.list
建立监控脚本: webstatus.sh
#!/bin/sh monitor_dir=/home/admin/monitor/ #Log记录目录 if [ ! -d $monitor_dir ]; then mkdir $monitor_dir fi cd $monitor_dir web_stat_log=web.status #Log文件 if [ ! -f $web_stat_log ]; then touch $web_stat_log fi server_list_file=server.list #读取文件列表 if [ ! -f $server_list_file ]; then echo "`date '+%Y-%m-%d %H:%M:%S'` ERROR:$server_list_file NOT exists!" >>$web_stat_log exit 1 fi #total=`wc -l $server_list_file|awk '{print $1}'` for website in `cat $server_list_file` do url="http://$website/app.htm" #Url地址,从server.list 里读取 server_status_code=`curl -o /dev/null -s -m 10 --connect-timeout 10 -w %{http_code} "$url"` if [ "$server_status_code" = "200" ]; then echo "`date '+%Y-%m-%d %H:%M:%S'` visit $website status code 200 OK" >>$web_stat_log else echo "`date '+%Y-%m-%d %H:%M:%S'` visit $website error!!! server can't connect at 10s or stop response at 10 s, send alerm sms ..." >>$web_stat_log echo "!app alarm @136xxxxxxxx server:$website can't connect at 10s or stop response at 10s ..." | nc smsserver port & fi done exit 0
crontab -e 定时执行脚本。
相关文章推荐
- 【linux】umask
- 【Linux运维入门】PSSH-轻量集群管理工具
- 解决android系统唤醒时间偏长------如何在android的linux kernel中获取系统时间
- Linux下gcc生成和使用静态库和动态库详解
- Linux _常用命令使用(二)
- linux split 及优化
- CentOS 6.4 搭建 Java 开发环境详解
- 几个Linux命令
- 如何安装linux mint/ubuntu windows系统
- linux ftp设置
- terminator 安装与配置
- awk、gawk、nawk、mawk的简单介绍
- Linux命令(一)
- windows下文件路径与Linux下文件路径的比较
- centos安装MYSQL 5.6
- linux --> Autoconf和Automake使用
- Linux下yum的基本使用
- linux select()详解( 二)-- UDP最简实例
- Linux命令文件分离之SeparatePackageTool.sh
- Linux进程控制块 task_struct