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)

浙公网安备 33010602011771号