首先需要申请一个企业号,其实公众号也可以,不过脚本不一样。而且公众号任何人都可以关注,有泄密的风险。企业号只有指定的人可以关注,安全性较高。申请企业号,需要一个绑定你本人开户银行卡的微信号。

申请网址 https://qy.weixin.qq.com/

点击“立即注册”。根据提示注册企业号,到“选择类型”时,选择最右边的企业号。注意:企业描述中:“报警”是敏感词不能使用。登录之后,可以看到如下页面

填写信息:

申请完毕后,登录

在通讯录添加成员

注:这里的账号相当于你的企业账号,与微信号无关。必须先在此处创建用户,并且填写正确的微信号或者手机号,才可通过扫描二维码关注该企业号(知道为何安全了吧)。

这里扫描二维码就可以关注。

添加应用

填写信息

填写完成后,出现你刚填写的应用

点击查看详情

记住应用ID,后面能用到!

点击设置,管理组,权限管理, 记住  CorpID   Secret   (后面能用到)

现在万事俱备,可以开始编写脚本了。

编写脚本 

在/usr/lib/zabbix/alertscripts下编写脚本wechat.sh

脚本如下:

 #!/bin/bash
###SCRIPT_NAME:weixin.sh###
###send message from weixin for zabbix monitor###
###wuhf###
###V1---### CropID='************'
Secret='************'
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $4}') PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken" function body() {
local int AppID=******
local UserID=$
local PartyID=
local Msg=$(echo "$@" | cut -d" " -f3-)
printf '{\n'
printf '\t"touser": "'"$User"\"",\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

注释:更新代码(其上可能调用的URL时效)

 #!/bin/bash

 CropID='wxe46cfc45d0c07e23'
Secret='takL9WW2Eo_Ww5AGENHR7mJA6nl89sz1ghbhpAE8Jus'
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() {
local int AppID=
local UserID=@all
local Msg=$(echo "$@" | cut -d" " -f3-)
printf '{\n'
printf '\t"touser": "'"$UserID"\"",\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

以上CropID,Secret,AppID   填写自己微信号上的正确信息,否则无效!

chown -R zabbix:zabbix /usr/local/zabbix/alertscripts chmod 750 /usr/local/zabbix/alertscripts/wechat.sh

执行./wechat.sh 1 1 test 看自己微信是否能收到东西。

如果能的话,继续下一步。反之检查上面有什么问题

然后到zabbix上添加

点击管理---媒体类型---创建媒体类型

管理---用户---添加用户

组态---动作---添加动作

名称:weixin_action 默认接收人:故障{TRIGGER.STATUS},服务器:{HOSTNAME1}发生: {TRIGGER.NAME}故障!

默认信息:

告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}

恢复信息:打钩

恢复主旨:恢复{TRIGGER.STATUS}, 服务器:{HOSTNAME1}: {TRIGGER.NAME}已恢复!

恢复信息:

告警主机:{HOSTNAME1} 告警时间:{EVENT.DATE} {EVENT.TIME} 告警等级:{TRIGGER.SEVERITY} 告警信息: {TRIGGER.NAME} 告警项目:{TRIGGER.KEY1} 问题详情:{ITEM.NAME}:{ITEM.VALUE} 当前状态:{TRIGGER.STATUS}:{ITEM.VALUE1} 事件ID:{EVENT.ID}

已启用:打钩

最后测试,是否会微信报警。停掉一台机子

表示成功!

附加:在搭建的过程中,我碰见了一个问题就是,

在虚拟机上用命令测试,微信能收到信息。但是到zabbix上就不成功,并且zabbix上动作显示已送达!详细请看下一篇文档!

zabbix3.0 微信告警的更多相关文章

  1. zabbix3.0 安装方法,一键实现短信、电话、微信、APP 告警

    引言 免费开源监控工具 Zabbix 因其强大的监控功能得到各大互联网公司的广泛认可,具体功能不再详细介绍,在之前发布的 Zabbix 2.4.1 安装及微信短信提醒已经做了详细介绍,本篇主要对 Za ...

  2. Zabbix-3.0.3实现微信(WeChat)告警

    导读 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人,方便告 ...

  3. 分布式监控系统Zabbix-3.0.3-新版微信报警(企业微信取代企业号)

    一般来说,Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是现在越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信息推送到接收人 ...

  4. Zabbix-3.0.3实现微信(WeChat)报警

    转自:http://blog.sina.com.cn/s/blog_87113ac20102w7hp.html Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来 ...

  5. zabbix3.0.4 邮件告警详细配置

    sendEmail是一个轻量级,命令行的SMTP邮件客户端.如果你需要使用命令行发送邮件,那么sendEmail是非常完美的选择:使用简单并且功能强大.这个被设计用在php.bash perl和web ...

  6. zabbix3.4.7实现企业微信告警,亲测可用!

    Zabbix 新版微信告警 Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是越来越多的企业开始使用zabbix结合微信作为主要的告警方式,这样可以及时有效的把告警信 ...

  7. Zabbix-3.0.x使用OneAlert发送告警

    导读 OneAlert 是国内首个 SaaS 模式的云告警平台,集成国内外主流监控/支撑系统,实现一个平台上集中处理所有 IT 事件,提升 IT 可靠性.它能以史上第二快的速度,对事件进行智能的组织. ...

  8. python3.6-Yelp/elastalert0.2.1-elk7.2.0邮件加企业微信告警

    0.修改时区(前提条件已经安装好elk7.2) rm -f /etc/localtimecp /usr/share/zoneinfo/Asia/Shanghai /etc/localtimetimed ...

  9. 转:Zabbix-3.0.x使用OneAlert发送告警

    转自: http://blog.sina.com.cn/s/blog_87113ac20102w7il.html   ( 标签: onealert 分类: zab OneAlert 是国内首个 Saa ...

随机推荐

  1. 优化 从Draw Calls到GC

    原文出处: 慕容小匹夫的博客(@慕容小匹夫)   欢迎分享原创到伯乐头条 前言: 刚开始写这篇文章的时候选了一个很土的题目...<Unity3D优化全解析>.因为这是一篇临时起意才写的文章 ...

  2. ibatis map

    <select id="selectBank2" parameterClass="java.util.Map" resultClass="jav ...

  3. VS2010 使用WebService

    vs2010上面找不到直接创建webservice模板方式了.可以通过一下方式创建. 1.如果直接选择 .NET 4.0,可以选择 ASP.NET Empty Web Site/Application ...

  4. CRC16 三种算法及c实现

    标准CRC生成多项式如下表: 名称                     生成多项式                           简记式*                 标准引用   CR ...

  5. leveldb 学习笔记之VarInt

    在leveldb在查找比较时的key里面保存key长度用的是VarInt,何为VarInt呢,就是变长的整数,每7bit代表一个数,第8bit代表是否还有下一个字节, 1. 比如小于128(一个字节以 ...

  6. Noip2016提高组 玩具谜题toy

    Day 1 T1 题目大意 一些naive的玩具小人把小南的眼镜藏起来,但小南有一份too simple的小纸条,告诉小南眼镜在第一个小人往哪数第几个的往哪数的第几个的往哪数第几个的往哪数的第几个的往 ...

  7. python 整齐输出与编码读写

    # -*- coding:utf-8 -*- # Author:mologa for x in range(1,11): print(repr(x).rjust(2),repr(x*x).rjust( ...

  8. Dev GridControl数据修改后实时更新数据源

      1:  /// <summary> 2:  /// 嵌入的ComboxEdit控件选择值变化事件 3:  /// </summary> 4: /// <param n ...

  9. Global.asax 文件是什么

    Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一些任务.下面让我们详细看 ...

  10. VS2012开发工具BUG

    发现VS2012开发工具 新建立项目名称长度限制的一个bug, 向导方式名称长度限制56个,但建立好的项目名称长度是可以改的很长很长. 也有想是不是生成程序集的名称会有限制,同样这里生成程序集名称,及 ...