本文讲述了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