前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >钉钉报警脚本

钉钉报警脚本

作者头像
summerking
发布2022-09-19 14:10:02
4710
发布2022-09-19 14:10:02
举报
文章被收录于专栏:summerking的专栏

# 1.调用格式

  • 案例1
代码语言:javascript
复制
[root@summer logs]# curl 'https://oapi.dingtalk.com/robot/send?access_token=841826a8168ea56e39fc79e62ea4efde3d93ea312996d0e5d6afb03b032eb6d4' \
>   -H 'Content-Type: application/json' \
>   -d '{"msgtype": "text", 
>     "text": {
>        "content": "我就是测试, 是不一样的烟火"
>     }
>    }'
{"errcode":0,"errmsg":"ok"}[root@summer logs]# 

  • 结果
  • 案例2
代码语言:javascript
复制
[root@summer logs]# curl 'https://oapi.dingtalk.com/robot/send?access_token=841826a8168ea56e39fc79e62ea4efde3d93ea312996d0e5d6afb03b032eb6d4' \
>    -H 'Content-Type: application/json' \
>    -d '{
>      "msgtype": "markdown",
>      "markdown": {
>          "title":"测试杭州天气",
>          "text": "#### 杭州天气 @156xxxx8827\n> 9度,西北风1级,空气良89,相对温度73%\n\n> ![screenshot](https://gw.alicdn.com/tfs/TB1ut3xxbsrBKNjSZFpXXcXhFXa-846-786.png)\n> ###### 10点20分发布 [天气](http://www.thinkpage.cn/) \n"
>      },
>     "at": {
>         "atMobiles": [
>             "156xxxx8827", 
>             "189xxxx8325"
>         ], 
>         "isAtAll": false
>     }
>  }'
{"errcode":0,"errmsg":"ok"}[root@summer logs]# 

  • 结果

# 2.实践

模仿当前nginx进程挂机 则启动钉钉报警 执行效果:

代码语言:javascript
复制
[root@summer ~]# vim dingding.sh 
[root@summer ~]# ./dingding.sh -x
{"errcode":0,"errmsg":"ok"}[root@summer ~]#

# 3.脚本如下

代码语言:javascript
复制
#!/bin/bash
ip=192.168.0.1
webhook='https://oapi.dingtalk.com/robot/send?access_token=841826a8168ea56e39fc79e62ea4efde3d93ea312996d0e5d6afb03b032eb6d4'
#检测nginx(注意修改端口)
curtime=$(date "+%Y-%m-%d %H:%M:%S")
checkNginx=`lsof -i:80 |grep 'nginx' |grep -v grep |grep -v agent|sort | tail -1 | cut -f 1 -d ' '`
SendMsgToDingding1() {
    curl $webhook -H 'Content-Type: application/json' -d "
    {
        'msgtype': 'text',
        'text': {
            'content': '测试时间:$curtime\n Ip地址:$ip\n 告警信息:nginx服务出现问题正在重启,请注意\n'
        },
        'at': {
            'isAtAll': true
        }
    }"
}

SendMsgToDingding2() {
    curl $webhook -H 'Content-Type: application/json' -d "
    {
        'msgtype': 'text',
        'text': {
            'content': '测试时间:$curtime\n Ip地址:$ip\n 告警信息:nginx服务重启成功,请注意\n'
        },
        'at': {
            'isAtAll': true
        }
    }"
}

SendMsgToDingding3() {
    curl $webhook -H 'Content-Type: application/json' -d "
    {
        'msgtype': 'text',
        'text': {
            'content': '测试时间:$curtime\n Ip地址:$ip\n 告警信息:nginx服务重启失败,请注意\n'
        },
        'at': {
            'isAtAll': true
        }
    }"
}

SendMsgToDingding4() {
    curl $webhook -H 'Content-Type: application/json' -d "
    {
        'msgtype': 'text',
        'text': {
            'content': '测试时间:$curtime\n Ip地址:$ip\n 告警信息:nginx服务正常,请注意\n'
        },
        'at': {
            'isAtAll': true
        }
    }"
}

if [[ $checkNginx != 'nginx' ]]; then
    SendMsgToDingding1
    /usr/sbin/nginx 
    if [ $? -eq 0 ]; then
        SendMsgToDingding2
    else
        SendMsgToDingding3
    fi
else
    SendMsgToDingding4
# else
#     SendMsgToDingding4
fi

# 4.加入定时任务

代码语言:javascript
复制
[root@summer ~]# crontab -l
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
*/1 * * * * cd /root && ./dingding.sh >/dev/null 2>&1

# 5.验证

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2020-06-10,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • # 1.调用格式
  • # 2.实践
  • # 3.脚本如下
  • # 4.加入定时任务
  • # 5.验证
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档