zabbix4.0微信报警设置

系统环境:Centos7.4 Zabbix4.0

安装zabbix_server在之前的博文有写道,由于是内网环境,对外通讯仅通过一台代理服务器,并且邮件等端口也被封禁了,所以才考虑用微信报警的方式.

一.注册企业微信号

首先申请微信企业号: https://qy.weixin.qq.com/

1bb24eb311b95eaaf27121f608524d8f5e2.jpg

注册后 添加一个子部门,此时默认部门ID为2

f651077fc8deb5764e02deb420964388e12.jpg

然后自建一个应用程序

6656ac1f28a62769e8e6f142ff24ebe6bdb.jpg

可见范围添加上运维

c6484494a6193f10bd173d7681aff4be160.jpg

然后点击应用与小程序查看AgentID和SecretID,并记录下来

f5e544e5d4fdfed734daabcbcbaf574bb0a.jpg

点击我的企业,企业信息可以查看企业ID即CropID.

05ddfa027d69ab869faba37c97ebf71047d.jpg

企业ID就是cropid xxxxxxxxxxxxxxxxxxx

AgentId 1000002

Secret 8ubvbvaUvq5W68qcEIFWcwVRI7ErfTl-68jV4Hs9noE

然后打开 https://work.weixin.qq.com/api/devtools/devtool.php测试是否ok

1afdeab52a509dd254db25962abea792072.jpg

二.Shell脚本设置

[root@zabbix ~]# cd /usr/lib/zabbix/alertscripts/
[root@zabbix alertscripts]# vim weixin.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## 

[root@zabbix alertscripts]# chown zabbix.zabbix weixin.sh 
[root@zabbix alertscripts]# chmod 744 weixin.sh 

测试

[root@zabbix alertscripts]# ./weixin.sh limingfan test test 
{"errcode":0,"errmsg":"ok","invaliduser":""}

注:limingfan为运维部门成员的账号

67ac4cc035441e326b56d32a4fe4880b14e.jpg

手机上也收到 

若是通过代理上网的服务器,发现测试代码可以发送到手机上,但是实际发生故障会出现发送失败

那么需要在weixin.sh加上/etc/profile中的代理设置的内容

506c2f40f64b9bb14b6494ebaf5c7878970.jpg

 

三.zabbix网页端设置

 

0e2d6f4fb9db0bc75382a8162fffd7374f2.jpg

脚本参数为

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

 

然后添加一个用于报警的用户

 

763bf3fe0269ed8d1710f4b61bf17264c89.jpg

dff639931caf75e4b725303d118eac8055e.jpg

e67d82fc3329c539bc6deed6182dc4c0c68.jpg

创建触发器动作

9fa6d4309b7a5ab6972a9e2cc56c572f379.jpg

操作,恢复操作,Update operation都需设置发送消息到用户weixin

1243c4f4ac781ae5d7c160379153d6838dc.jpg

 

5f0c76577bba31cd0fe67e741d78e59e46b.jpg

服务器发生故障!
\n
\n告警服务器:{HOSTNAME1}
\n告警服务器IP地址:{HOST.CONN}
\n告警时间:{EVENT.DATE} {EVENT.TIME}
\n告警等级:{TRIGGER.SEVERITY}
\n告警信息: {TRIGGER.NAME}
\n告警项目:{TRIGGER.KEY1}
\n问题详情:{ITEM.NAME}:{ITEM.VALUE}
\n发生: {TRIGGER.NAME}故障!
\n当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
\n事件 ID:{EVENT.ID}

服务器故障已恢复!
\n
\n告警服务器:{HOSTNAME1}
\n告警服务器IP地址:{HOST.CONN}
\n告警时间:{EVENT.DATE} {EVENT.TIME}
\n告警等级:{TRIGGER.SEVERITY}
\n告警信息: {TRIGGER.NAME}
\n告警项目:{TRIGGER.KEY1}
\n问题详情:{ITEM.NAME}:{ITEM.VALUE} {TRIGGER.NAME}已恢复!
\n当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1}
\n事件 ID:{EVENT.ID}

服务器:报警确认!
\n
\n确认人:{USER.FULLNAME}
\n时间:{ACK.DATE} {ACK.TIME}
\n确认信息如下:{ACK.MESSAGE}
\n问题服务器:{HOSTNAME1}
\n问题服务器IP:{HOST.CONN}
\n问题详情: {TRIGGER.NAME}
\n问题ID:{EVENT.ID}

然后手动触发一次报警

若要其他人也能收到报警信息,则用微信扫描 我的企业,微工作台.

7c40ffe3e9769620d2d388fc7509ff7bd2f.jpg

还有就是通讯录一定要添加该成员

 

参考博客 https://www.cnblogs.com/winstom/p/8883796.html

 

转载于:https://my.oschina.net/u/3805108/blog/3000321

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
课程目标     全面理解和掌握 Zabbix 监控系统的架构及运行原理,搭建和管理各种规模的Zabbix监控系统 课程简介         Zabbix是一个开源的企业级的监控解决方案。通过Zabbix可以监控IT基础设施的方方面面,包括硬件、操作系统、网络、虚拟化层、中间件和各种业务应用系统。用Zabbix几乎可以监控你想监控的任意数据。              本课程从Zabbix的介绍、安装开始,一步步带你深入Zabbix,通过学习你会:         1、掌握Zabbix各个组件的配置和管理。         2、掌握不同监控项的类型和配置方法,根据监控需求灵活配置监控项。         3、掌握网络发现、低级发现和主动式agent自动注册,实现自动化监控。         4、掌握模版、宏变量、触发器和告警通知的配置和高级的应用方法。         5、掌握图形、屏幕、拓扑图和仪表盘等数据可视化的方法,利用大屏可以实时的展示监控数据。         6、掌握Zabbix系统自身的维护、备份、升级、排障以及性能优化。         7、掌握Zabbix内部运行机制和Zabbix使用技巧,让zabbix更好的帮助你实现监控目标。                  本课程中还包含很多操作演示,比如像创建主机,创建监控项、触发器、图形、全局事件关联等,也介绍了微信和钉钉告警的配置方法。当你对Zabbix深入了解之后,面对层出不穷的新业务、新应用,你都能轻松自如的制定和提供相应的监控解决方案。 特别提示:官网的中文文档有些地方翻译的有问题,一定要以英文文档为准。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值