钉钉发送告警(非@)

环境:

OS:Centos 7

python:2.7

[root@yunwei-zabbix-1000001-prd alertscripts]# more dingtalk_middleware.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-

import sys, json, urllib2

def Dingtalk(message):
        content = message
        url = "https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxxxxxxxxxxxxxxxxxx
d1f591128c53e"
        header = {
                "Content-Type": "application/json",
                "charset": "utf-8"
        }
        msg = {
                "msgtype": "text",
                "text": {
                        "content": content
                }
        }
        sendData = json.dumps(msg)
        request = urllib2.Request(url,data = sendData,headers = header)
        urlopen = urllib2.urlopen(request)
        return urlopen.read()

if __name__ == "__main__":
        text = sys.argv[1]
        Dingtalk(text)

 

 

python3版本,token传参数

[root@localhost alertscripts]# more Dingtalk.py 
#!/usr/bin/env python
#-*- coding: utf-8 -*-

##import sys, json, urllib2
import json
import requests
import sys

def Dingtalk(tokenid, subject, message):
        content = subject + '\n\n' + message
        url = "https://oapi.dingtalk.com/robot/send?access_token=" + tokenid
        header = {
                "Content-Type": "application/json",
                "charset": "utf-8"
        }
        msg = {
                "msgtype": "text",
                "text": {
                        "content": content
                }
        }
        ##sendData = json.dumps(msg)
        ##request = urllib2.Request(url,data = sendData,headers = header)
        ##urlopen = urllib2.urlopen(request)
        ##return urlopen.read()
        r=requests.post(url, data=json.dumps(msg), headers=header)


if __name__ == "__main__":
        Dingtalk(sys.argv[1], sys.argv[2], sys.argv[3])

 

手工调用

python Dingtalk.py xxxxxxxxxxxxxxxxxxxx title告警测试 bodytest告警测试

 

zabbix界面配置

 

posted @ 2025-02-07 08:48  slnngk  阅读(23)  评论(0)    收藏  举报