首先你得有个企业号!!!具体操作步骤可以参考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. Javascript函数调用的四种模式

    一 前言 Javascript一共有四种调用模式:方法调用模式.函数调用模式.构造器调用模式以及apply调用模式.调用模式不同,对应的隐藏参数this值也会不同. 二 方法调用模式 函数作为对象的属 ...

  2. 关于Windows 7启动后网络一直转的问题的一个解决方法

    前两天给自己的X220i换了个SSD,装了个windows 7 的系统,然后自然搞了一些杀毒软件之类的,为了开发需要还装了Oracle数据库,可是,不知道从什么时候开始,系统启动后右下角那个网络图标显 ...

  3. VS中附加进程的方式调试IIS页面,以及设置断点无效问题解决

    以前调试网站的时候都习惯是直接在解决方案中右键调试——启动新实例,后来发现这样的缺点有: 1.启动比较慢: 2.一些浏览器的request参数无法带入: 3.不特殊指定启动url的话,VS会将页面加载 ...

  4. iOS 为iPhone和iPad创建不同的storyboard

    复制Main.storyboard,重命名为Main_iPad.storyboard 在info.plist文件中添加 Main storyboard file base name (iPad) -- ...

  5. Thinkphp源码分析系列(四)–Dispatcher类

    下面我们来分析一下Thinkphp中的url解析和路由调度类.此类主要功能是 // +--------------------------------------------------------- ...

  6. js中js数组、对象与json之间的转换

    在数据传输过程中,json是以文本,即字符串的形式传递的,而JS操作的是JSON对象,所以,JSON对象和JSON字符串之间的相互转换是关键.例如:JSON字符串:var str1 = '{ &quo ...

  7. leetcode 205

    205. Isomorphic Strings Given two strings s and t, determine if they are isomorphic. Two strings are ...

  8. Appium常见问题(持续更新)

    1.Original error: Could not parse activity from dumpsys 命令行:adb shell  dumpsys cpuinfo  报:service du ...

  9. input 放大镜

      <input results="s" type="search" size="20px"  placeholder="搜 ...

  10. Python-any函数和all函数

    any函数: any(x),只要x中有一个不为空,0,false就返回True,否则返回False all(x)函数 必须x中的所有元素均不为空,0,false才会返回True,否则返回False & ...