zabbix 利用python腳本實現釘釘告警


Zabbix 利用python腳本實現釘釘告警

1、安裝python3.6環境

2、創建python腳本

cd local/zabbix-4.0.3/share/zabbix/alertscripts/

新建一個zabbix_dingding.py文件

vi zabbix_dingding.py

//修改文件所有者為zabbix

chown zabbix.zabbix zabbix_dingding.py

//設置所有者為7權限

chmod 744 zabbix_dingding.py

文件內容如下:

#!/usr/bin/python

# -*- coding: utf-8 -*-

import requests

import json

import sys

import os

headers = {'Content-Type': 'application/json;charset=utf-8'}

api_url="https://oapi.dingtalk.com/robot/send?access_token=abec8a22f6fdfc458e9ecdd922ae2349bcbf862bfaa7f6b15c71f80fd6fc9ff1"

def msg(text):

    json_text= {

     "msgtype": "text",

        "text": {

            "content": text

        },

        "at": {

            "atMobiles": [

                "atMobiles":[13xxxxxxxx,186xxxxxxxx]  

            ],

            "isAtAll": False

        }

    }

    requests.post(api_url,json.dumps(json_text),headers=headers).content

if __name__ == '__main__':

    text = sys.argv[1]

    msg(text)

 

3、zabbix管理后台,創建一個新的媒介類型叫釘釘

 

 

 腳本參數為{ALERT.MESSAGE}

4、為用戶添加釘釘媒介類型

 

 

 5為需要釘釘告警的觸發器創建新的動作

 

 

6、設置觸發條件后,轉“操作”

 

消息內容為:

##告警
主機名稱:{HOST.NAME}
IP地址 :{HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
告警信息:{TRIGGER.NAME}
告警級別:{TRIGGER.SEVERITY}
檢查項 :{TRIGGER.KEY1}
當前狀態:{TRIGGER.STATUS}
值={ITEM.LASTVALUE}
故障已持續{EVENT.AGE}

 

7、設置好”操作”后,再轉”恢復操作”

 

  消息內容為:

##恢復

主機名稱:{HOST.NAME}
IP地址 :{HOST.IP}
告警時間:{EVENT.DATE} {EVENT.TIME}
恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
故障時長:{EVENT.AGE}
告警信息:{TRIGGER.NAME}
告警級別:{TRIGGER.SEVERITY}
檢查項 :{TRIGGER.KEY1}
當前狀態:{TRIGGER.STATUS}
值={ITEM.VALUE}

 

動作設置完畢,就可以測試了

釘釘收到的效果

 

 

 


免責聲明!

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



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