Chinaunix首页 | 论坛 | 博客
  • 博客访问: 89146
  • 博文数量: 24
  • 博客积分: 2396
  • 博客等级: 上尉
  • 技术积分: 205
  • 用 户 组: 普通用户
  • 注册时间: 2010-04-28 18:36
文章分类

全部博文(24)

文章存档

2011年(14)

2010年(10)

分类: LINUX

2011-12-16 15:23:59

HTTP服务器监控
#!/bin/sh
LANG=C
#被监控服务器、端口列表
server_all_list=(\
192.168.1.1:80 \
192.168.1.2:80 \
192.168.1.3:80 \)
date=$(date -d "today" "%Y-%m-%d_%H:%M:%S")
#采用HTTP POST方式发送检测信息给接口程序interface.php,接口程序负责分析信息,决定是否发送报警MSN消息、手机短信、电子邮件。
send_msg_to_interface(){   
  /usr/bin/curl -m 600 -d menu=http -d date=$date -d ip=$server_ip -d port=$server_port -d status=$status
http://127.0.0.1:8888/monitor.jsp
}
server_all_len=${#server_all_list[*]}
i=0
while  [ $i -lt $server_all_len ]
do
   server_ip=$(echo ${server_all_list[$i]} | awk -F ':' '{print $1}')
   server_port=$(echo ${server_all_list[$i]} | awk -F ':' '{print $2}')
   if curl -m 10 -G http://${server_all_list[$i]}/ > /dev/null 2>&1
   then
     #status:    0,http down    1,http ok    2,http down but ping ok
     status=1
           echo "服务器${server_ip},端口${server_port}能够正常访问!"
   else
       if curl -m 30 -G http://${server_all_list[$i]}/ > /dev/null 2>&1
       then
           status=1
           echo "服务器${server_ip},端口${server_port}能够正常访问!"
       else
           if ping -c 1 $server_ip > /dev/null 2>&1
           then
               status=2
               echo "服务器${server_ip},端口${server_port}无法访问,但是能够Ping通!"
     else
         status=0
               echo "服务器${server_ip},端口${server_port}无法访问,并且无法Ping通!"
     fi
  fi
fi

send_msg_to_interface
 let i++
done
阅读(1610) | 评论(0) | 转发(0) |
0

上一篇:mysql 双机热备配置详解

下一篇:没有了

给主人留下些什么吧!~~