SHELL创建钉钉群接入机器人推送报警信息|text|markdown
步骤一:获取自定义机器人Webhook
-
选择需要添加机器人的群聊,然后依次单击群设置 > 智能群助手。
-
在机器人管理页面选择自定义机器人,输入机器人名字并选择要发送消息的群,同时可以为机器人设置机器人头像。
-
完成必要的安全设置,勾选我已阅读并同意《自定义机器人服务及免责条款》,然后单击完成。
-
完成安全设置后,复制出机器人的Webhook地址,可用于向这个群发送消息,格式如下:
https://oapi.dingtalk.com/robot/send?access_token=XXXXXX
注意:请保管好此Webhook 地址,不要公布在外部网站上,泄露后有安全风险。
2.使用SHELL发送text消息类型报警信息
1.脚本如下:
#!/bin/bash
#标题 title='ECS服务器监控'
#求年-月-日 time="$(date "+%Y-%m-%d")"
#求时:分:秒 times="$(date "+%H:%M:%S")"
#求星期 xingqi="$(date "+%A")"
#求ip ip=$(ifconfig | grep inet | awk 'NR==3{print $2}')
#求磁盘大小 lsblk=$(df -h / | awk '{print $5}' | tail -n 1 ) url="https://oapi.dingtalk.com/robot/send?access_token=7a067f612173db2609069ee6d4c273f2c8替换自己的token4ae" curl $url \ -H 'Content-Type: application/json' \ -d '{"msgtype": "text", "at": { "atMobiles":[ "1875xxxxxx3" ], "isAtAll": false }, "text": { "content":" 项目:'$title' 报警时间:'${time}' '${times}' '${xingqi}' 监控ip:'${ip}' 磁盘空间大小:'${lsblk}'"} }'注意点:报警内容中不可以包含空格,$(date "+%Y-%m-%d %H:%M:%S") 会报错,分开获取。text模式不支持图片
2.效果图:
3.使用SHELL发送markdown消息类型报警信息
1.脚本如下:
#!/bin/bash title='ECS服务器监控' time="$(date "+%Y-%m-%d")" times="$(date "+%H:%M:%S")" xingqi="$(date "+%A")" ip=$(ifconfig | grep inet | awk 'NR==3{print $2}') lsblk=$(df -h / | awk '{print $5}' | tail -n 1 ) mem=$(free | grep Mem | awk '{print $3/$2 * 100.0}') cpu=$(top -b -n1 | grep "Cpu(s)" | awk '{print $2}') images="/home/shell/script/.city.jpg" url="https://oapi.dingtalk.com/robot/send?access_token=7a067f612173db2609069ee6d4c273f2c8dc752815f替换自己的token ae" curl $url \ -H 'Content-Type: application/json' \ -d '{ "msgtype": "markdown", "markdown": {"title":"ECS服务器监控", "text":"![screenshot](https://images.cnblogs.com/cnblogs_com/blogs/718800/galleries/2294157/o_230330085502_1.png) \n **监控项**: <font color=\"#0000FF\">'${title}'</font>\n **报警时间**: <font color=\"#0000FF\">'${time}' '${times}' '${xingqi}' </font>\n **监控ip**: <font color=\"#0000FF\">'${ip}' </font>\n **报警项:** <font color=\"#FF0000\">磁盘空间使用率</font> \n **磁盘空间使用率:** <font color=\"#FF0000\">'${lsblk}'</font> \n **内存使用率**: <font color=\"#FF0000\">'${mem}'%</font> \n **CPU使用率**: <font color=\"#FF0000\">'${cpu}'%</font> \n @1875xxxxx13 \n [来源地址](http:\\www.baidu.com) \n > 来自iPhone16的监控. " }, "at":{ "atMobiles":[ "1875xxxxx3" ], "atUserIds": [ "admin" ], "isAtAll": false } } '
注意点:@的电话需要再次在text中被定义,图片只支持网络地址,不支持服务器本地地址,获取网络图片地址,把照片上传到博客园相册,打开相册中的图片,右键新标签打开图片,F12可以看到图片的网络地址。
2.运行效果: