一.例如监控服务状态并发送钉钉告警
1.以下是定义钉钉告警发送目标
#!/bin/bash
###定义钉钉机器人work地址
webhook='http://oapi.dingtalk.com/robot/send?access_token=4ff92016951904d668485d760efef44a4012f1ea605ece99fe83168ccf4477a6'
###定义主题
cluster='冷备nginx(192.168.100.204)'
host=`hostname -I | awk '{print $1}'`
vip=$1
###请求钉钉
function SendMsgToDingding() {
curl $webhook -H 'Content-Type: application/json' -d "
{
'msgtype': 'text',
'text': {
'content': '请注意:$cluster\n告警信息: 报警报警报警!!!'
},
'at': {
'isAtAll': true
}
}"
}
SendMsgToDingding
2.定义监控脚本,如服务宕机之后触发报警
#!/bin/bash
# 监控的端口号
port=80
# 检查端口是否在监听
if netstat -ln | grep ":$port " >/dev/null; then
echo "服务已在运行中"
else
echo "服务未启动,正在报警..."
# 报警
sh /usr/local/nginx/sbin/asd.sh
echo "钉钉报警"
fi
3.效果图