通过Python解析xml监控nowsms脚本

发布时间:2025-07-07 点击:10
nowsms短信彩信框架的admin页面有提供一个xml页面,该页面详细显示modem的各个状态。然后结合nagios,可以很好的监控modem状态。该xml地址类似如:http://192.168.0.115:8800/admin/xmlstatus?username=sijitao&password=sijitao。
如果对python如何解析xml不是很清楚的可以参考这个网址:http://www.runoob.com/python/python-xml.html。
脚本内容脚本中暂时只需要获取smscstatus中的status,显示ok说明modem接收发送正常,脚本类似如下。
#!/usr/bin/env python#coding:utf-8import urllib2from xml.dom.minidom import parseimport sysimport argparseparser=argparse.argumentparser(description=\check nowsms status script.\)parser.add_argument(\-h\,dest=\host\,help=\host name argument for servers using host headers\)parser.add_argument(\-p\,dest=\port\,default=8800,help=\nowsms http port ,default 8800.\)parser.add_argument(\-u\,dest=\username\,help=\nowsms admin username\)parser.add_argument(\-p\,dest=\password\,help=\nowsms admin user\'s password\)args=parser.parse_args()if not args.host or not args.port or not args.username or not args.password : print \critical - invalid command,please check.\ sys.exit(2)url=\'http://%s:%s/admin/xmlstatus?username=%s&password=%s\' % (args.host,args.port,args.username,args.password)req=urllib2.request(url)req.add_header(\user-agent\, \mozilla/5.0 (windows nt 6.1; wow64) applewebkit/537.36 (khtml, like gecko) chrome/31.0.1650.63 safari/537.36\)try: response=urllib2.urlopen(req,timeout=5) domtree = parse(response)except: print \critical - nowsms admin status get error.\ sys.exit(2)nowsms = domtree.documentelementsmsc = nowsms.getelementsbytagname(\smscstatus\)for s in smsc: #print s.getelementsbytagname(\'name\')[0].childnodes[0].data status = s.getelementsbytagname(\'status\')[0].childnodes[0].data if status != \'ok\': detail=s.getelementsbytagname(\'statusdetail\')[0].childnodes[0].data print \%s - %s\ % (status,detail) sys.exit(2) else: print \%s - nowsms is ok.\ % status sys.exit(0)脚本部署1、复制上面的脚本内容,保存到nagios服务端,一般保存在/usr/local/nagios/libexec目录。
2、修改commands.cfg,添加command命令。端口,用户名密码也可以使用参数,因为我这边几台都一样所以就写在command中了。
3、添加service,定义完成后就可以了。

介绍.com.cn域名的价值和优势
google高级搜索技巧分享
linux操作系统中查看进程命令有哪些
简单的5步 只需要一个小时就能建好手机站
云服务器挂游戏很卡
注册域名的原因 什么是泛域名解析
sedo销售榜:Creatio.com以50000欧元排行第一
河北服务器负载均衡品牌云服务器