美文网首页
zabbix配置微信报警

zabbix配置微信报警

作者: 带着小猪闯天下 | 来源:发表于2019-10-30 17:14 被阅读0次

打开浏览器输入以下网址登陆企业微信PC端后台:记录企业ID
https://work.weixin.qq.com/wework_admin
创建企业,然后通过PC浏览器打开企业微信。
通过手机端扫一扫就可以登录。
记录企业信息中的corpID。

image.png

创建自己的应用(PC后台)(记录AgentId和Secret)


image.png
image.png

添加管理组(PC后台) 添加部门(PC后台) 添加员工(PC后台)


image.png

测试企业微信接口调试工具(PC后台)
API文档->查看文档->接口调试工具—>工具与资源—>接口调试工具


image.png
image.png
image.png
image.png

测试好后配置python报警监控脚本

vim /usr/lib/zabbix/alertscripts/wechat.py

#!/usr/bin/env python
# -*- coding: utf-8 -*-

import urllib,urllib2,json
import sys
reload(sys)
sys.setdefaultencoding( "utf-8" )


class WeChat(object):
        __token_id = ''
        # init attribute
        def __init__(self,url):
                self.__url = url.rstrip('/')
                self.__corpid = '*******'  ##写自己的
                self.__secret = '*****'    ##写自己的


        # Get TokenID
        def authID(self):
                params = {'corpid':self.__corpid, 'corpsecret':self.__secret}
                data = urllib.urlencode(params)


                content = self.getToken(data)


                try:
                        self.__token_id = content['access_token']
                        # print content['access_token']
                except KeyError:
                        raise KeyError


        # Establish a connection
        def getToken(self,data,url_prefix='/'):
                url = self.__url + url_prefix + 'gettoken?'
                try:
                        response = urllib2.Request(url + data)
                except KeyError:
                        raise KeyError
                result = urllib2.urlopen(response)
                content = json.loads(result.read())
                return content


        # Get sendmessage url
        def postData(self,data,url_prefix='/'):
                url = self.__url + url_prefix + 'message/send?access_token=%s' % self.__token_id
                request = urllib2.Request(url,data)
                try:
                        result = urllib2.urlopen(request)
                except urllib2.HTTPError as e:
                        if hasattr(e,'reason'):
                                print 'reason',e.reason
                        elif hasattr(e,'code'):
                                print 'code',e.code
                        return 0
                else:
                        content = json.loads(result.read())
                        result.close()
                return content

        # send message
        def sendMessage(self,touser,message):
                self.authID()
                data = json.dumps({
                        'touser':touser,
                        'toparty':2,                   ##写自己的
                        'msgtype':"text",
                        'agentid':"1000002",  ##写自己的
                        'text':{
                                'content':message
                        },
                        'safe':"0"
                },ensure_ascii=False)


                response = self.postData(data)
                print response

if __name__ == '__main__':
        a = WeChat('https://qyapi.weixin.qq.com/cgi-bin')
        a.sendMessage(sys.argv[1],sys.argv[3])

有如下4个地方需要修改,找到他们修改成自己的
self.__corpid = 'XXXXX' //公司的corpid
self.__secret = 'XXXXX' //应用的secret
'toparty':XXXX, //部门id
'agentid':"XXXX", //应用id

修改权限:

chown zabbix.zabbix /usr/lib/zabbix/alertscripts/wechat.py
chmod 755 /usr/lib/zabbix/alertscripts/wechat.py

测试脚本:测试结果中invalidparty可以忽略 ,如果正常会收到消息如下


image.png image.png

zabbix配置微信报警
创建报警媒介
管理->报警媒介类型->创建媒体类型

image.png image.png

zabbix 3.0 需要在为alert脚本定义参数,以前的版本参数都固定的,现在用户可以自己定义命令行的参数了。添加的参数也就是脚本中的收信人、标题和信息内容
{ALERT.SENDTO}
{ALERT.SUBJECT}
{ALERT.MESSAGE}
关联到报警用户
添加完成后,需要关联到报警用户 管理-->用户-->Admin-->报警媒介-->添加-->更新


image.png image.png

注意填写的收件人是:企业微信内的员工帐号

添加动作,触发条件后报警后发送微信消息。
配置-->动作-->创建动作
维护状态-->非在维护-->添加
触发器条件-->触发器-->添加
点击动作下的操作


image.png
image.png image.png
image.png

注意两次点击两次添加。
恢复操作和确认操作都可以配置,同上(略)
可以通过将触发器的值,调整为正常值/非正常值测试微信报警了。
关闭被检测网站服务器服务

相关文章

  • 企业微信报警

    Zabbix企业微信报警shell脚本 Zabbix服务端配置

  • Zabbix使用企业微信报警配置小结

    前言 从Zabbix 3.0开始就已经有很多小伙伴开始使用微信公众号或者企业微信配置Zabbix报警,当然这里还可...

  • zabbix配置微信报警

    打开浏览器输入以下网址登陆企业微信PC端后台:记录企业IDhttps://work.weixin.qq.com/w...

  • zabbix配置微信报警

    前言:zabbix一般可以通过邮件以及脚本的方式进行告警,zabbix通过微信报警的方式也是通过脚本来实现 企业微...

  • zabbix相关

    配置企业微信报警 登录企业微信,选择应用于小程序-》创建应用-》按需创建用于zabbix监控的应用 进入刚才创建的...

  • zabbix5.0部署 and 监控docker容器状态 and

    zabbix5.0部署 and 监控docker容器状态 and 配置企业微信报警机器人 加权sudo gpass...

  • zabbix一键安装

    zabbix微信报警脚本 https://github.com/X-Mars/Zabbix-Alert-WeCha...

  • zabbix 微信报警

    简单 说一下 微信报警: 微信报警和 邮件区别不大 , 主要是 发送脚本不同 脚本来源 git clone htt...

  • Zabbix配置邮件报警和微信报警笔记

    一、定义发件人 进入web界面,点击管理-报警媒介及类型 然后点击Eail进行配置按如下操作即可。QQ邮箱要选择S...

  • zabbix 5系列之微信实时告警

    1. 微信报警: Zabbix除了可以使用邮件报警和钉钉告警之外,还可以通过微信报警,或者只要有api,你能想到的...

网友评论

      本文标题:zabbix配置微信报警

      本文链接:https://www.haomeiwen.com/subject/eitavctx.html