浅谈Python 钉钉报警必备知识系统讲解
作者:Smile_Mr 发布时间:2023-11-13 15:14:38
标签:Python,钉钉报警
本章所讲内容:
1、钉钉报警设置
2、钉钉报警脚本运行。
1、钉钉报警设置
钉钉,关于webhook的报警需求,钉钉报警也是我们在公司中常见的报警系统,在这里主要是结合zabbix二次开发使用,来达到完美报警的使用。
1.1、钉钉报警第一步,创建群机器人
接口地址:
https://oapi.dingtalk.com/robot/send?access_token=a25324cafc5b0f2bb239b5e56c71e7f378f570a3d281160dbec9e4f8c4a7e493
文档地址:
https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.karFPe&treeId=257&articleId=105735&docType=1
1.2 发送信信息
1.2.1 发送@所有人的消息
1、发送普通的消息
import requests
import json
url = 'https://oapi.dingtalk.com/robot/send?access_token=a25324cafc5b0f2bb239b5e56c71e7f378f570a3d281160dbec9e4f8c4a7e493 '
headers = {
"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?access_token=a25324cafc5b0f2bb239b5e56c71e7f378f570a3d281160dbec9e4f8c4a7e493 '
def WriteLogByDing(content):
headers = {
"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?access_token=a25324cafc5b0f2bb239b5e56c71e7f378f570a3d281160dbec9e4f8c4a7e493 '
headers = {
"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?spm=a219a.7629140.0.0.Rqyvqo&treeId=257&articleId=105735&docType=1"
}
}
#把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?access_token=a25324cafc5b0f2bb239b5e56c71e7f378f570a3d281160dbec9e4f8c4a7e493 '
headers = {
"Content-Type": "application/json",
"Chartset": "utf-8"
}
#要发送的文本是json格式
request_data = {
"msgtype": "markdown",
"markdown": {"title":"杭州天气",
"text":"#### 杭州天气 \n > 9度, 西北风1级,空气良89,相对温度73%\n\n > \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": " \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?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI",
"picURL": "https://www.dingtalk.com/"
},
{
"title": "时代的火车向前开2",
"messageURL": "https://mp.weixin.qq.com/s?__biz=MzA4NjMwMTA2Ng==&mid=2650316842&idx=1&sn=60da3ea2b29f1dcc43a7c8e4a7c97a16&scene=2&srcid=09189AnRJEdIiWVaKltFzNTw&from=timeline&isappinstalled=0&key=&ascene=2&uin=&devicetype=android-23&version=26031933&nettype=WIFI",
"picURL": "https://www.dingtalk.com/"
}
]
},
"msgtype": "feedCard"
}
总结:
1、钉钉报警设置
2、钉钉报警脚本运行。
来源:https://blog.csdn.net/smile_mr/article/details/87357942


猜你喜欢
- 爬取TOP500的音乐信息,包括排名情况、歌曲名、歌曲时间。网页版酷狗不能手动翻页进行下一步的浏览,仔细观察第一页的URL:http://w
- Python 3.x 起始版本是Python 3.0,目前的最新版本是 3.3.3Python之父Guido van Rossum谈到了Py
- 下载Git安装文件:GIt官网下载地址:Git-2.6.3-64-bit.exe然后就进入了Git的安装界面,如图:Git安装界面和Node
- 1、安装 vue-i18n依赖yarn add vue-i18n 或者 npm install vue-i18n --save-dev2、在
- Python 相对路径报错:"No such file or directory"'原因及解决方法如果你取相对路
- 今天做官网,把unslider做成指令,但是一直提示$(el).unslider() no a function,一开始我想复杂了,后来在网
- 自从2005年8月11日阿里巴巴宣布收购雅虎中国的全部资产后,做为阿里巴巴集团的创始人马云心里盘算的事应该是如何把雅虎中虎整合进阿里巴巴这个
- 本文实例讲述了php替换字符串中间字符为省略号的方法。分享给大家供大家参考。具体分析如下:对于一个长字符串,如果你只希望用户看到头尾的部分内
- 本文实例讲述了python解析xml文件的方法。分享给大家供大家参考。具体如下:python解析xml非常方便。在dive into pyt
- 解析json数据并保存为csv文件首先导入两个包:import jsonimport pandas as pd打开json 文件并读取:wi
- 本文实例讲述了ES6 let和const定义变量与常量的应用。分享给大家供大家参考,具体如下:关于 letlet是小作用域的变量的声明{ &
- 摆线最简单的旋轮线就是摆线,指圆在直线上滚动时,圆周上某定点的轨迹。设圆的半径为 r ,在x轴上滚动 x距离则意味着旋转了 x
- 今天在部署一个实验系统的时候,报出下面这个错: Your 'max_allowed_packet' variable is
- 1.简介和安装sysbench是一个开源的、模块化的、跨平台的多线程性能测试工具,可以用来进行CPU、内存、磁盘I/O、线程、数据库的性能测
- 关键路径计算是项目管理中关于进度管理的基本计算。 但是对于绝大多数同学来说, 关键路径计算都只是对一些简单情形的计算。今天,田老师根据以往的
- 在项目过程中,我们常常需要获取IP的所在地。而这一功能一般都是通过一些数据网站的对外接口来实现,这些接口一般情况下都是付费使用的。在这篇文章
- 在日常生活中我们经常在朋友圈看到有人发九宫格图片,其实质就是将一张图片切成九份,然后在微信中一起发这九张图。那么我们如何自己动手实现呢?说到
- 一.入参解析库 argparse有时候写Python脚本,需要处理入参[-h][-v][-F]...等情况,如果自己来解析的话,会花费很多时
- 最近由于项目需要,开始学习python,然后发现一个非常有用的python交互式编辑器,非常容易上手而且非常有用和实在,本博文是对学习jup
- 在处理批量更新某些数据的时候,如果跟你更新的字段的值都一样,比如某个状态都更新为某个固定值,直接用update table set xxx=