监控记录局域网网速并自动用用Python上传结果

简介: 抛砖引玉,给出一个Python实现的监控记录局域网网速并自动上传结果的简单示例

本文使用psutil库来监控并记录局域网内计算机的上传和下载速度到CSV文件。你可以使用这个示例来创建一个网络速度监控系统,可以更长时间地记录网络速度数据。


首先,确保你已经安装了psutil库,如果没有安装,可以使用以下命令安装它:pip install psutil


然后,我使用以下Python代码进行网络速度监控和记录:

import psutil

import time

import csv

# 创建一个CSV文件来记录网络速度数据

csv_file = "network_speed.csv"

def get_network_speed(interval=1, duration=60):

   with open(csv_file, mode='w', newline='') as file:

       fieldnames = ['Time', 'Interface', 'Download Speed (KB/s)', 'Upload Speed (KB/s)']

       writer = csv.DictWriter(file, fieldnames=fieldnames)

       writer.writeheader()

       end_time = time.time() + duration

       while time.time() < end_time:

           net_info = psutil.net_io_counters(pernic=True)

           for interface, data in net_info.items():

               if interface != 'lo':  # 排除回环接口

                   download_speed = data.bytes_recv / interval / 1024  # 下载速度(KB/s)

                   upload_speed = data.bytes_sent / interval / 1024  # 上传速度(KB/s)

                   current_time = time.strftime("%Y-%m-%d %H:%M:%S")

                   writer.writerow({'Time': current_time, 'Interface': interface, 'Download Speed (KB/s)': download_speed, 'Upload Speed (KB/s)': upload_speed})

         

           time.sleep(interval)

if __name__ == "__main":

   print("开始监控网络速度...")

   get_network_speed()

   print(f"监控结束,数据已记录到 {csv_file}")


要将测试结果上传到任何其他远程服务器,我们需要与服务器之间建立通信并按照特定的协议发送数据。这通常需要服务器端和客户端代码。首先,你需要确保目标服务器支持接收和处理你要上传的数据。通常,服务器端会提供API或其他接口,以便客户端可以将数据发送给服务器。


以下是一个简单的Python示例代码,用于使用HTTP POST方法将速度测试结果上传到服务器:

import requests

# URL 是服务器的接收数据的端点

url = "https://www.os-monitor.com/"

# 测试结果数据

download_speed = 50.0  # 下载速度(Mbps)

upload_speed = 20.0  # 上传速度(Mbps)

# 将数据组织为JSON

data = {

   "download_speed": download_speed,

   "upload_speed": upload_speed

}

# 发送POST请求

response = requests.post(url, json=data)

# 检查响应

if response.status_code == 200:

   print("数据上传成功")

else:

   print("数据上传失败")


在这个示例中,我使用requests库发送一个HTTP POST请求,将测试结果数据作为JSON发送到服务器的指定URL。你需要替换url和数据字段,以适应接收服务器的要求。本文转载翻译自 https://www.os-monitor.com/



相关文章
|
2月前
|
机器学习/深度学习 监控 TensorFlow
使用Python实现深度学习模型:智能宠物监控与管理
使用Python实现深度学习模型:智能宠物监控与管理
78 0
|
2月前
|
监控 Ubuntu API
Python脚本监控Ubuntu系统进程内存的实现方式
通过这种方法,我们可以很容易地监控Ubuntu系统中进程的内存使用情况,对于性能分析和资源管理具有很大的帮助。这只是 `psutil`库功能的冰山一角,`psutil`还能够提供更多关于系统和进程的详细信息,强烈推荐进一步探索这个强大的库。
45 1
|
2月前
|
监控 网络协议 数据库连接
Python3 监控端口:使用 socket 库
Python3 监控端口:使用 socket 库
|
2月前
|
监控 网络协议 数据库连接
Python3 监控端口:使用 socket 库
Python3 监控端口:使用 socket 库
|
3月前
|
数据采集 运维 监控
自动化运维:用Python打造简易监控系统
【8月更文挑战第31天】在追求高效的IT世界里,自动化运维不再是奢侈品而是必需品。本文将通过一个Python示例,展示如何构建一个简单的系统监控工具。从数据采集到警报触发,我们将一步步解锁自动化的秘密,让你的服务器管理变得轻松而高效。
|
4月前
|
机器学习/深度学习 运维 监控
使用Python实现深度学习模型:智能安防监控与异常检测
【7月更文挑战第26天】 使用Python实现深度学习模型:智能安防监控与异常检测
65 6
|
3月前
|
监控 Java Serverless
Serverless 应用的监控与调试问题之PyFlink对于Python UDF的性能如何提升
Serverless 应用的监控与调试问题之PyFlink对于Python UDF的性能如何提升
|
3月前
|
运维 监控 大数据
深入探讨网络自动化的魅力所在,以及如何利用Python这一强大工具,实现网络设备的批量配置与监控
在信息洪流的浪潮中,网络自动化如同一盏明灯,引领着我们穿越复杂网络管理的迷雾。它不仅简化了网络运维人员的工作,更是在大数据、云计算等技术飞速发展的背景下,成为了构建高效、稳定网络环境的关键。本文将深入探讨网络自动化的魅力所在,以及如何利用Python这一强大工具,实现网络设备的批量配置与监控,以此展现网络自动化在简化复杂网络管理中的重要作用。
76 0
|
4月前
|
机器学习/深度学习 Prometheus 监控
使用Python实现深度学习模型:模型监控与性能优化
【7月更文挑战第8天】 使用Python实现深度学习模型:模型监控与性能优化
162 4
|
4月前
|
监控 Python
paramiko 模块 ---Python脚本监控当前系统的CPU、内存、根目录、IP地址等信息
paramiko 模块 ---Python脚本监控当前系统的CPU、内存、根目录、IP地址等信息
下一篇
无影云桌面