1. 程式人生 > >利用釘釘機器人傳送告警資訊

利用釘釘機器人傳送告警資訊

現在越來越多的人開始使用釘釘,對於運維告警來說,除了傳統的郵件告警之外,簡訊告警、企業微信告警、釘釘機器人告警等也是首選考慮。這裡介紹如果利用python+釘釘機器人 實現告警資訊傳送。


首先新增一個組專門用來接受告警資訊,在組設定中看到組機器人Group robot,如下圖:

 

 

 

點選“組機器人”,進入如下頁面 然後點選 “新增機器人” 紅色部分


 

 

在開啟的頁面中選擇 “自定義(通過webhook接入自定義服務)” ;點選進去之後點選“新增Add”


 

 

在彈出的頁面中輸入“ChatBot Name” 這裡起名字叫“告警測試” 然後點選下一步,得到如下圖示


 

 

這裡點選copy記住 webhook 的值,這個在接下來的指令碼中要用到,很關鍵哦~
也可以點選“setting ins…” 開啟幫助頁面,關鍵的部分如下(我們告警資訊選擇text 型別即可)

 

 


最後就是指令碼了

[email protected]/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 ## 釘釘組中建立機器人的時候給出的webhook ## 告警測試 webhook = 'https://oapi.dingtalk.com/robot/send?access_token=xxxxx' ## 定義接受資訊的人和資訊內容 user = sys.argv[1] content = sys.argv[2] ## 組裝內容 ## 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 } } ## 呼叫request.post傳送json格式的引數 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!") 

測試傳送結果如下: