码迷,mamicode.com
首页 > 编程语言 > 详细

Pinger短信告警Python脚本

时间:2017-02-20 15:51:36      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:sms   机房   lines   lte   mat   res   comm   efault   arm   

#!/usr/bin/env python
#-*- coding:utf-8 -*-
import urllib
import urllib2
mobile = [18688965555,]
#mobile = [15013805555,]
#CONTENT = u客户
def sms(CONTENT):
    for i in mobile:
        url=http://219.33.33.33/GsmsHttp
        parms = {
                username:73333:admin,
                password:61029000,
                from:3399,
                to:i,
                content:CONTENT,
                presendTime:‘‘,
                expandPrefix:113
        }
        querystring = urllib.urlencode(parms)
        print (querystring)
        u = urllib2.urlopen(url+?+querystring)
        print (u)
import subprocess
import collections
import sys
reload(sys)
sys.setdefaultencoding(gbk)
def ping2():
    dic = collections.OrderedDict()
    #dic[u谷歌机房] = 8.8.8.8
    dic[u泉州移动] = 4.2.2.2
    lines = list(dic.values())
    keys = list(dic.keys())
    for line in lines:
        line = str(line)
        line = line.strip()

        ping = subprocess.Popen(
           ["ping", "-c", "100", "-W", "1", line],
           stdout = subprocess.PIPE,
           stderr = subprocess.PIPE
        )
        out, error = ping.communicate()
        print out
        num= int(out.split("%")[0].split(",")[-1])
        if num>30 and num<100:
            sms(u{0} 网络异常,丢包率为:{1}%.format(keys[lines.index(line)], num))
        elif num==100:
            sms(u{0} 网络中断.format(keys[lines.index(line)]))
        print error

if __name__ == __main__:
   ping2()

上述短信告警,只要你的短信http接口和账号匹配的话,这是一个完整的脚本。Python是采用2.0版本。

 

Pinger短信告警Python脚本

标签:sms   机房   lines   lte   mat   res   comm   efault   arm   

原文地址:http://www.cnblogs.com/vincent-liang/p/6419836.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!