Python检测网络延迟的代码

yipeiwu_com6年前Python基础

本文讲述了Python检测网络延迟的代码。分享给大家供大家参考,具体如下:

#!/usr/bin/env python 
# coding: utf-8 
# coding: cp950 
''''' 
Create Date: 2012-11-06 
Version: 1.0 
Description: Detection host survival 
Author: Victor 
QQ: 1409175531 
''' 
''''' Please run the script with root ''' 
import ping 
import sys 
def help(): 
 print ''''' 
Usage: 
%s <Dest_addr> <percent loss packages> <max round trip time> 
''' % (sys.argv[0]) 
try: 
 result = ping.quiet_ping(sys.argv[1], timeout=2, count=10, psize=64) 
 if int(result[0]) == 100: 
 print 'Critical - 宕机, 丢包率:%s%% | 报警阀值: >= %s%% 或 >=%s ms' % (result[0], int(sys.argv[2]), int(sys.argv[3])) 
 sys.exit(2) 
 else: 
 max_time = round(result[1], 2) 
 if int(result[0]) < int(sys.argv[2]) and int(result[1]) < int(sys.argv[3]): 
 print 'OK - 丢包率:%s%%, 最大响应时间:%s ms | 报警阀值: >= %s%% 或 >=%s ms' % (result[0], max_time, int(sys.argv[2]), int(sys.argv[3])) 
 sys.exit(0) 
 elif int(result[0]) >= int(sys.argv[2]) or int(result[1]) >= int(sys.argv[3]): 
 print 'Warning - 丢包率:%s%%, 最大响应时间:%s ms | 报警阀值: >= %s%% 或 >=%s ms' % (result[0], max_time, int(sys.argv[2]), int(sys.argv[3])) 
 sys.exit(1) 
 else: 
 print 'Unknown' 
 sys.exit(3) 
except IndexError: 
 help() 
 sys.exit(3) 

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对【听图阁-专注于Python设计】的支持。

相关文章

Python线程中对join方法的运用的教程

join 方法:阻塞线程 , 直到该线程执行完毕 因此  ,可以对join加一个超时操作 , join([timeout]),超过设置时间,就不再阻塞线程 jion加上还有一个...

Python批量删除只保留最近几天table的代码实例

Python批量删除table,只保留最近几天的table 代码如下: #!/usr/bin/python3 """ 批量删除table,只保留最近几天的table """ impo...

python TKinter获取文本框内容的方法

如下所示: #coding:utf-8 import urllib,urllib2 import Tkinter #导入TKinter模块 ytm=Tkinter.Tk() #创...

Python时间差中seconds和total_seconds的区别详解

如下所示: import datetime t1 = datetime.datetime.strptime("2017-9-06 10:30:00", "%Y-%m-%d %H:...

使用Python脚本操作MongoDB的教程

连接数据库 MongoClient VS Connection class MongoClient(pymongo.common.BaseObject) | Connection...