先感謝參考對象: https://blog.csdn.net/fengwuxichen/article/details/90406489
https://blog.51cto.com/12970189/2472377?source=dra
以下是我的操作:
在 zabbix 所在服務器,安裝python依賴
yum install python-pip # 已經有了python2.7.5 pip install --upgrade pip pip install urllib3 pip install requests
找到 zabbix 腳本目錄,我的在 /usr/lib/zabbix/alertscripts
添加文件,feishu_send.py (得益於開發同事寫好了接口url,我只要按要求傳遞消息體就可以了, 這里傳了工號和內容)
python 版本:
#!/usr/bin/python # -*- coding: utf-8 -*- import requests import json import sys import os headers = {'Content-Type': 'application/json;charset=utf-8'} api_url = "http://192.168.33.21:8099/api/feishu/send" def msg(emp_no, text): json_text= { "employee_no":emp_no, "msg_type": "text", "content": {"text": text} } print(requests.post(api_url,json.dumps(json_text),headers=headers).content) if __name__ == '__main__': emp_no = sys.argv[1] text = sys.argv[2] msg(emp_no, text)
或者使用 curl 版本: (其實就是curl 命令,拼了2個位置參數)
#!/bin/bash curl http://192.168.33.21:8099/api/feishu/send -X POST -d '{"employee_no":"'$1'","msg_type":"text","content":{"text":"'$2'"}}' --header "Content-Type: application/json"
保存文件,並給予執行權限 chmod 755 feishu_send.py
手動執行測試一下: ./feishu_send.py 11220033 testtext
執行成功,飛書收到消息。
接下來,配置zabbix, 先添加,報警媒介類型,使用上面的腳本,並填好參數(是zabbix中的參數)
給用戶添加報警媒介。管理,用戶,點擊一個用戶,報警媒介,添加。類型選上圖創建的,收件上則對應上圖的第一個參數(這里是工號)
由於報警可能要發給幾個人,所以創建個用戶群組。把用戶添加進來即可。
接下來添加動作。 配置,動作,事件源里選觸發器,創建動作。 填寫名稱,新的觸發條件選觸發器名稱,然后點擊操作:
在操作界面,其它不用改。點一下操作欄,新的,
操作細節,如下圖,最后點添加。
之后的 恢復操作,更新操作 這2項,依照上面的同樣設置即可。最后點擊更新。
最后,測試一下,讓 zabbix 監控的對象出個錯誤,看飛書能否收到消息。