首先你得有个企业号!!!具体操作步骤可以参考http://itnihao.blog.51cto.com/1741976/1733245,里面写的很详细就不重复了。

  微信公众号注册并配置完成后,还需要让zabbix通过脚本实现微信告警,以下为本人使用的微信告警脚本

 [root@alertscripts]# cat weixin.sh
#!/bin/bash
#可在微信公众号的设置菜单 => 权限管理 => 选择发送告警信息的管理组即可看到CropID和Secret信息
CropID="XXXXX"
Secret="XXXXX"
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret" #微信公众号接口
Gtoken=$(/usr/bin/curl -s -G $GURL | /bin/awk -F\" '{print $4}')                #根据填写的CropID和Secret获取发送信息的管理组的token
PURL="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=$Gtoken"         #接收告警信息的微信接口
UserID1="@all"                                              #接收人ID,在微信公众号添加成员时自己填写的账号,建议以公司工号+姓名首字母组成
Msg=$3                                                  #zabbix传过来的告警信息正文 function body(){
local int AppID=1                #应用ID,即你创建的用来发送信息的应用,在应用中心 => 我的应用里可以找到
local UserID=$UserID1              #接收人ID,填写@all表示发给所有关注该公众号的用户
local PartyID=1 #部门ID
local Totag="@all" #标签ID
printf '{\n'
printf '\t"touser": "'"$UserID"\"",\n"
printf '\t"toparty": "'"$PartyID"\"",\n"
printf '\t"totag": "'"Totag"\"",\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)" $PURL #发送告警信息

把该脚本放到放在zabbix服务端相关目录下,笔者这里是/usr/local/share/zabbix/alertscripts

 [root@alertscripts]# chmod +x weixin.sh          #赋予执行权限
[root@alertscripts]# sh weixin.sh d d 测试 #如果微信接收到“测试”消息就算是成功了
{"errcode":,"errmsg":"ok","invalidtag":"all tag invalid"}

  然后是配置zabbix

1、创建告警内容

以下是笔者定制的告警内容,可供参考

警告:服务器 {HOSTNAME1} 出现异常 {TRIGGER.NAME}

告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
告警项目:{TRIGGER.KEY1}
问题详情:监控到{ITEM.NAME}为 :{ITEM.VALUE}
当前状态:异常
事件ID:{EVENT.ID} 请及时登录运维平台http://192.168.1.8:8888/dashboard.php进行处理! 特别声明:本邮件为系统告警程序自动发送,请勿回复!如有问题,请及时联系运维人员

2、添加微信到告警媒介

3、关联用户,这里接收人随便填,因为接收人已经在微信里配置好了,脚本也不接收该参数但这是必填项,所以这里填什么都可以

之后可以改一下触发器的阀值,测试微信的告警功能

zabbix微信告警实践的更多相关文章

  1. Zabbix微信告警

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

  2. zabbix 微信告警配置

    作者信息 邮箱:sijiayong000@163.com Q Q:601566386 Zabbix 微信告警 摘要:Zabbix可以通过多种方式把告警信息发送到指定人,常用的有邮件,短信报警方式,但是 ...

  3. zabbix 微信告警机制

    微信告警首先得注册一个企业微信,然后才能实现微信告警.自行百度 微信: 添加一个用户到上面创建的部门里面 创建完成记住 AgentID  和 Secret 下一步:记住企业 ID 1)编辑zabbix ...

  4. zabbix微信告警(虚拟机脚本测试成功,zabbix上收不到信息)

    前言: 使用zabbix直接运行脚本又可以正常接收.但是登录zabbix  web界面,测试!  动作显示已送达,但是微信并没有收到信息! 解决: 添加脚本参数,因为不添加脚本参数,调用不了你这个脚本 ...

  5. 6.zabbix微信告警3.2

    原文地址: https://blog.cactifans.com/2016/01/27/zabbix%E5%BE%AE%E4%BF%A1%E5%91%8A%E8%AD%A6/ pdf : 链接: ht ...

  6. zabbix 微信告警脚本

    #!/usr/bin/env python3 import requests import json import sys import os def access_token(Corpid,Secr ...

  7. 【zabbix】微信告警消息模版

    下面给出了一个zabbix微信告警消息的模版, 消息最后加上#号和短横线的设计有两个原因: 1,zabbix的微信告警消息总是被截断,比如最后一个告警时间,如果没有最后一行#号,在微信上看的时候时间不 ...

  8. zabbix 告警实践分享 一键实现zabbix 电话、邮件、微信告警

    众所周知Zabbix 是一款用来监控IT基础设施的监控套件,同时也具有很多方便运维人员使用的优秀功能,如:支持多条件告警,支持多种告警方式,支持多组模板.支持模板继承,因此在众多的开源运维监控软件中独 ...

  9. 在zabbix中实现发送带有图片的邮件和微信告警

    1 python实现在4.2版本zabbix发送带有图片的报警邮件 我们通常收到的报警,都是文字,是把动作中的消息内容当成了正文参数传给脚本,然后邮件或者微信进行接收,往往只能看到当前值,无法直观的获 ...

随机推荐

  1. @ResponseBody

    @Controller public class PersonController { /** * 查询个人信息 * * @param id * @return */ @RequestMapping( ...

  2. php创建文件并写入信息

    $myfile = fopen("c:\\newfile.txt", "w") or die("Unable to open file!") ...

  3. js对象常用2中构造方法

    //js 对象的构造方法通常有2中情况: //第一种是通过json对象构造 var persion={ name:"孙悟空", age:40, eat:function () { ...

  4. javascript 字符串数组链接

    <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content ...

  5. java学习第12天

    今天主要是看下正则表达式,其实在编译原理中就接触过.正则表达式就是符合一定规则的字符串. A:字符 x 字符 x.举例:'a'表示字符a \\ 反斜线字符. \n 新行(换行)符 ('\u000A') ...

  6. weedfs getsockopt: connection timed out

    启动master weed master -ip 10.191.197.133 -mdir /namenode -ip.bind 10.191.197.133 I0809 16:53:51 7721 ...

  7. ConCurrent in Practice小记 (2)

    Java-ConCurrent2.html :first-child{margin-top:0!important}img.plugin{box-shadow:0 1px 3px rgba(0,0,0 ...

  8. DNS初识

    /注释----本文大部分内容来自网络/ 一.定义: DNS 是域名系统 (Domain Name System) 的缩写,是因特网的一项核心服务,它作为可以将域名和IP地址相互映射的一个分布式数据库, ...

  9. Parallel线程使用

    Parallel的静态For,ForEach和Invoke方法       在一些常见的编程情形中,使用任务也许会提升性能.为了简化编程,静态类System.Threading.Tasks.Paral ...

  10. Android_Activity生命周期

    通过前面一段时间的学习,我们很清楚我们的一系列操作都离不开的一个东西,就是我们的activity .接下来我们对 Activity 进行系统的总结. Activity 的四种基本状态 1.运行态(Ru ...