zabbix4添加配置微信報警通知

微信告警首先註冊一個企業微信,才能實現微信告警。註冊地址:https://work.weixin.qq.com/python

  • 申請企業微信號
    1). 申請好後需記錄幾項重要信息,後面zabbix server端監控腳本需使用到。
    登陸網頁 - 個人企業 - 企業ID:
    2). 建立應用
    登陸網頁 - 應用管理 - 應用 - 建立應用
    zabbix4添加配置微信報警通知
    記錄並獲取到AgentId、Secret
    AgentId:xxxxx
    Secret:xxxxx
    3). 添加通信錄
    登陸網頁 - 通信錄 - 添加成員
    添加後纔可收取到信息。
  • zabbix server端配置
    1). 安裝依賴
    這裏使用python做爲監控腳本,zabbix sever服務器上需安裝python依賴。
    yum install -y python-requests

    2). 配置python腳本
    zabbix sever服務器上默認監控腳本目錄上建立wechat.py。
    cd /usr/lib/zabbix/alertscripts
    vim wechat.pyjson

    #!/usr/bin/env python
    #-*- coding: utf-8 -*-
    #author: Yu
    import requests
    import sys
    import os
    import json
    import logging
    # config for log
    logging.basicConfig(level = logging.DEBUG, format = '%(asctime)s, %(filename)s, %(levelname)s, %(message)s',
                datefmt = '%a, %d %b %Y %H:%M:%S',
                filename = os.path.join('/usr/lib/zabbix/alertscripts','weixin.log'),
                filemode = 'a')
    # Company ID
    corpid='xxxxxxx'
    # secret
    appsecret='xxxxxxxx'
    # AgentId
    agentid=xxxxxxx
    #Accesstoken
    token_url='https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + appsecret
    req=requests.get(token_url)
    accesstoken=req.json()['access_token']
    # Message send
    msgsend_url='https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + accesstoken
    touser=sys.argv[1]
    subject=sys.argv[2]
    #toparty='3|4|5|6'
    message=sys.argv[3]
    params={
        "touser": touser,
    #       "toparty": toparty,
        "msgtype": "text",
        "agentid": agentid,
        "text": {
                "content": message
        },
        "safe":0
    }
    req=requests.post(msgsend_url, data=json.dumps(params))
    logging.info('sendto:' + touser + ';;subject:' + subject + ';;message:' + message)

    記得給文件賦權
    chown zabbix.zabbix weixin
    chmod 755 weixin
    3). 測試
    運行weixin.py腳本vim

    /usr/lib/zabbix/alertscripts/weixin.py name "title test" "hello"

    name:收件人帳號(登陸企業微信網站 - 通信錄 - 打開某個收件人 - 帳號)
    title test:標題
    hello:具體須要發送的內容
    若是沒有錯誤的話,收件人將可在手機APP企業微信上收到此消息,以下圖:
    zabbix4添加配置微信報警通知api

  • Zabbix Server Web端開啓微信告警
    1). 添加告警媒介
    管理 ----> 報警媒介類型 -----> 建立媒介類型
    zabbix4添加配置微信報警通知
    添加三個腳本參數:
    {ALERT.SENDTO}
    {ALERT.SUBJECT}
    {ALERT.MESSAGE}

    腳本名稱必須跟zabbix server上配置/usr/lib/zabbix/alertscripts的腳本名稱同樣。
    2). 建立用戶,添加報警媒介
    管理 ----> 用戶
    zabbix4添加配置微信報警通知
    注:收件人填寫企業微信中通信錄成員賬號,這裏打算使用微信關聯公衆號收取報警通知信息。
    3). 建立觸發器動做
    配置 ----> 動做 ----> 動做
    zabbix4添加配置微信報警通知
    建立郵件發送動做,配置觸發條件:觸發器示警度 大於等於 警告
    配置 ----> 動做 ----> 操做
    zabbix4添加配置微信報警通知
    默認標題:服務器

    故障{TRIGGER.STATUS},服務器名:{HOSTNAME1}發生: {TRIGGER.NAME}故障!

    消息內容:微信

    告警主機:{HOSTNAME}
    告警主機IP地址:{HOST.IP}
    告警時間:{EVENT.DATE} {EVENT.TIME}
    告警等級:{TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警項目:{TRIGGER.KEY1}
    問題詳情:{ITEM.NAME}:{ITEM.VALUE}
    當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
    事件ID:{EVENT.ID}

    配置 ----> 動做 ----> 恢復
    zabbix4添加配置微信報警通知
    默認標題:app

    恢復{TRIGGER.STATUS}, 服務器名:{HOSTNAME1}: {TRIGGER.NAME}已恢復!

    消息內容:ide

    告警主機:{HOSTNAME}
    告警主機IP地址:{HOST.IP}
    告警時間:{EVENT.DATE} {EVENT.TIME}
    告警等級:{TRIGGER.SEVERITY}
    告警信息: {TRIGGER.NAME}
    告警項目:{TRIGGER.KEY1}
    問題詳情:{ITEM.NAME}:{ITEM.VALUE}
    當前狀態:{TRIGGER.STATUS}:{ITEM.VALUE1}
    事件ID:{EVENT.ID}

    4). 模擬測試微信收取告警通知
    將新某臺被監控主機zabbix agent服務關閉,稍等5分鐘查收能收到微信告警。
    zabbix4添加配置微信報警通知
    5). 使用普通微信接受消息設置
    直接用微信掃碼關注微工做臺,便可在微信中接收企業通知和使用企業應用。
    方法:登陸企業微信管理頁面 - 個人企業 - 微工做臺 - 邀請關注的二維碼
    關注後便可收取。post

相關文章
相關標籤/搜索