Python检测网络延迟的代码

时间:2022-01-10 10:40:10

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