浅谈Python 钉钉报警必备知识系统讲解
(编辑:jimmy 日期: 2024/11/17 浏览:3 次 )
本章所讲内容:
1、钉钉报警设置
2、钉钉报警脚本运行。
1、钉钉报警设置
钉钉,关于webhook的报警需求,钉钉报警也是我们在公司中常见的报警系统,在这里主要是结合zabbix二次开发使用,来达到完美报警的使用。
1.1、钉钉报警第一步,创建群机器人
接口地址:
https://oapi.dingtalk.com/robot/send"text-align: center">
文档地址:
https://open-doc.dingtalk.com/docs/doc.htm"htmlcode">
import requests import json url = 'https://oapi.dingtalk.com/robot/send"Content-Type": "application/json", "Chartset": "utf-8" } #要发送的文本是json格式 request_data = { #此消息的类型为固定的text "msgtype": "text", "text": { #消息的内容 "content": "大家新年快乐" }, "at": { #被@人的手机号 "atMobiles": [], #控制@所有人 "isAtAll": True } } #把json转变为字符串格式数据 send_data = json.dumps(request_data) #这个是发送post请求,请求钉钉接口 response = requests.post(url=url,headers=headers,data=send_data) #讲求成功后返回的数据 content = response.content.decode() #打印 # 课程 vip 标准 # 替换 视频 print(content)
第二步进行接口开发
2、修改结构,具体操作
import sys import json import requests url = 'https://oapi.dingtalk.com/robot/send"Content-Type": "application/json", "Chartset": "utf-8" } request_data = { "msgtype": "text", "text": { "content": content }, "at": { "atMobiles": [], "isAtAll": True } } sendData = json.dumps(request_data) response = requests.post(url = url,headers = headers,data = sendData) content = response.content.decode() print(content) if __name__ == "__main__": content = input('请输入想要的信息') # content = sys.argv[1] WriteLogByDing(content)
1.2.2 发送带有链接的文档
import requests import json url = 'https://oapi.dingtalk.com/robot/send"Content-Type": "application/json", "Chartset": "utf-8" } #要发送的文本是json格式 request_data = { #发送链接类型的数据 "msgtype": "link", "link": { #链接提示 "text":"群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。", #链接标题 "title": "自定义机器人协议", #图片url地址 "picUrl": "http://p3.so.qhmsg.com/sdr/200_200_/t013d7a21145c708288.jpg", #信息的链接跳转 "messageUrl": "https://open-doc.dingtalk.com/docs/doc.htm" } } #把json转变为字符串格式数据 send_data = json.dumps(request_data) #这个是发送post请求,请求钉钉接口 response = requests.post(url=url,headers=headers,data=send_data) #讲求成功后返回的数据 content = response.content.decode() #打印 # 课程 vip 标准 # 替换 视频 print(content)
1.2.3 发送makedown文档
import requests import json url = 'https://oapi.dingtalk.com/robot/send"Content-Type": "application/json", "Chartset": "utf-8" } #要发送的文本是json格式 request_data = { "msgtype": "markdown", "markdown": {"title":"杭州天气", "text":"#### 杭州天气 \n > 9度, 西北风1级,空气良89,相对温度73%\n\n > ![screenshot](http://i01.lw.aliimg.com/media/lALPBbCc1ZhJGIvNAkzNBLA_1200_588.png)\n > ###### 10点20分发布 [天气](http://www.thinkpage.cn/) " }, "at": { "atMobiles": [], "isAtAll":False } } #把json转变为字符串格式数据 send_data = json.dumps(request_data) #这个是发送post请求,请求钉钉接口 response = requests.post(url=url,headers=headers,data=send_data) #讲求成功后返回的数据 content = response.content.decode() #打印 print(content)
#要发送的文本是json格式 发送整体跳转的actionCard类型 request_data = { "actionCard": { "title": "乔布斯 20 年前想打造一间苹果咖啡厅,而它正是 Apple Store 的前身", "text": "![screenshot](@lADOpwk3K80C0M0FoA) \n #### 乔布斯 20 年前想打造的苹果咖啡厅 \n\n Apple Store 的设计正从原来满满的科技感走向生活化,而其生活化的走向其实可以追溯到 20 年前苹果一个建立咖啡馆的计划", "hideAvatar": "0", "btnOrientation": "0", "singleTitle" : "阅读全文", "singleURL" : "https://www.dingtalk.com/" }, "msgtype": "actionCard" }
{ "feedCard": { "links": [ { "title": "时代的火车向前开", "messageURL": "https://mp.weixin.qq.com/s", "picURL": "https://www.dingtalk.com/" }, { "title": "时代的火车向前开2", "messageURL": "https://mp.weixin.qq.com/s", "picURL": "https://www.dingtalk.com/" } ] }, "msgtype": "feedCard" }
总结:
1、钉钉报警设置
2、钉钉报警脚本运行。
下一篇:Python钉钉报警及Zabbix集成钉钉报警的示例代码