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统计多维数组的行数和列数实例

python菜鸟,每天都要进步一点点。 二维元组的例子: A = ((1, 1, 1), (1, 1, 1),(1, 1, 1),(0, 0, 0)) print len(A) #...

Python编译成.so文件进行加密后调用的实现

pyc的破解相对容易,使用cython将python文件编译成.so文件,能在一定程度上增强python源码的私密性。 编译成.so文件 环境准备:cython 测试脚本准备:test....

python的继承知识点总结

python的继承知识点总结

python继承,python丰富的类因为继承而变得多姿多彩,如果语言不支持继承,那么类就没什么优势。 1、首先我们来定义两个类 一个dog类,一个bird类class Dog: &nb...

python2.7 json 转换日期的处理的示例

python2.7中 集成了json的处理(simplejson),但在实际应用中,从mysql查询出来的数据,通常有日期格式,这时候,会报一个错: TypeError: datetim...

python的keyword模块用法实例分析

本文实例讲述了python的keyword模块用法。分享给大家供大家参考。具体如下: Help on module keyword: NAME keyword - Keyword...