zabbix4.0添加釘釘報警


https://cloud.tencent.com/developer/article/1441836

 

環境

  • zabbix4.0
  • server端 ubuntu14.04 agent端 centos7
  • zabbix控制面板 沒有動作日志。解決:同步系統時間。
步驟
  1. 添加釘釘群機器人,獲取webhook地址
  2. zabbix-server.conf 中配置腳本路徑並編寫腳本
  3. web界面添加報警媒介、動作、授權報警用戶
  • 第一步很easy 如圖
  • 第二部配置zabbix腳本

1.進入zabbix server 配置文件目錄 /etc/zabbix/zabbix_server.conf 安裝方式不同所在目錄不同。可以用 find / -name zabbix_server.conf 命令查找

2.查看腳本執行目錄,並在目錄下創建如下腳本

vim /usr/lib/zabbix/alertscripts/dingding.py #!/usr/bin/env python #coding:utf-8 #zabbix釘釘報警 import requests,json,sys,os,datetime webhook="上面創建釘釘機器人的webhook地址" user=sys.argv[1] text=sys.argv[3] data={ "msgtype": "text", "text": { "content": text }, "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("/tmp/zabbix_dingding.log"): f=open("/tmp/zabbix_dingding.log","a+") else: f=open("/tmp/zabbix_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.close()

3.賦予腳本可執行權限:chmod +x /usr/lib/zabbix/alertscripts/dingding.py

踩過的坑:切換到/usr/lib/zabbix/alertscripts 目錄下 chmod -x dingding.py還是純文本

測試腳本可用性方法:python dingding.py 18710140128 "這是一條測試文字"

腳本使用文檔:https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq

  • 第三步 web界面配置報警媒介 動作 授權用戶

本文分享自微信公眾號 - 學一學大數據(lx18710140128),作者:新哥

原文出處及轉載信息見文內詳細說明,如有侵權,請聯系 yunjia_community@tencent.com 刪除。

原始發表時間:2019-05-18

本文參與騰訊雲自媒體分享計划,歡迎正在閱讀的你也加入,一起分享。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM