良玉的博客 点点滴滴,积水成河_良玉的博客_页游、手游linux运维工程师之路

使用微信推送报警消息及api

三种常见报警介质:

短信:它的好处是不用联网手机有信号就行,但是需要有短信网关,需要花钱

邮件:它也可以做到手机短信通知,基本现在邮箱都有这个功能,当然如果你使用qq邮箱微信也是可以推送邮件提醒的,完全免费

微信:对于我这种手机一响就会掏出来看一下的人比较方便,可定制化强, 完全免费


相关文档:


公众号申请步骤我就不多说了具体步骤我是参考下面文档。一定要选择企业公众号,貌似企业公众号才可以使用api

http://www.cnyunwei.com/thread-29593-1-1.html


微信接口文档(重要):

http://qydev.weixin.qq.com/wiki/index.php


调试接口:

http://qydev.weixin.qq.com/debug


python调微信API代码:

#! /usr/bin/env  python

import requests
import json
import  sys

def get_token():

    url='https://qyapi.weixin.qq.com/cgi-bin/gettoken'
    values = {'corpid' : 'yours' ,
            'corpsecret':'yours',
             }
    req = requests.post(url, params=values)
    data = json.loads(req.text)
    print data["access_token"]
    return data["access_token"]

def send_msg():
    url="https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token="+get_token()
    values = """{"touser" : "@all" ,
            "toparty":"@all",
            "msgtype":"text",
            "agentid":"1",
            "text":{
                "content": "%s"
            },
            "safe":"0"
            }""" %(str(sys.argv[1]))
    print values
    data = json.loads(values) 
    req = requests.post(url, values)    

if __name__ == '__main__':
    send_msg()



然后修改nagios报警命令即可

command_line    python /data/weixin.py "***** Nagios *****\\n\\nNotification Type: $NOTIFICATIONTYPE$\\n\\nService: $SERVICEDESC$\\nHost: $HOSTALIAS$\\nAddress: $HOSTADDRESS$\\nState: $SERVIC

ESTATE$\\n\\nDate/Time: $LONGDATETIME$\\n\\nAdditional Info:\\n\\n$SERVICEOUTPUT$\\n" && /usr/local/bin/sendEmail -f blog.uouo123.com@163.com -s smtp.163.com -u "$HOSTALIAS$/$SERVICEDESC$ $SERVICESTA

TE$" -xu blog.uouo123.com@163.com -xp blog.uouo123.com -t $CONTACTEMAIL$ -m "***** Nagios *****\\n\\nNotification Type: $NOTIFICATIONTYPE$\\n\\nService: $SERVICEDESC$\\nHost: $HOSTALIAS$\\nAddress: $H

OSTADDRESS$\\nState: $SERVICESTATE$\\n\\nDate/Time: $LONGDATETIME$\\n\\nAdditional Info:\\n\\n$SERVICEOUTPUT$\\n"


留言列表
发表评论
来宾的头像