php接口监控报警,shell报警监控频率监控

#!/bin/sh

# Author:       xxx

# Purpose:      Moniter the web status, send a alert mail when it's not available.

export LANG=C

EMAIL=xxx@gmail.com,xxx@qq.com

LOG_FILE="/var/monitor/log/web_status_`date '+%Y%m'`.log"

TMP_EMAIL="/var/monitor/.tmp.mail.`date '+%s'`"

URL="$1" # DO NOT CHANGE IT.

if [ $2 ]

then

sleep $2

fi

# Define function "ECHO", append the timestamp at the head of every record.

ECHO () {

printf "%s " `date '+%Y-%m-%d %H:%M:%S'`

echo $1

}

# Define function HTTP_CODE, obtain the status of web service.

HTTP_CODE () {

http_code=`curl -m 20 -o /dev/null -s -w %{http_code} $URL`

}

# Define function MAIL.

MAIL () {

echo "$URL is not available now, pls pay attention." > $TMP_EMAIL

echo "And the Server 's time is: " >> $TMP_EMAIL

date >> $TMP_EMAIL

echo >> $TMP_EMAIL

echo "------" >> $TMP_EMAIL

echo "BR" >> $TMP_EMAIL

echo "Shell Robot." >> $TMP_EMAIL

mail -s "Server Alert: $URL" $EMAIL < $TMP_EMAIL

rm $TMP_EMAIL

}

n=0

HTTP_CODE

if [ $http_code -eq 200 ]

then

ECHO "|http_code:200|+$n|webpage visit success.|$URL" >> $LOG_FILE

else

while [ $http_code -ne 200 ]

do

n=`expr $n + 1 `

ECHO "|http_code:$http_code|+$n|webpage visit failed. |$URL" >> $LOG_FILE

if [ $n -eq 5 ]; then

MAIL $1; exit 0

fi

sleep 20

HTTP_CODE

done

fi

# THE END.

crontab -e

*/2 * * * * /root/mo/3.sh http://qqq.com

*/2 * * * * /root/mo/3.sh http://new.qq.com

*/2 * * * * /root/mo/3.sh http://www.11com/index.html

*/2 * * * * /root/mo/3.sh http://bbs.22.com/forum.php

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值