企业微信配置

# 注册

企业微信注册地址:https://work.weixin.qq.com

笔者注册的企业微信名称为 5iik

# 配置

# 在主干5iik(企业名称)下添加子部门(监控组),并将自己加入到组中;

# 依次点击 应用管理 > 创建应用,将可见范围选择 "监控组";

# 笔者创建的应用名称为 "监控示警"

# 至此,企业微信配置完毕,需要收集的信息如下:

1)成员账号

2)组织部门ID

3)Agentld和Secret

4)企业ID

zabbix服务端配置

# 安装Python模块

# pip install simplejson

# zabbix server配置

# 默认zabbix调用的脚本目录为 /usr/lib/zabbix/alertscripts

# 配置监控监本

[root@kazihuo ~]# cat /usr/lib/zabbix/alertscripts/wechat.py

 #!/usr/bin/python
#_*_coding:utf- _*_ import urllib,urllib2
import json
import sys
import simplejson reload(sys)
sys.setdefaultencoding('utf-8') def gettoken(corpid,corpsecret):
gettoken_url = 'https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=' + corpid + '&corpsecret=' + corpsecret
print gettoken_url
try:
token_file = urllib2.urlopen(gettoken_url)
except urllib2.HTTPError as e:
print e.code
print e.read().decode("utf8")
sys.exit()
token_data = token_file.read().decode('utf-8')
token_json = json.loads(token_data)
token_json.keys()
token = token_json['access_token']
return token def senddata(access_token,user,subject,content):
send_url = 'https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=' + access_token
send_values = {
"touser":"LuoMuRui", #企业号中的用户帐号,在zabbix用户Media中配置,如果配置不正常,将按部门发送。
"toparty":"", #企业号中的部门id。
"msgtype":"text", #消息类型。
"agentid":"", #企业号中的应用id。
"text":{
"content":subject + '\n' + content
},
"safe":""
}
# send_data = json.dumps(send_values, ensure_ascii=False)
send_data = simplejson.dumps(send_values, ensure_ascii=False).encode('utf-8')
send_request = urllib2.Request(send_url, send_data)
response = json.loads(urllib2.urlopen(send_request).read())
print str(response) if __name__ == '__main__':
user = str(sys.argv[]) #zabbix传过来的第一个参数
subject = str(sys.argv[]) #zabbix传过来的第二个参数
content = str(sys.argv[]) #zabbix传过来的第三个参数 corpid = 'ww15a76b039cce012c' #企业号标识
corpsecret = '5aKnj_gPRp6haFmWvly7RxMXy97S8nUEzDxxxxxxxxx' #Secret是管理组凭证密钥
accesstoken = gettoken(corpid,corpsecret)
senddata(accesstoken,user,subject,content)

# 报警测试

[root@kazihuo ~]# python /usr/lib/zabbix/alertscripts/wechat.py LuoMuRui TEST "It's a test."

https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=ww15a76b039cce012c&corpsecret=5aKnj_gPRp6haFmWvly7RxMXy97S8nUEzDTsiQmB9e0

{u'invaliduser': u'', u'errcode': 0, u'errmsg': u'ok'}

# 执行脚本后将收到企业微信发来的消息,如下:

zabbix界面配置

# 报警思路

先创建微信脚本报警媒介,然后创建报警用户,并关联报警媒介,再创建动作。当监控项的监控指标异常,并达到指定的报警级别后,会触发动作进行相应的操作(给指定的报警用户发送信息),指定用户收到报警信息后,通过报警媒介发出微信告警消息!

# 页面操作

# 创建报警媒介

# 依次点击 Administration > Media types > Create media type;

方便复制:

{ALERT.SENDTO}

{ALERT.SUBJECT}

{ALERT.MESSAGE}

# 创建用户(wc)

# 依次点击 Administrator > User > Create user;

# 配置 Media;

# 创建动作

# 依次点击Configuration > Actions > Create action;

方便复制:

[[ 告警信息 ]]

{TRIGGER.NAME}

告警主机: {HOSTNAME1}

告警时间: {EVENT.DATE} {EVENT.TIME}

告警等级: {TRIGGER.SEVERITY}

告警项目: {TRIGGER.KEY1}

问题详情: {ITEM.NAME}:{ITEM.VALUE}

事件ID: {EVENT.ID}

方便复制:

[[ 恢复信息 ]]

{TRIGGER.NAME}

恢复主机: {HOSTNAME1}

告警时间: {EVENT.DATE} {EVENT.TIME}

恢复项目: {TRIGGER.KEY1}

事件ID: {EVENT.ID}

告警功能验证

# 在zabbix server服务器上将zabbix_agent服务停掉,几分钟后可在zabbix面板看到故障信息;

[root@kazihuo ~]# systemctl stop zabbix-agent

# 过几分钟后启动agent服务,整个过程收到的微信告警如下:

重点说明

1、当监控告警收件人需要增加时,只需将其微信加入企业微信中对应的 "监控组" 即可;

2、当微信用户登录了企业微信后,企业微信发送的报警信息就只能在企业微信中接收,若需要在微信中也能收到告警信息,需要找企业微信管理员索要"微工作台"的二维码并关注。然后在企业微信app中依次点击 "我" > "设置" > "新消息通知",然后关闭 "仅在企业微信中接收消息"即可!

zabbix企业微信报警实现的更多相关文章

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

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

  2. zabbix企业微信告警配置教程

    前言: zabbix企业微信告警只需要配置一次就可以使用很久了,但是发现再次配置时,总会有遗忘,很麻烦又要去重新熟悉,所以,现在记录一份详细的配置过程,方便日后再次配置. 1.zabbix_serve ...

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

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

  4. Prometheus(五):Prometheus+Alertmanager 配置企业微信报警

    此处默认已安装Prometheus服务,服务地址:192.168.56.200  一.设置企业微信 1.1.企业微信注册(已有企业微信账号请跳过) 企业微信注册地址:https://work.weix ...

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

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

  6. zabbix配置企业微信报警

    +++++++++++++++++++++++++++++++++++++++++ 1. 工作中最长使用的就是微信,普及,开源,而且免费!!! 2. 在企业微信中要记录的值: · 部门id · 企业i ...

  7. Zabbix 3.0 配置企业微信报警(注册---测试)

    一.申请企业微信 1.登录企业微信官网,点击企业注册 二.配置企业微信 1.邀请管理员使用企业微信,如果有多个人直接添加新成员 2.管理员收到邀请,下载手机版企业微信,使用微信号登陆即可 3.创建应用 ...

  8. zabbix配置微信报警

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

  9. CentOS 7 zabbix实现微信报警

    环境 : LAMP  CentOS7  192.168.94.11 首先搭建LAMP环境 , 安装zabbix [root@zabbix-server ~]# wget http://repo.zab ...

随机推荐

  1. windows 10 环境下 使用Anaconda搭建 TensorFlow 环境

    ##大致步骤 1 安装Anaconda 2 在Anaconda中建立虚拟TensorFlow的虚拟环境 建立虚拟环境的命令是 conda  create -n tensorflow python=3. ...

  2. Flutter学习笔记--Dart基础

    前言 Flutter使用Dart语言开发, Dart是面向对象编程语言, 由Google2011年推出, 目前最新版本是2.4.0. 工欲善其事,必先利其器. 为了更好的开发Flutter应用, 我们 ...

  3. 学习笔记37_MVC模板页

    ASPX母版页: 1.添加一个母版页,位置../Views/Shared,有 <asp:ContentPlaceHolder ID = "ContentPlaceHolder1&quo ...

  4. OV5640摄像头的数据处理配置流程(一)

    module RGB_init( //系统信号输入(时钟+复位) input cmos_clk_i, //模块控制时钟 input rst_n_i, //系统复位信号 //OV5640输出信号(从56 ...

  5. Numpy 排序和使用索引

    # 导包 import numpy as np 排序 .sort() x = np.arange(16) # array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, ...

  6. 说说Java中你不知道switch关键字

    Switch语法 switch作为Java内置关键字,却在项目中真正使用的比较少.关于switch,还是有那么一些奥秘的. 要什么switch,我有if-else 确实,项目中使用switch比较少的 ...

  7. MySQL集群搭建详解(三种结点分离)

    本文将搭建一个最简化的MySQL Cluster系统,配置方法中的所有命令都是以root账户运行.这个MySQL Cluster包含一个管理结点.两个数据结点.两个SQL结点,这五个结点会分别安装在五 ...

  8. 如何在Vue项目中给路由跳转加上进度条

    1.前言 在平常浏览网页时,我们会注意到在有的网站中,当点击页面中的链接进行路由跳转时,页面顶部会有一个进度条,用来标示页面跳转的进度(如下图所示).虽然实际用处不大,但是对用户来说,有个进度条会大大 ...

  9. PostgreSQL的模式、表、空间、用户间的关系

    在平时的工作中,我们经常接触到数据库表和用户以及角色的使用,由于经常使用默认的数据库表空间和模式(Schema),所以我们往往忽略了数据库表空间和模式的概念以及作用. 接下来,先介绍一下模式和表空间的 ...

  10. python入门斐波那契数列之迭代,递归

    迭代 def fab(n): a1=1 a2=1 a3=1 if n < 1 : print("输入有误!") return -1 while n-2 > 0 : a3 ...