Python钉钉报警及Zabbix集成钉钉报警的示例代码

 更新时间:2020年08月17日 14:44:07   作者:you-men  
这篇文章主要介绍了Python钉钉报警及Zabbix集成钉钉报警的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

钉钉报警设置

创建群机器人

接口地址

发送短消息

发送普通消息

import requests
import json

url = 'https://oapi.dingtalk.com/robot/send?access_token=71638980426c030'

headers = {
 "Content-Type": "application/json",
 "Chartset": "utf-8"
}
# 要发送的文本是json格式
request_data = {
 # 此消息的类型为固定的text
 "msgtype": "text",

 "text": {
  # 消息的内容
  "content": "大家新年快乐test"
 },
 "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)

接口开发

修改结构

import requests
import json
import sys

url = 'https://oapi.dingtalk.com/robot/send?access_token=71389c030'

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 += "test"
 # content = sys.argv[1]
 WriteLogByDing(content)

发送带链接的文档

import requests
import json

url = 'https://oapi.dingtalk.com/robot/send?access_token=7164d45fa912dc12ed721522371ecf7428ad912740e87a63c3bf38980426c030'

headers = {
 "Content-Type": "application/json",
 "Chartset": "utf-8"
}

# 要发送的文本是json格式
request_data = {

 # 发送链接类型的数据
 "msgtype": "link",
 "link": {

  # 链接提示
  "text": "群机器人是钉钉群的高级扩展功能。群机器人可以将第三方服务的信息聚合到群聊中,实现自动化的信息同步。例如:通过聚合GitHub,GitLab等源码管理服务,实现源码更新同步;通过聚合Trello,JIRA等项目协调服务,实现项目信息同步。不仅如此,群机器人支持Webhook协议的自定义接入,支持更多可能性,例如:你可将运维报警提醒通过自定义机器人聚合到钉钉群。",

  # 链接标题
  "title": "自定义机器人协议test",
  # 图片url地址
  "picUrl": "http://p3.so.qhmsg.com/sdr/200_200_/t013d7a21145c708288.jpg",
  # 信息的链接跳转
  "messageUrl": "http://www.zcj.net.cn"
 }
}

# 把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)

发送makedown

import requests
import json

url = 'https://oapi.dingtalk.com/robot/send?access_token=7164d45fa912dc12ed721522371ecf7428ad912740e87a63c3bf38980426c030'

headers = {

 "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/) test"
     },
 "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)

zabbix集成钉钉报警

钉钉报警python脚本

https://ding-doc.dingtalk.com/doc#/serverapi2/qf2nxq

https://www.jb51.net/article/193470.htm

#!/usr/bin/env python
#coding:utf-8
#zabbix钉钉报警
import requests,json,sys,os,datetime
webhook="https://oapi.dingtalk.com/robot/send?access_token=ce0d39251"
user=sys.argv[1]
text=sys.argv[3]
data={
 "msgtype": "text",
 "text": {
  "content": "test"
 },
 "at": {
  "atMobiles": [
  # user
  ],
  "isAtAll": False
 }
}
headers = {'Content-Type': 'application/json'}
x=requests.post(url=webhook,data=json.dumps(data),headers=headers)
if os.path.exists("/usr/local/zabbix_server/logs/dingding.log"):
 f=open("/usr/local/zabbix_server/logs/dingding.log","a+")
else:
 f=open("/usr/local/zabbix_server/logs/dingding.log","w+")
f.write("\n"+"--"*30)
if x.json()["errcode"] == 0:
 f.write("\n"+str(datetime.datetime.now())+" "+str(user)+" "+"发送成功"+"\n"+str(text))
 f.close()
else:
 f.write("\n"+str(datetime.datetime.now()) + " " + str(user) + " " + "发送失败" + "\n" + str(text))
 f.write(str(x)+str(x.json()))
 f.close()

到此这篇关于Python钉钉报警及Zabbix集成钉钉报警的示例代码的文章就介绍到这了,更多相关Python钉钉报警 内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python多模块引用由此引发的相对路径混乱问题

    Python多模块引用由此引发的相对路径混乱问题

    这篇文章主要介绍了Python多模块引用由此引发的相对路径混乱问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-03-03
  • Django模型层实现多表关系创建和多表操作

    Django模型层实现多表关系创建和多表操作

    使用django ORM可以创建多表关系,并且也支持多张表之间的操作,以创建表关系和查询两部分说明django ORM的多表操作,本文就详细的介绍一下,感兴趣的可以了解一下
    2021-07-07
  • python怎么判断模块安装完成

    python怎么判断模块安装完成

    在本篇内容里小编给大家分享的是关于python如何判断模块是否安装的技术文章,有兴趣的朋友们可以参考下。
    2020-06-06
  • Python实现 MK检验示例代码

    Python实现 MK检验示例代码

    这篇文章主要介绍了Python实现 MK检验,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-12-12
  • python执行系统命令4种方法与比较

    python执行系统命令4种方法与比较

    这篇文章主要介绍了python执行系统命令4种方法与比较,需要的朋友可以参考下
    2021-04-04
  • Python Tensor FLow简单使用方法实例详解

    Python Tensor FLow简单使用方法实例详解

    这篇文章主要介绍了Python Tensor FLow简单使用方法,结合实例形式详细分析了Tensor FLow相关概念、原理、用法与操作注意事项,需要的朋友可以参考下
    2020-01-01
  • Python爬虫逆向分析某云音乐加密参数的实例分析

    Python爬虫逆向分析某云音乐加密参数的实例分析

    这篇文章主要介绍了Python爬虫逆向分析某云音乐加密参数,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • 详解Python连接oracle的问题记录与解决

    详解Python连接oracle的问题记录与解决

    这篇文章主要为大家详细介绍了Python连接oracle时会出现的一些问题记录与解决方法,文中的示例代码讲解详细,需要的小伙伴可以参考一下
    2023-04-04
  • python实现京东秒杀功能

    python实现京东秒杀功能

    这篇文章主要为大家详细介绍了python实现京东秒杀功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-07-07
  • python读取并写入mat文件的方法

    python读取并写入mat文件的方法

    这篇文章主要介绍了python读取并写入mat文件的方法,文中给大家提到了python读取matlab写的mat文件问题以及解决办法 ,需要的朋友可以参考下
    2019-07-07

最新评论