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

测试

手动出发一次故障

告警测试

相关文章
相关标签/搜索