https://cloud.tencent.com/developer/article/1441836
環境
- zabbix4.0
- server端 ubuntu14.04 agent端 centos7
- zabbix控制面板 沒有動作日志。解決:同步系統時間。
步驟
- 添加釘釘群機器人,獲取webhook地址
- zabbix-server.conf 中配置腳本路徑並編寫腳本
- 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
本文參與騰訊雲自媒體分享計划,歡迎正在閱讀的你也加入,一起分享。
