美文网首页
微信报警脚本

微信报警脚本

作者: 程_33a3 | 来源:发表于2018-08-15 20:20 被阅读0次

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

加粗字体需修改,写完后更改属主属组,更改777权限

#!/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 = 'wwa1da242f211cdf47'

                self.__secret = 'rIrN51FEjgW6T2bdmSaEoOIB5UbaBTgddQkuC8cca1w'

        # 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])

相关文章

  • zabbix 微信报警

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

  • 微信报警脚本

    vim /usr/lib/zabbix/alertscripts/wechat.py 加粗字体需修改,写完后更...

  • 企业微信报警

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

  • zabbix一键安装

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

  • zabbix配置微信报警

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

  • 分享四个Shell脚本实例

    多台服务器日志查询 服务器跳转脚本 日志自动清理脚本(日志需有滚动切割) ERROR日志巡逻(企业微信机器人报警)

  • 使用python脚本编写企业微信报警

    使用软件:pytharm 使用python版本:python3.6 脚本代码如下: import request...

  • 微信报警

    企业微信准备:Agentld + Secret + 企业ID号 + 部门ID python监控脚本: 有...

  • Prometheus部署

    Prometheus部署+邮箱报警+企业微信报警+钉钉报警 1 部署Prometheus server 1.1 下...

  • 2018-11-26

    一,企业微信报警步骤

网友评论

      本文标题:微信报警脚本

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