zabbix釘釘告警


釘釘自定義機器人接入文檔

zabbix使用釘釘告警需要准備腳本:
腳本示例(注意,使用腳本要在腳本同一級目錄下創建目錄log來存放日志文件):

#! /usr/local/bin/python3
# -*- coding: utf-8 -*-
# @Author  : liuguixiang
# @Date    : 2022/4/11 14:53
# Software : PyCharm
# version  : Python 3.10
# @File    : dingtalk.py

import sys
import requests
import json
import datetime


def dingtalk(message_title="null", message_content="null"):
    try:
        webhook = "https://oapi.dingtalk.com/robot/send?access_token=dsafas"
        headers = {'Content-Type': 'application/json'}
        data = {
            "at": {},
            "msgtype": "text",
            "text": {
                "content": f"{message_title} \n 信息: \n {message_content}\n"
            },
        }
        re = requests.post(url=webhook, data=json.dumps(data), headers=headers)
        if re.json()["errcode"] != 0:
            with open("./log/dingtalk.log", mode="a") as f:
                f.write(
                    datetime.datetime.now().strftime(
                        "%Y-%m-%d %H:%M:%S") + " " + "ERROR: " + f"{re.json()['errmsg']} \n")
    except Exception as err:
        with open("./log/dingtalk.log", mode="a") as file:
            file.write(datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S") + " " + f"腳本錯誤: {err} \n")


message_title = sys.argv[2]
message_content = sys.argv[3]
dingtalk(message_title, message_content)

腳本放在/usr/lib/zabbix/alertscripts/目錄下,zabbix默認查找此目錄。

接下來配置zabbix,需要提前創建好監控項和觸發器。

  1. 添加報警媒介類型

  2. 填寫參數,腳本名稱必須和在服務器上的腳本名稱相同,參數分別表示發送人、標題、內容。

  3. 用戶添加報警媒介

  4. 填寫參數

  5. 新建動作

  6. 填寫名稱和條件,條件可以選擇某個具體的觸發器,或者報警等級

  7. 添加操作

  8. 選擇發送人,發送方式、消息內容

    主題模板:

故障{TRIGGER.STATUS}, 服務器:{HOST.NAME}發生:{TRIGGER.NAME}故障

消息模板:

告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
告警時間:{EVENT.DATE} {EVENT.TIME}
事件ID:{EVENT.ID}
當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
告警信息:{TRIGGER.NAME}
告警項目:{TRIGGER.KEY1}
問題詳情:{ITEM.NAME}:{ITEM.VALUE}
  1. 添加恢復操作,和上面類似。

    主題模板:
服務器:{HOST.NAME}:{TRIGGER.NAME}恢復

消息模板:

告警主機:{HOST.NAME}
告警地址:{HOST.IP}
監控項目:{ITEM.NAME}
監控取值:{ITEM.LASTVALUE}
告警等級:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警時間:{EVENT.DATE} {EVENT.TIME}
恢復時間:{EVENT.RECOVERY.DATE} {EVENT.RECOVERY.TIME}
持續時間:{EVENT.AGE}
事件ID:{EVENT.ID}
當前狀態:{TRIGGER.STATUS}
  1. 添加更新操作,同上

    主題模板:
標題:服務器:{HOST.NAME}報警確認

消息模板:

確認人:{USER.FULLNAME}
時間:{ACK.DATE} {ACK.TIME}
確認信息如下:"{ACK.MESSAGE}"
問題服務器IP:{HOSTNAME1}
問題ID:{EVENT.ID}

接下來就可以觸發警告來發送消息了。


免責聲明!

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



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