zabbix 报警脚本

1、邮件报警脚本

# cat sendmail.sh
#! /bin/bash

FILE=/tmp/mail.txt
echo "$3" > $FILE && dos2unix $FILE
mail -s "$2" $1 < $FILE
chown zabbix.zabbix $FILE

2、微信报警脚本

# cat weixin.py
#!/usr/bin/python
#_*_ coding: UTF-8 _*_


import urllib2
import json
import sys
import time

class Webchat:
    def __init__(self,cropID,Secret):
        self.cropID=cropID
        self.Secret=Secret
    def Get_Token(self,info):
        self.info=info
        gurl= "https://qyapi.weixin.qq.com/cgi-bin/gettoken?corpid=%s&corpsecret=%s" % (self.cropID,self.Secret)
        try:
            req=urllib2.Request(gurl) 
            respose=urllib2.urlopen(req)
            g_result=json.loads(respose.read(),"UTF-8")


            if g_result.has_key('access_token'):
                self.info['result']=g_result['access_token']
                self.info['code']=0
            else: 
                self.info['result']=g_result
                self.info['code']=1
        except Exception,e:
            self.info['code']=1
            self.info['result']=e
    

    def Send_Msg(self,touser,toparty,agentid,access_token,content,info,*args,**kwargs):
        self.touser=touser
        self.toparty=toparty
        self.agentid=agentid
        self.access_token=access_token
        self.content=content
        self.info=info
        purl="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=%s" % (access_token)
        data={
            "touser":"",
            "toparty":"",
            "totag":"",
            "msgtype":"text",
            "agentid":"",
            "text":{
                   "content":""
            },
            "safe": "0"
        }
        data['touser']=self.touser
        data['agentid']=self.agentid
        data['toparty']=self.toparty
        data['text']['content']=self.content
        data=json.dumps(data,ensure_ascii=False)
        try:
            req=urllib2.Request(purl,data)
            respose=urllib2.urlopen(req)
            res=json.loads(respose.read())
            self.info['code']=res['errcode']
            self.info['result']=res['errmsg']

        except Exception,e:
            self.info['result']=e
            self.info['code']=1


if __name__ == '__main__':
    reload(sys)
    sys.setdefaultencoding('utf-8')
    def log (date,touser,content,info):
        msg='%s %s %s 发送结果 - %s\n' %(date,touser,content,info)
        with open('/tmp/msg.log','a') as f:
            f.write(msg)

    agentid=sys.argv[1]
    touser='@all'
    toparty=''
    content=sys.argv[2:]
    content='\n'.join(content)
    cropID='wwaccec2d43cb4dec5'
    Secret='WhnFYsVtRSnpHxajHT4FCw1VJkW9GuQcNj7e_kojxSI'
    info={"result":None,"code":None}
    date=time.strftime('%Y-%m-%d %H:%M:%S')
    res=Webchat(cropID,Secret)
    res.Get_Token(info)
    if info['code'] == 0:
        access_token=info['result']
        res.Send_Msg(touser=touser, toparty=toparty, agentid=agentid, access_token=access_token,content=content,info=info)
        
        if info['code'] == 0:
            content=content
            log(date,touser,content,info)
        else:
            log(date,touser,content,info)
    else:
        log(date,touser,content,info)

 

 

posted @ 2019-07-30 17:38  miclesvic  阅读(51)  评论(0)    收藏  举报