Zabbix微信告警

摘要

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

Zabbix微信告警
问题:{"errcode":40014,"errmsg":"invalid access_token"}

最近很多朋友出现执行脚本的时候出现{"errcode":40014,"errmsg":"invalid access_token"}

这时候需要把企业微信号里的应用删除掉,从新进行添加。就可以发送成功了!


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

关于邮件报警可以参考:
Zabbix 使用脚本发送邮件
Zabbix Web 邮件报警


 

一、微信企业号申请

地址: http://work.weixin.qq.com/

第一步注册

因为我们没有企业,所以我们选择组织。

提示:这里简单的说一下,微信企业号和微信公众号是不一样的!

继续下一步

提示一下: 因为这步需要添加管理员的身份证号以及手机号,我这里就不截图了

 

二、配置微信企业号

当我们设置完微信号的信息之后,请继续跟我操作。中间可能步骤不是特别全,就是设置企业的信息

我们需要记录CorpID

我们点击通讯录,添加一个组,或者添加一个成员。成员可以使用微信邀请或者短信邀请,我扫码添加自己的时候微信这个坑比给我下载一个企业微信。很尴尬,微信变了。不单纯了

添加完管理员需要记录管理员账号

我们添加成员需要记录成员ID

点进去

记录用户账号

点击企业应用,新增应用

设置应用

同样也可以在微信插件里面二维码邀请关注加入通讯录

创建完成后
需要记录Agentld、Secret

以前的应用ID和组ID已经被取消

 

准备事项:

微信企业号
企业号已经被部门成员关注
企业号有一个可以发送消息的应用,一个授权管理员,可以使用应用给成员发送消息

 

需要得到的信息

 
  1. 记录用户的账号
  2. CorpID和Secret、Agentld
 

三、修改Zabbix.conf

 
  1. [root@abcdocker ~]# grep alertscripts /etc/zabbix/zabbix_server.conf
  2. AlertScriptsPath=/usr/lib/zabbix/alertscripts
  3. 我们设置zabbix默认脚本路径,这样在web端就可以获取到脚本
 

四、设置脚本

下载脚本
url已失效,请使用云盘下载
链接:http://pan.baidu.com/s/1skXgaKl 密码:xz09

 
  1. [root@abcdocker alertscripts]# pwd
  2. /usr/lib/zabbix/alertscripts
  3. [root@abcdocker alertscripts]# rz #如果没有rz可以使用yum install lrzsz 安装rz
  4. [root@abcdocker alertscripts]# chmod 755 wechat
  5. [root@abcdocker alertscripts]# chown zabbix:zabbix wechat

执行脚本,进行测试

 
  1. [root@abcdocker alertscripts]#./wechat --corpid=wwcxxxxxxxxxxxxxxxx --corpsecret=Q-HMnIo9HKX8kZwbT4m1SUcS-kmYhmiuRgr4DCLreQA --msg="您好,告警测试"--user=CongYuHong--agentid=1000002
  2. {"errcode":0,"errmsg":"ok","invaliduser":""}
  3. 提示:
  4. --corpid=我们企业里面的id
  5. --corpsecret=这里就是我们Secret里面的id
  6. -msg=内容
  7. -user=我们邀请用户的账号
  8. 因为脚本是编译过的,无法进行编辑,我们可以使用./wechat -h or--help 查看

 

五、zabbix web 界面配置

创建报警媒介

 
  1. --corpid=我们企业里面的id
  2. --corpsecret=这里就是我们Secret里面的id
  3. --agentid=Agentld ID
  4. --user={ALERT.SENDTO}
  5. --msg={ALERT.MESSAGE}

这里是和旧版本的区别

创建报警用户

这里填写微信收件人的账号

设置报警动作

报警消息设置如下:

 
  1. hostname:({HOST.NAME}
  2. Time:{EVENT.DATE}{EVENT.TIME}
  3. level:{TRIGGER.SEVERITY}
  4. message:{TRIGGER.NAME}
  5. event:{ITEM.NAME}:{ITEM.VALUE}
  6. url:www.abcdocker.com

恢复报警如下:

 
  1. hostname:({HOST.NAME}
  2. Time:{EVENT.DATE}{EVENT.TIME}
  3. level:{TRIGGER.SEVERITY}
  4. message:{TRIGGER.NAME}
  5. event:{ITEM.NAME}:{ITEM.VALUE}
  6. url:www.abcdocker.com

报警配置如下

恢复配置如下

提示: 不要忘记先点小的add-->小的update-->Update

 

六、测试

为了验证效果我们停掉zabbix-agent,进行查看报警

 
  1. [root@abcdocker ~]# systemctl stop zabbix-agent

报警如下

我是把我网站停了让你们看结果的!

Zabbix微信告警的更多相关文章

  1. zabbix 微信告警配置

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

  2. zabbix微信告警实践

    首先你得有个企业号!!!具体操作步骤可以参考http://itnihao.blog.51cto.com/1741976/1733245,里面写的很详细就不重复了. 微信公众号注册并配置完成后,还需要让 ...

  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接入百度告警平台 微信告警 实现微信告警只需要如下四步: 个人主页关注微信 升级策略配置微信告警 服务管理 ...

  9. zabbix python 微信告警脚本

    测试zabbix的微信告警耗费了大量时间,使用了开源工具(OneOaaS weixin-alert).shell脚本工具(手动执行正常,服务器调用失败),均没有实现相关功能以下是自己优化过的Pytho ...

随机推荐

  1. postgresql 9.4.4 源码安装

    Postgresql下载网址: http://www.postgresql.org/ftp/source/ 这里我们选择最新的稳定版版postgresql-9.4.4 的源码版 https://ftp ...

  2. _bzoj1087 [SCOI2005]互不侵犯King【dp】

    传送门:http://www.lydsy.com/JudgeOnline/problem.php?id=1087 令f(i, j, k)表示前i列,二进制状态为j,已经用了k个国王的方案数,则 f(i ...

  3. linux安装glassfish并布署

    1 https://glassfish.java.net/download.html 2 准备工作:需要jdk7以上版本 Java EE 7 requires JDK 7 (or above) 下载g ...

  4. 窗口Dialog

    Dialog是窗口的意思,它是Window的子类.与frame相比,frame是我们大的窗口,而dialog便是那种弹出来和你说话的对话框. Dialog类的默认布局是BorderLayout Dia ...

  5. 基于CentOS6.5下如何正确安装和使用Tcpreplay来重放数据(图文详解)

    前期博客 基于CentOS6.5下snort+barnyard2+base的入侵检测系统的搭建(图文详解)(博主推荐) tcpreplay是什么? 简单的说, tcpreplay是一种pcap包的重放 ...

  6. 【原】无脑操作:Eclipse + Maven + jFinal + MariaDB 环境搭建

    一.开发环境 1.windows 7 企业版 2.Eclipse IDE for Enterprise Java Developers  Version: 2019-03 (4.11.0) 3.JDK ...

  7. 组合模式和php实现

    组合模式(有时候又叫做部分-整体模式): 将对象组合成树形结构以表示“部分整体”的层次结构.组合模式使得用户对单个对象和组合对象的使用具有一致性.它使我们树型结构的问题中,模糊了简单元素和复杂元素的概 ...

  8. APK瘦身-是时候给App进行减负了

    前言 APK瘦身即是对APK大小进行压缩策略,减小APK安装包大小,更小的安装包更有助于吸引用户安装.前一段时间我司某一App进行APK的瘦身,最终也达到了减小10M的目标,现做一个简单的总结记录. ...

  9. CCF|分蛋糕|Java

    import java.util.Scanner; public class tyt { public static void main(String[] args) { Scanner in = n ...

  10. TCP/UDP套接字 java socket编程实例

    网络协议七层结构: 什么是Socket? socket(套接字)是两个程序之间通过双向信道进行数据交换的端,可以理解为接口.使用socket编程也称为网络编程,socket只是接口并不是网络通信协议. ...