shell脚本监控http状态,有问题钉钉报警提示
钉钉建立一个群,然后点击设置添加一个机器人,机器人中设定自定义关键字(监控警告)
然后复制token到下列代码
记得先建立http_url.txt
由于是nginx起的服务,所以nginx没有设置自动启动,如果出现主机重启,会第一时间通知,随后手动再启动服务
[root@mail data]# cat http_health.sh
#!/bin/bash
#返回状态码不是200,都视为异常
#http_url.txt存放url地址
pwd=/data
http_url=`cat $pwd/http_url.txt`
for url in $http_url;do
fail_count=0
status_code=`curl -s -o /dev/null $url -w "%{http_code}\n"`
#time=$(date "+%Y-%m-%d %H:%M:%S")
for ((i=0;i<=3;i++));do
if [ $status_code -ge 200 ];then
#echo "访问成功!$url"
break
else
let fail_count++
fi
done
time=$(date "+%Y-%m-%d %H:%M:%S")
if [ $fail_count -ge 3 ];then
curl 'https://oapi.dingtalk.com/robot/send?access_token=xxxxxx' -H 'Content-Type: application/json' -d "{'msgtype': 'text','text': {'content':'监控告警!!!\nhttp地址: $url 无法正常访问,请及时查看!\n访问时间: $time \n'},'at': {'isAtAll':true}}"
fi
done
以上借鉴https://blog.csdn.net/weixin_46031767/article/details/125785923