本文讲述了Python检测网络延迟的代码。分享给大家供大家参考,具体如下:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
|
#!/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 )
|
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。
原文链接:https://blog.csdn.net/jailman/article/details/78343334