zabbix 微信告警配置

做者信息

郵箱:sijiayong000@163.com

Q Q:601566386
web

Zabbix 微信告警

摘要:Zabbix能夠經過多種方式把告警信息發送到指定人,經常使用的有郵件,短信報警方式,可是愈來愈多的企業開始使用zabbix結合微信做爲主要的告警方式,這樣能夠及時有效的把告警信息推送到接收人,方便告警的及時處理。shell

使用微信發送告警,須要先註冊一個微信企業號api

此處忽略具體步驟,請訪問百度bash

設置預警

註冊完成微信企業號後,點擊個人企業服務器

在這裏記錄下來CorpID的值

在以後發送微信告警的腳本中會用到微信

查看CorpID

緊接着須要建立組和用戶
建立組curl

建立用戶
建立用戶測試

建立應用
建立應用url

獲取AgentID 和 Secret3d

這兩個信息,一樣須要記錄下來

在以後的發送微信告警時須要

建立應用

準備事項

微信企業號

企業號已經被部門成員關注
企業號有一個能夠發送消息的應用,一個受權管理員,可使用應用給成員發送消息

須要獲得的信息

  • CorpID
  • AgentID
  • Secret
  • 用戶的帳號 或 組ID

配置zabbix server端

須要修改zabbix.conf
grep alertscripts /etc/zabbix/zabbix_server.conf

AlertScriptsPath=/usr/lib/zabbix/alertscripts
咱們設置zabbix默認腳本路徑,這樣在web端就能夠獲取到腳本

Shell 腳本

進入到/usr/lib/zabbix/alertscripts/目錄下,建立一個wechat.sh腳本文件
給腳本文件受權用戶和組以及增長執行權限

chown zabbix.zabbix wechat.sh
chmod +x wechat.sh

#!/bin/bash
###SCRIPT_NAME:wechat.sh###
###send message from weixin for zabbix monitor###

CropID='此處填寫上面獲取到的CorpID'
Secret='此處填寫應用的Secret'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $10}')

PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"

function body() {
        #企業號中的應用id
        local int AppID=這裏填寫AgentID
        #部門成員id,zabbix中定義的微信接收者
        local UserID=$1
        #部門id,定義了範圍,組內成員均可接收到消息
        local PartyID=2     
        #過濾出zabbix傳遞的第三個參數
        local Msg=$(echo "$@" | cut -d" " -f3-)
        printf '{\n'
        printf '\t"touser": "'"$UserID"\"",\n"
        printf '\t"toparty": "'"$PartyID"\"",\n"
        printf '\t"msgtype": "text",\n'
        printf '\t"agentid": "'" $AppID "\"",\n"
        printf '\t"text": {\n'
        printf '\t\t"content": "'"$Msg"\""\n"
        printf '\t},\n'
        printf '\t"safe":"0"\n'
        printf '}\n'
}
/usr/bin/curl --data-ascii "$(body $1 $2 $3)" $PURL##

腳本測試

/bin/sh /usr/lib/zabbix/alertscripts/wechat.sh sijiayong test test

告警測試腳本

定義Zabbix動做發送告警

建立告警媒介

按照圖片中的定義建立新告警媒介
此處貼出告警參數

{ALERT.SENDTO}
{ALTER.SUBJECT}
{ALERT.MESSAGE}

告警媒介添加頁面

告警媒介添加配置

最後點擊添加便可

添加告警用戶和動做

添加告警用戶

配置告警用戶
配置告警用戶

配置用戶告警媒介
配置用戶告警媒介

最後點擊更新,用戶就完成

添加動做

故障配置

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

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

恢復配置

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

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

動做添加
動做添加1

動做添加2

動做添加3

動做添加2

測試

手動出發一次故障

告警測試

相關文章
相關標籤/搜索