image
現(xiàn)在越來越多的人開始使用釘釘颅拦,對于運(yùn)維告警來說缕坎,除了傳統(tǒng)的郵件告警之外怖侦,短信告警、企業(yè)微信告警谜叹、釘釘機(jī)器人告警等也是首選考慮匾寝。這里介紹如果利用
python+釘釘機(jī)器人
實(shí)現(xiàn)告警信息發(fā)送。
首先新增一個(gè)組專門用來接受告警信息荷腊,在組設(shè)置
中看到組機(jī)器人Group robot
艳悔,如下圖:
image
點(diǎn)擊“組機(jī)器人”,進(jìn)入如下頁面 然后點(diǎn)擊 “添加機(jī)器人” 紅色部分
image
在打開的頁面中選擇 “自定義(通過webhook接入自定義服務(wù))” 女仰;點(diǎn)擊進(jìn)去之后點(diǎn)擊“添加Add”
image
在彈出的頁面中輸入“ChatBot Name” 這里起名字叫“告警測試” 然后點(diǎn)擊下一步猜年,得到如下圖示
image
這里點(diǎn)擊copy記住 webhook 的值,這個(gè)在接下來的腳本中要用到疾忍,很關(guān)鍵哦~
也可以點(diǎn)擊“setting ins…” 打開幫助頁面乔外,關(guān)鍵的部分如下(我們告警信息選擇text 類型即可)
image
最后就是我們的腳本了
root@pts/1 $ cat dingding.py
#!/usr/bin/env python
#-*- coding: utf-8 -*-
#Author: Colin
#Date:
#Desc:
#
import os
import sys
import json
import datetime
import requests
## 釘釘組中創(chuàng)建機(jī)器人的時(shí)候給出的webhook
## 告警測試
webhook = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxx'
## 定義接受信息的人和信息內(nèi)容
user = sys.argv[1]
content = sys.argv[2]
## 組裝內(nèi)容
## refer to: https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.karFPe&treeId=257&articleId=105735&docType=1
data = {
"msgtype": "text",
"text": {
"content": content
},
"at": {
"atMobiles": [user],
"isAtAll": True
}
}
## 調(diào)用request.post發(fā)送json格式的參數(shù)
headers = {'Content-Type': 'application/json'}
result = requests.post(url=webhook, data=json.dumps(data), headers=headers)
print('--'*30)
print(result)
print(result.json())
print('--'*30)
if result.json()["errcode"] == 0:
print("send ok")
else:
print("send failed!")
測試發(fā)送結(jié)果如下:
image
image