ZABBIX 微信报警 插件(python无图)

ZABBIX可以实现短信、邮件、微信等各种报警,这三种基本大家都很熟悉, 现在基于微信写py,感觉钉钉的团队是从微信出来的,变量都不改,太懒了,说可以实现微信报警苍老师说过:Life is short,you need python!

1 微信配置

微信公众号官网:https://qy.weixin.qq.com/
我们主要获取四个参数:部门id,应用ID和CorpID和CorpSecret

1.1 注册安装

注册微信企业号,安装手机微信略过

1.1.1 部门设置

在通信录管理里面设置部门,如下图,我们这里设置的运维部,这个部门id要记住,在ZABBIX里面要配置这个名称,然后把你需要发送告警的人员添加到这个部门里面

1.1.2 应用设置

点击左侧“应用中心”,新建消息型应用,应用名称为“服务器报警”,“应用可见范围”,添加刚刚新建的子部门(运维部),点击“服务器报警”,记录应用ID

1.1.3 权限管理

点击左侧“设置”,权限管理,新建普通管理组,名称填写“服务器报警组”。点击修改“通讯录权限”,勾选管理,点击修改“应用权限”,勾选刚刚创建的“服务器报警”,点击刚刚创建的“服务器报警组”,记录左侧的CorpID与CorpSecret

2 程序配置

代码托管到github:https://github.com/bluetom520/zabbix-weixin

git clone https://github.com/bluetom520/zabbix-weixin.gitpip install requests/requests-2.12.4-py2.py3-none-any.whlcp zabbix-weixin/* /usr/lib/zabbix/alertscripts/chown -R zabbix:zabbix /usr/lib/zabbix/alertscripts/weixin.pychmod +x   /usr/lib/zabbix/alertscripts/weixin.pychmod a+w /usr/lib/zabbix/alertscripts/config.ini

修改config.ini,把上节获得的三个参数填入,web是点击报警信息后跳转的页面,设置的监控数据的最新出图,但手机浏览器不支持。后面看怎么把图抓下来放到微信报警里面,抓图早已经实现了,看大家有没有兴趣了,有兴趣我加再加:)

[wei]corpid = wx3317042c8bcf7551corpsecret = m0VqePgfDsTbVoFlGSx5-JOCbE5p43rf5G-GC2CqN4Wq2Ce0OJQkgo0JnXMqKypvagentid = 2toparty =web = http://192.168.1.199/zabbix/

3 ZABBIX配置

3.1 报警媒介类型

到管理-》报警媒介类型配置我们的微信

3.2 配置用户

到管理-》用户-》报警媒介-》添加,注意填写收件人为我们之前设置的运维部id 2

3.3 动作设置

到配置-》动作-》创建动作(触发器)
- 动作

- 条件

- 操作

4 效果展现

故障图

恢复图

5 docker环境修改

tar zxvf  requests-2.12.4.tar.gzdocker cp requests-2.12.4 zabbix:/usr/local/share/zabbix/alertscriptsdocker cp dingding zabbix:/usr/local/share/zabbix/alertscriptsdocker exec -it zabbix /bin/bashcd /usr/local/share/zabbix/alertscripts/requests-2.12.4python setup.py installrm -rf requests-2.12.4cd ..mv zabbix-weixin/* .vi config.iniexitdocker restart zabbix
时间: 2024-12-29 12:26:45

ZABBIX 微信报警 插件(python无图)的相关文章

zabbix微信报警设置

# Zabbix-Alert-WeChat # zabbix微信报警 ### 需要具备一下条件 * 注册微信企业号(团队类型) [点击注册](https://qy.weixin.qq.com/) #### 安装simplejson 3.8.2 ```bash wget https://pypi.python.org/packages/f0/07/26b519e6ebb03c2a74989f7571e6ae6b82e9d7d81b8de6fcdbfc643c7b58/simplejson-3.8.

Zabbix微信报警脚本及写触发记录

一.Zabbix微信报警 默认路径:/usr/lib/zabbix/scripts/weixin.py #!/usr/bin/python # -*- coding: utf-8 -*- import urllib,json import urllib2 import sys import time reload(sys) #print sys.getdefaultencoding() sys.setdefaultencoding('utf8') #print sys.getdefaultenc

通过脚本发送zabbix微信报警

实现zabbix通过微信报警的方式也是通过脚本来实现,与邮件报警不同的是,脚本调用的微信的相关接口的获取相对复杂一点 1.申请一个微信公众号(企业号) 申请方法不多说,如果已申请请忽略 2.在微信企业号上新建应用 上传应用logo,填写应用名称,应用介绍等 应用创建完之后查看并启用应用,同时会生成应用的AgentId以及Secret,这个在后面步骤会有用 3.接口调用测试 点击:API文档-->开发者工具-->接口调试工具,找不到就直接点这个地址 http://work.weixin.qq.c

(五)zabbix微信报警

1.注册微信企业号 1)注册微信企业号 https://work.weixin.qq.com 2)通讯录添加用户 3)记住部门id 4)创建应用 5)点击刚创建的应用,记住Agentld和secret 6)微信关注这个企业号,获取更多尺寸关注 点击关注 7)测试向关注的用户发送信息 微信能够正常接收到消息 8)获取CorpID 2.python脚本 获取脚本文件目录位置 #grep alertscripts /etc/zabbix/zabbix_server.conf AlertScriptsP

zabbix 微信报警设置

#================ 报警方式一 使用微信官方API ========================= 待添加 #================报警方式二 ============================= #安装告警agent wget http://cdn.110monitor.com/open/download/alert-agent-4.0.1-RC2.tar.gz tar -xvf alert-agent-4.0.1-RC2.tar.gz cp -a aler

zabbix 微信报警

说明:zabbix发送报警时有三个参数,暂且用$1,$2,$3来表示,分别对应的是"接收人","主题","消息" 在zabbix3.0的报警媒介类型里,有个脚本参数设置,可设置成{ALERT.SENDTO},{ALERT.SUBJECT},{ALERT.MESSAGE},分别对应$1,$2,$3 以下是相关脚本,用python编写 #!/usr/bin/python import urllib import json import sys Cor

zabbix微信报警

1.申请微信企业号 微信申请企业号(点击申请) 1.1.通讯录添加企业成员 我们要提前把成员信息添加进组织部门,必填项+手机号或者微信号,这样别人扫描二维码的时候才能成功关注企业号. 注意:这里有两个我们要用到信息,一个组织部门的ID,一个部门成员的账号(账号是自己手动指定的,不同于微信号,最好是字母加数字) 部门ID 部门成员账号 2.1.应用中心创建应用 我们要在这里创建应用,因为要通过应用发送消息给部门成员. 注意:这里要记住一个值,应用ID 新建应用.jpg 选择应用类型.jpg 创建应

zabbix 微信报警脚本

#! /bin/bash userid=$1 content=$2 python /data/zabbix/alertscripts/weixin.py $userid $content #!/usr/bin/env python # _*_ coding:utf8 _*_ import urllib2 import simplejson as json import sys class weChat: def __init__(self,url,Corpid,Secret): url = '%

【Problem Resolved】zabbix微信报警,一开始可以成功报警,之后报警突然不行

Traceback (most recent call last): File "/usr/lib/zabbix/alertscripts/wechat.py", line 61, in <module> access_token_response = msgsender.geturl(msgsender.gettoken_url, msgsender.gettoken_content) File "/usr/lib/zabbix/alertscripts/wec