利用 微信的公众平台 监控管理Linux服务器

利用 微信公众平台 查看管理linux服务器

最近懒得做运维自动化了,看到市场部门的同事在调用公众平台的接口,感觉很有意思~就想试试用这个管理简单的管理linux主机,并推送告警信息。

打算这段时间主要再扩展下这个应用~ 

1 增加一些危险字符的判断,可以自己指定一个转义字符

2 针对post的数据进行加密下 比如 555ifconfig 这个555就是密码,在后端会有判断的,没有555的一切命令都不会执行

3 微信平台也可以恢复一些图文的,我可以把流量图,或者是各种rrd库里面的图,发给客户端

申请微信公众平台

参考 ?t=wxm-callbackapi-doc&lang=zh_CN

微信公众平台官方站点申请账号

登陆公众平台,点击 设置 -->自定义回复 -->调用公众平台

在 URL 中填写你的URL地址,请根据个人情况填写 Token 并记住,这个 Token 是你随意去的字符串.以防止别人盗用.

点击提交,提示 提交成功 字样.

我要怎么实现~

我发个信息过去,微信是把消息post到的你服务器,然后我获取你要查的东西后,我调用下linux的命令,或者是已经写过的函数,得出结果,最后返回给客户。

必须是80端口的,微信的接口很二的~

python    app.py  80

# -*- coding:utf-8 -*-
from bottle import debug, default_app, run, get, request, post
import sys, os, time, libxml2dom

@get('/')
def index():
return request.GET.get('echostr')

@post('/')
def index_post():

for key, value in request.POST.allitems():
doc = libxml2dom.parseString(key)
_to = doc.xpath('//FromUserName')[0].textContent
_from = doc.xpath('//ToUserName')[0].textContent

cmd = doc.xpath('//Content')[0].textContent
aa=os.popen(cmd).read()
return """<xml>
<ToUserName><![CDATA[%s]]></ToUserName>
<FromUserName><![CDATA[%s]]></FromUserName>
<CreateTime>%s</CreateTime>
<MsgType><![CDATA[text]]></MsgType>
<Content><![CDATA[%s]]></Content>
<FuncFlag>0</FuncFlag>
</xml>"""%(_to, _from, int(time.time()), aa)

if __name__ == "__main__":
# Interactive mode
debug(True)
port = int(sys.argv[1] if len(sys.argv) > 1 else 8888)
run(host='0.0.0.0', portport=port, reloader=True)
else:
# Mod WSGI launch
os.chdir(os.path.dirname(__file__))
app = default_app()

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/b57e1d2e8ad6f3aba90364192c87a1be.html