zabbix配置2018版本微信报警

centos6.5中微信报警需要Python2.7版本之上,由于服务器是centos6.5。所以需要升级版本2.6到2.7.

具体升级步骤:Python升级版本2.6到2.7

一、微信企业号申请

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

注册企业微信:

需要一个绑定银行卡的微信

主要流程如下:
 1.创建微信用户成员。
 2.创建应用,这是关键,如果是刚申请的公众号,创建的第一个应用ID 为1 (现在升级后的企业微信创建的应用ID为1000002)。
 3.创建应用管理组,添加组成员(也就是设置哪些用户可以接收到报警的通知信息)。
 4.创建成功后需要获取到以下信息:CropID  和Secret 当然还包括创建的用户信息。
  申请企业微信,创建对应的组成员这些就不介绍了,按照注册向导创建即可,主要写下创建应用获取应用Secret 和CorpID

主要找到 AgentId 和 Secret 和CorpID,部门id

注册成功后,进入管理后台

以下举个例子做为概述

1)选择企业应用------创建应用 对应范围选择自己的部门。

2)创建成功后就可以看到该应用的 AgentId 和 Secret

3)CorpID 需要在【我的企业】-【企业信息】中获取

4)部门ID 很隐蔽,在【通讯录】-左侧部门列表 点击查看

综上所述可以获得

部门id

AgentId

Secret

CorpID

二、zabbix 脚本创建

vim /usr/local/zabbix/alertscripts/weixin.sh

 #!/bin/bash
CropID='**********************'
#填写我们的应用CropID
Secret='**********************************'
#应用的Secret,下面的GURL和PURL 地址无需变动
GURL="https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=$CropID&corpsecret=$Secret"
#Gtoken=$(/usr/bin/curl -s -G $GURL | awk -F\" '{print $4}')
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= #这里是创建的应用ID,AgentId
local UserID=$ #接收消息用户,我们在部门里面添加的用户,如果有其他人,用逗号代替
                        部门成员id,zabbix中定义的微信接收者
local PartyID= #接收消息的部门ID,定义了范围,组内成员都可接收到消息。
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

脚本设置权限和所属用户

chown zabbix.zabbix weixin.sh

chmod 744 weixin.sh

第三、微信接口调用

调用微信接口需要一个调用接口的凭证:access_token
通过CorpID和Secret可以获得access_token
微信企业号接口调试地址: http://qydev.weixin.qq.com/debug

手动测试脚本能否正常发信,测试的账号由于在脚本里未写明,观察到微信能正常收到测试信息:

比如说在后台下有一个添加的用户是syp,该用户在添加进入部门前会

在微信上添加该用户,并且会下载企业微信,并关注(必须的,否则会接受不到消息)

bash weixin.sh  syp test test

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

在zabbix的web界面进行配置

接着开始登陆zabbix,添加报警设置(跟邮件报警的配置差不多)

1)创建报警媒介(这里我选用python脚本:weixin.py,如果选用shell脚本,就改换weixin.sh。其他设置都不变!)

注意下面要填写的脚本参数:
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}

2)创建用户weixin(密码一栏可以选择跟之前的超级管理员zabbix一样的密码;用户类型也可以设置成超级管理员)

这里最好使用微信企业号的应用ID,AgentId.用户账号。这里只需要填写一个账号即可。zabbix的web界面里发信是按照应用ID,只要关注这个微信企业号内的用户都会收到报警邮件

这样发的报警信息,在企业号内的用户都能收到。或者添加任意一个用户账号(比如syp1111111111),切不可添加多条,否则就会收到重复信息。

3)创建动作

注意严格下面的微信发送格式:
上面的默认接收人填写:{TRIGGER.STATUS}: {TRIGGER.NAME}

默认信息和恢复信息要填写一样的内容,如下:
告警主机:{HOST.NAME}
主机IP: {HOST.IP}
告警时间:{EVENT.DATE} {EVENT.TIME}
告警等级:{TRIGGER.SEVERITY}
告警信息:{TRIGGER.NAME}
问题详情:{ITEM.NAME}:{ITEM.VALUE}
当前状态: {TRIGGER.STATUS}:{ITEM.VALUE1}
事件ID: {EVENT.ID}

如下,在“条件”里可自主选择添加“主机”和“模板”(具体可参考上一篇的“zabbix邮件报警”的此步设置)

下面的“操作”(具体说明可参考上一篇的“zabbix邮件报警”的此步设置)。
下面设置的报警信息只发送给weixin用户就行了,没有发生给用户组。

注意:“操作”底部的“条件“做如下设置(时间已确认=非确认),这个别忘了!

这样,就顺利创建了一个名为“weixin”的动作

测试,将其中一台被监控机器(192.168.1.25)的zabbix-agent服务关掉,观察微信是否能正常收到报警信息:
经测试,报警信息(3次)和恢复后的信息(1次),微信都能正常收到。

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
要追加用户的微信监控,只需要将用户添加到相关应用关联到的对应部门里即可!其他配置都不需要动。

zabbix的配置之新版微信报警(二)的更多相关文章

  1. 通过脚本发送zabbix微信报警

    实现zabbix通过微信报警的方式也是通过脚本来实现,与邮件报警不同的是,脚本调用的微信的相关接口的获取相对复杂一点 1.申请一个微信公众号(企业号) 申请方法不多说,如果已申请请忽略 2.在微信企业 ...

  2. zabbix利用微信报警

    一.背景介绍 报警的方式有很多种,比如常用的邮件报警,短信,微信等.那这篇文章主要是实现微信报警. 值得注意的是,之前使用微信企业公众号,现在微信企业公众号更新成企业微信了.所以直接注册企业微信,进入 ...

  3. zabbix配置微信报警

    首先我们先目睹下微信报警的效果 接下来我们正式开始操作. 一:注册企业微信. 打开企业微信注册:http://work.weixin.qq.com 根据以上提示填入相应的内容,然后注册即可. 二:登录 ...

  4. 总zabbix配置-搭建-邮件报警-微信报警-监控mysql

    Centos7安装Zabbix4.0步骤 官方搭建zabbix4.0的环境要求: 1. 环境搭建LAMP 前提Centos系统安装完成:  确认一下: 1 2 cat /etc/redhat-rele ...

  5. zabbix设置微信报警的配置过程

    zabbix设置微信报警的配置过程 转发:https://blog.csdn.net/qq_31613055/article/details/78831607 微信企业号的申请 注册的地址https: ...

  6. Zabbix配置微信报警通知

    Zabbix告警可以通过邮件,微信,电话,短信等方式发送告警消息. 电话和短信需要向运营商购买相应的网关,需要付费: 邮件和微信是免费的,可以根据业务需要选择相应的告警模式 Zabbix版本:3.2 ...

  7. Zabbbix之十二------Zabbix实现微信报警通知及创建聚合图形

    实战一:实现zabbix监控微信报警 1.在企业微信上注册账号 1.注册企业微信,管理员需要写上自己的真实姓名,扫描以下的二维码,与微信关联真实姓名. 2.登陆企业微信,然后创建一个微信故障通知应用 ...

  8. 配置zabbix通过微信报警企业微信报警

    如今势态: 报警的方式可谓是八仙过海各显神通,如电话报警,短信报警,邮件报警,QQ报警,微信报警等等. 电话报警:一般都是使用别的平台的工具,平台给你提供一个接口供你使用,大多数为限量收费款 短信报警 ...

  9. 部署zabbix,自动发现lnmp环境,监控主机状态,实现 邮件及微信报警(配置server端)

    二.配置server端监控 1.监控apache 首先在本机下载模板:https://github.com/rdvn/zabbix-templates/archive/master.zip  该 zi ...

随机推荐

  1. IE兼容rgba()透明度

    一般浏览器的背景透明度可以直接设置 background:rgba(0,0,0,.5); -webkit-background:rgba(0,0,0,.5); -o-background:rgba(0 ...

  2. iOS操作系统的层次结构

    iOS操作系统4层结构,如下表 可触摸层 Cocoa Touch layer 媒体层 Media layer 核心服务层 Core Services layer 核心操作系统层 Core OS lay ...

  3. vue+element ui项目总结点(四)零散细节概念巩固如vue父组件调用子组件的方法、拷贝数据、数组置空问题 等

    vue config下面的index.js配置host: '0.0.0.0',共享ip (假设你的电脑启动了这个服务我电脑一样可以启动)-------------------------------- ...

  4. 使用javap深入理解Java整型常量和整型变量的区别

    我下图代码第五行和第九行分别定义了一个整型变量和一个整型常量: static final int number1 = 512; static int number3 = 545; Java程序员都知道 ...

  5. 目后佐道IT教育:师资团队

    高端技术顾问 1. leepoor 拥有12年的Web开发和架构经验,在阿里巴巴担任高级架构师,参与阿里巴巴基础技术平台开发和www.alibaba.com架构设计.擅长大型网站技术架构,工作中经常使 ...

  6. activeandroid复制本地数据库问题总结

    activeandroid no such table 解决activeandroid no such table failed to read row 0 column 1 from a curso ...

  7. 单源最短路Dijstra

    #include<iostream> #include<cstring> #define INF 0x3f3f3f3f using namespace std; ][],d[] ...

  8. python之路——目录

    目录 python基础部分 基础部分 介绍.基本语法.流程控制 列表 元祖 字符串 字典 集合 文件操作 函数 变量 递归 迭代器,生成器,装饰器,Json和pickle 数据序列化 函数 初识函数 ...

  9. Python 解压序列、可迭代对象并赋值给多个变量

    Python数据结构和类型 1.1 解压序列赋值给多个变量 现在有一个包含N个元素的元组或者是序列,怎样将它里面的值解压后同时赋值给N个变量? 解决思路:先通过简单的解压赋值给多个变量,前提是变量的数 ...

  10. MySQL binlog-server搭建

    MySQL binlog-server搭建 binlog在备份中起着至关重要的作用,备份binlog文件时,只能先在本地备份,然后才能传送到远程服务器上.从MySQL5.6版本后,可以利用mysqlb ...