自动分析局域网内网速慢的电脑---结合IPERF,TASK SCHEDULE,PYTHON,MAIL

简介:

今天写的。

用IPERF作测试局域网速度的工具。

用AD域组策略推送给客户端,

xcopy /y \\XXX\XXX\Iperf\*.* c:\Iperf\*.*

然后,客户端会在每次LOGON的执行测试网速的BAT文件,并将结果存放在服务器指定的LOG目录下面。

c:\Iperf\Iperf3.exe -c x.x.x. > \\X.X.X.X\Iperf\log\%computername%.txt

之后,PYTHON上场。

分析指定目录下的每一个文件里的每一行,

将指定列表中的数字与提前指定的基线作比较。

分出不同的电脑列表。

然后发给指定邮件地址。

最后,指定WINDOWS计划任务或是LINUX CRONTAB JOB。

搞定。

复制代码
 1 #!/usr/bin/env python
 2 import sys
 3 import os.path
 4 from smtplib import SMTP
 5 import datetime
 6 
 7 
 8 folder = 'D:\Iperf\Log\\'
 9 msg_low_sh = ''
10 msg_normal = ''
11 msg_low_us = ''
12 msg_nodata = ''
13 for filename in os.listdir (folder):
14     #print(filename)
15 
16     fp = open(folder + filename,'r')
17     
18     for i, line in enumerate(fp):
19         if (i == 0 and line == "") or (len(line) < 3 ):
20             msg_nodata += filename + ".have now data.\n"
21         elif (i == 6):
22             speednumber = line.split()
23             if (float(speednumber[6])) < 300 and (float(speednumber[6])) > 8:
24                msg_low_sh += filename + ". Low Speed at ShangHai: " + speednumber[6] + "Mbits. We should notice this machine.\n"
25             if (float(speednumber[6])) <1.0:
26                msg_low_us += filename + "Low Speed at US: " + speednumber[6] + "Mbits. We should notice this machine.\n"
27             else:
28               msg_normal += filename + ". Normal Speed: " + speednumber[6] + "Mbits.\n"
29     fp.close()
30 #print (msg_low_sh)
31 #print (msg_low_us)
32 #print (msg_normal)
33 #print (msg_nodata)
34 
35 text_file = open("LANSpeedOutput.txt", "w")
36 
37 text_file.write(msg_low_sh)
38 text_file.write(msg_low_us)
39 text_file.write("\n\n\n")
40 text_file.write(msg_normal)
41 text_file.write("\n\n\n")
42 text_file.write(msg_nodata)
43 
44 text_file.close()
45 
46 debuglevel = 0
47 
48 smtp = SMTP()
49 smtp.set_debuglevel(debuglevel)
50 smtp.connect('X.X.X.X', 25)
51 smtp.login('xxx', 'xxx')
52 
53 from_addr = "<xxx>"
54 to_addr = ["xxx","xxx","xxx"]
55 date = datetime.datetime.now().strftime( "%d/%m/%Y " )
56 fp = open(r'LANSpeedOutput.txt', 'r')
57 
58 subj = "LAN Speed log at "+date
59 message_text = fp.read()
60 
61 msg = "From: %s\nTo: %s\nSubject: %s\nDate: %s\n\n%s" % ( from_addr, to_addr, subj, date, message_text )
62 
63 smtp.sendmail(from_addr, to_addr, msg)
64 smtp.quit()
复制代码


最后效果图:

具体细节,再慢慢完善。

目录
相关文章
|
5天前
|
机器学习/深度学习 算法 数据挖掘
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享-2
PYTHON银行机器学习:回归、随机森林、KNN近邻、决策树、高斯朴素贝叶斯、支持向量机SVM分析营销活动数据|数据分享
28 1
|
1天前
|
新零售 分布式计算 数据可视化
数据分享|基于Python、Hadoop零售交易数据的Spark数据处理与Echarts可视化分析
数据分享|基于Python、Hadoop零售交易数据的Spark数据处理与Echarts可视化分析
|
4天前
|
机器学习/深度学习 算法 vr&ar
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列
PYTHON用时变马尔可夫区制转换(MARKOV REGIME SWITCHING)自回归模型分析经济时间序列
16 4
|
4天前
|
机器学习/深度学习 算法 Python
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
数据分享|Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
23 4
|
4天前
|
API vr&ar Python
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列(上)
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
32 5
|
10天前
|
vr&ar Python
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列4
Python 用ARIMA、GARCH模型预测分析股票市场收益率时间序列
36 0
|
10天前
|
机器学习/深度学习 算法 数据可视化
python用支持向量机回归(SVR)模型分析用电量预测电力消费
python用支持向量机回归(SVR)模型分析用电量预测电力消费
34 7
|
机器学习/深度学习 算法 Python
Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
Python决策树、随机森林、朴素贝叶斯、KNN(K-最近邻居)分类分析银行拉新活动挖掘潜在贷款客户
25 0
|
11天前
|
算法 数据可视化 Python
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
Python中LARS和Lasso回归之最小角算法Lars分析波士顿住房数据实例
17 0
|
11天前
|
机器学习/深度学习 数据采集 数据可视化
Python数据处理与分析
【4月更文挑战第13天】Python在数据处理与分析中扮演重要角色,常用库包括Pandas(数据处理)、NumPy(数值计算)、Matplotlib和Seaborn(数据可视化)、SciPy(科学计算)、StatsModels(统计建模)及Scikit-learn(机器学习)。数据处理流程涉及数据加载、清洗、探索、特征工程、模型选择、评估与优化,以及结果展示。选择哪个库取决于具体需求和数据类型。
16 1