正文
環境
軟體版本:Zabbix 5.2系統版本:ubuntu 18.04釘釘賬號一個釘釘配置
本著自身沒有釘釘環境的前提下寫這篇教程,所以從建立群聊開始。
1.建立群聊,由於普通群聊需要多人以上,而場景群則不需要,如下圖
建立場景群聊
名字自取
2.建立自定義群聊機器人
建立群聊機器人入口
⏬
⏬
建立安全規則,這裡選擇IP地址
由於很朋友的環境為Linux,所以在獲取公網IP有些困惑,建議大家採用以下兩種方法
curl ifconfig.mecurl cip.cc
獲取公網地址
記住該webhook地址
Zabbix部分配置
1.找到告警指令碼的檔案存放目錄。(在516行)
vim /etc/zabbix/zabbix_server.conf
指令碼存放目錄為/usr/lib/zabbix/alertscripts
2.新增執行許可權,並測試,此時提示如圖的錯誤,python路徑問題,解決方式:
find / -name python find / -name python2find / -name python3###找到/usr/bin/python*,如下圖2######CentOS 8###dnf -y install python3pip3 install requests
python路徑容易造成錯誤
無法找到命令
ubuntu環境
CentOS7環境
安裝python3後
再執行該指令碼,就OK了
Zabbix前端操作
1.建立告警媒介
⏬
⏬
2.建立動作
⏬
向下
向下
3.新增使用者媒介
故障排查
模擬故障發現,告警的動作有紅色的感嘆號,媒介的模板沒有定義,解決如下圖
⏬
測試正常
指定人告警也正常
附錄指令碼內容
1.發全體人員指令碼(markdown)
#!/usr/bin/python3# -*- coding: utf-8 -*-import requestsimport jsonimport sysimport osimport timeheaders = {'Content-Type': 'application/json;charset=utf-8'}time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())api_url = "釘釘機器人webhook地址"def msg(text,user): json_text= { "msgtype": "text", "text": { "content": text }, "at": { "atMobiles": [ user ], "isAtAll": True } } r=requests.post(api_url,data=json.dumps(json_text),headers=headers).json() code = r["errcode"]if __name__ == '__main__': text = sys.argv[3] user = sys.argv[1] msg(text,user)
2.髮指定人員指令碼(text)
#!/usr/bin/python3# -*- coding: utf-8 -*-import requestsimport jsonimport sysimport osimport timeheaders = {'Content-Type': 'application/json;charset=utf-8'}time=time.strftime("%Y-%m-%d %H:%M:%S", time.localtime())api_url = "釘釘機器人webhook地址"def msg(text,user): json_text= { "msgtype": "text", "text": { "content": text }, "at": { "atMobiles": [ user ], "isAtAll": False } } r=requests.post(api_url,data=json.dumps(json_text),headers=headers).json() code = r["errcode"]if __name__ == '__main__': text = sys.argv[3] user = sys.argv[1] msg(text,user)
總結
最新評論