Shell脚本监控服务存活状态及异常,并触发钉钉webhook报警
(1)首先在钉钉中添加webhook自定义机器人
(2)编写sh脚本,测试发送内容 。 vim ddSend.sh 将下面内容复制进去
curl "https://oapi.dingtalk.com/robot/send?access_token=xxxxxx" -H 'Content-Type: application/json' -d '{"msgtype": "text", "text": { "content": "服务可能发生异常,请注意查看日志!" } }'
(3)编写触发日志报警的脚本 vim checkLog.sh,比如说监控发生 RuntimeException次数超过0次的;如果条件符合则触发第二步写的 ddSend.sh脚本,命令为souce
#! /bin/bash count=$(less /usr/local/src/logs/info.log|grep 'RuntimeException:'|wc -l) echo 'the count: ' $count if (($count > 0));then echo 'send' source /home/script/ddSend.sh fi echo 'end'
或者:# ps -ef |grep jar |grep -v grep |wc -l 检查java进程是否存活,比如count=0,说明服务已经挂掉
(4)最后一步,利用linux系统本身的 定时任务,执行这个触发日志报警的任务 crontab -e,我们暂时用每15分钟执行一次 举例
*/15 * * * * /home/script/checkLog.sh
(5)如果服务宕掉或者有异常发生,将会触发 报警,效果如下:
至此,一个简单又实用的监控就实现啦。如果对您有帮助,动动小手点个赞吧。