Python应用实战--制作网络稳定性监控自动化脚本

Python 写网络监控 网络监控是保障网络可靠性的一项重要任务。通过实时监控网络性能,我们可以及时发现异常,迅速采取措施,保障网络畅通无阻。本文将以 Python 为工具,介绍如何编写一个简单而强大的网络监控程序,并封装成 GUI 工具帮助你实时把握网络状况,及时发现并解决潜在问题。 阅读详情

Python应用实战—制作网络稳定性监控自动化脚本

实战目标:利用python语言编写自动化脚本实时监控当前计算机网络状态并记录状态

实战出发点

在工业自动化应用中当有网络不稳定或延迟时,有可能造成自动化设备的报警或停机故障,但在实际处理故障时往往故障出现呈现随机性导致无法快速定位故障点;本实战目标为在计算机设备中加入自动监控网络状态脚本,实时记录网络状态,当出现设备故障停机时可查看网络监控文本用于辅助检查网络中各设备的通讯状态;

一、技术实现规划

检查网络状态可以使用cmd命令行的Ping命令,但是ping命令虽然可以检查网络状态,但是无法将记录保存,日志不可以追溯
python拥有很多模块可以与操作系统进行交互,并获取操作系统的信息
1、通过python的subprocess模块实现与操作系统的交互
2、通过re模块使用正则表达式从系统反馈的文本中提取关键信息
3、通过自定义的csv格式代码将记录改写为表格形式以在excel中实现信息的筛选
4、在windows系统上创建bat自动化运行文件
5、在windows系统上创建并配置自动运行任务

二、python代码实现

import datetime
import subprocess
import re
import argparse
import sys


# -----1 test network
def check_network(ip_address: str,
                  file_path: str = r'C:\Users\reedi\Desktop\Python_code\project\network_monitor\network_mon.csv') -> None:
    _cmd = f'ping {ip_address} -t'
    _match_ip = re.compile(r'\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}')
    _match_bytes = re.compile(r'\s..=(\d+)\s')
    _match_time = re.compile(r'.\d+ms')
    _match_ttl = re.compile(r'TTL=(\d+)')
    _subprocess = subprocess.Popen(_cmd, stdin=subprocess.PIPE, stdout=subprocess.PIPE,
                                   stderr=subprocess.PIPE, text=True)
    try:
        while True:
            try:
                line = _subprocess.stdout.readline()
                if not line:
                    break
                else:
                    _ip_str = _match_ip.search(line)
                    _bytes_str = _match_bytes.search(line)
                    _time_str = _match_time.search(line)
                    _ttl_str = _match_ttl.search(line)
                    if _ip_str and _bytes_str and _time_str and _ttl_str:
                        _str_list = map(str, [datetime.datetime.now(), _ip_str.group(), _bytes_str.group(1),
                                              _time_str.group(), _ttl_str.group(1)])
                        _csv_str = ','.join(_str_list)
                        print(f'{datetime.datetime.now()}: {line.strip()}')
                        write_to_file(_csv_str, file_path)
            except PermissionError:
                print(f'PermissionError: can not write to file {file_path}')
            except Exception as e:
                print(f'Error: {e}')

    finally:
        _subprocess.stdout.close()
        _subprocess.stderr.close()
        _subprocess.wait()


# -----2 write result to file
def write_to_file(content: str, file_name: str = 'check_network_log.csv') -> None:
    with open(file_name, 'a', encoding='utf-8') as file:
        file.write(f'{content}\n')


if __name__ == '__main__':
    if len(sys.argv) > 1:
        print(f'run check_network function with command line arguments')
        parser = argparse.ArgumentParser(description='Check network connectivity by pinging a specified IP address.')
        parser.add_argument('ip_address', type=str, help='The IP address to ping.')
        parser.add_argument('file_path', type=str, help='The path to the log file.')
        args = parser.parse_args()
        check_network(args.ip_address, args.file_path)
    else:
        print(f'run check_network function with default parameters')
        check_network('192.168.0.10', r'C:\Users\reedi\Desktop\Python_code\project\network_monitor\network_mon.csv')


三、创建bat文件

@echo off
start /B python C:\Users\reedi\Desktop\Python_code\project\network_monitor\check_network.py 192.168.0.10 C:\Users\reedi\Desktop\Python_code\project\network_monitor\network_mon.csv
pause

需要根据文件放置的位置重新配置文件地址及更新IP地址

最终文件如下图所示:

在这里插入图片描述

四、创建自动运行任务

1、打开windows任务计划程序

win+r 打开运行程序,输入taskschd.msc
在这里插入图片描述

2、创建基本任务

在这里插入图片描述

3、配置任务

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

小结

1、自动任务完成后需要触发条件才能运行,如果想直接运行可以在任务计划程序库里直接查看任务状态,并右击运行
在这里插入图片描述

2、当创建的python脚本中有异常出现故障未处理时任务会自动停止,需要手动点击重新启动,但需要排除脚本故障否则仍会停止
3、python写入文件代码操作较简单未使用python csv模块,最终文件未生成列名及控制文件占用大小,复杂应用建议使用csv模块进行覆写
4、当自动化脚本运行过程中打开csv文件会导致脚本写入权限占用,需要关闭csv文件后脚本自动继续运行
5、生成的csv文件可以在vs code中打开,但可能显示为文本格式,如需要显示为表格可以安装csv显示插件,也可以在excel中直接打开为表格形式
在这里插入图片描述

AWD攻防赛Python自动化军火库:从扫描利用到监控恢复的实战脚本 在网络安全攻防领域,自动化脚本是提升效率、应对复杂对抗环境的核心工具。其原理在于将重复、繁琐的手动操作转化为可编程、可复用的代码逻辑,从而解放安全人员,使其能专注于策略分析与漏洞挖掘。这种自动化能力在AWD(Attack With Defense)攻防赛等高强度、实时对抗场景中价值尤为凸显,它直接关系到攻击链的构建速度与防守体系的稳固性。通过Python等脚本语言,可以实现从信息收集、漏洞扫描、批量利用到服务监控、文件完整性校验及Flag自动提交的全流程覆盖。本文聚焦于构建此类自动化攻防工作流,提供了涵盖* 阅读详情

相关推荐

如何使用Python进行网络安全监控

我们使用Python的socket库来检测主机和端口的连接状态,并使用smtplib库发送警报邮件。通过编写自己的网络安全监控程序,您可以定期检查网络系统的安全性,并及时采取措施来应对潜在的安全威胁。通过使用Python编程语言,我们可以实现自动化的网络安全监控,以便及时检测潜在的安全威胁并采取相应的措施。在这个函数中,我们需要提供SMTP服务器的地址、端口以及发件人和收件人的电子邮件地址。通过使用类似的方法和技术,您可以扩展这个示例来监控更多的主机和端口,并采取适当的行动来保护您的网络安全。

TechPr的博客 501

利用Python实现系统监控脚本

利用python实现系统监控

qq_41685616的博客 1781

如何用 Python 监测系统文件变化?教你编写一个高效的文件监控脚本

如何用 Python 监测文件变化?教你编写一个高效的文件监控脚本

weixin_43263566的博客 1344

网络监测:使用ping在windows和linux进行监测

项目中,无线路由器连接着一个agv,agv是移动着的,还连接着其他的设备,需要监控一下这些设备的网络情况,因为之前出现互相调用接口 超时的情况。

lichalicha的专栏 897

网络运维自动化脚本大全

在进行IP地址的自动化管理之前,需要有一个清晰的IP管理策略。这包括定义IP地址的分配规则、保留IP地址池以及确保地址的唯一性。同时,还应该有一个记录和审计机制,用于追踪IP地址的使用情况和变更历史。一个良好的IP管理环境应该包括:IP地址分配表自动化脚本用于IP的分配与回收监控系统跟踪IP地址的使用状态。

weixin_28931507的博客 849

Python自动化抢购京东茅台实战脚本项目

是整个系统的“大脑”,决定运行策略和用户个性化设置。"user": {},},},},参数类型说明sku_idstring商品唯一标识,可通过URL或API获取area_idstring地区编码,影响库存判断与配送选项start_timestring抢购开始时间,精确到秒int轮询间隔,避免过于频繁请求int请求失败后最大重试次数通过外部配置解耦业务逻辑,使同一套代码适用于不同用户与商品场景。

weixin_26850469的博客 1866

Python 运维自动化:深入 psutil 模块的监控和管理

psutil在运维自动化的领域,psutil模块作为Python的利器,为开发者提供了强大而便捷的手段来监控和管理系统资源。通过本文的深入介绍,分享了如何利用psutil模块获取实时的CPU和内存使用情况,进行进程管理、网络连接监控以及磁盘使用情况的追踪。这一模块的应用不仅仅局限于获取信息,还能实现自动化监控脚本,用于实际的运维任务。通过示例代码,可以了解如何使用psutil模块监测系统的各种指标,并在实际应用场景中展示了其灵活性和强大性。

涛哥聊Python 1285

Python园区网络自动化运维深度实践教程

网络自动化运维是通过编写脚本或使用自动化工具来管理网络设备和服务的过程,它使得网络管理员能够高效、准确地完成网络配置、监控、故障排查和安全任务。在当今数字化转型的浪潮中,随着网络规模的扩大和复杂性增加,传统的人工运维方式已无法满足需求,网络自动化运维应运而生,成为提高效率、降低成本、保障网络稳定性和安全性的关键技术。在自动化任务中,我们可能需要与多个API进行交互。为了提高代码的可维护性,可以封装一个自定义的API客户端。这个客户端可以包含API的基础配置、认证逻辑以及方法来简化网络请求。

weixin_34511754的博客 1330

网络流量突增怎么办?Python自动化监控脚本一键定位异常源头

快速定位网络流量异常源头,提升运维效率。通过网络流量监控Python脚本实时捕获突增流量,适用于服务器、局域网等场景,结合阈值告警与日志分析精准识别异常进程或IP。自动化运行,轻量高效,值得收藏。

Algorhythm的博客 1142

windwos 服务器巡检 建立连接IP地址查询

windwos 服务器巡检 建立连接IP地址查询

EMGPro 肌肉电手势识别手环传感器

EMG手势识别技术需要进行多方面的工作,包括传感器的设计和布局、EMG信号的采集和预处理、特征提取和分类等。通过对采集到的信号进行特征提取和分类,可以将手势信号与预定义的手势模型进行匹配,从而实现手势识别和控制。通过使用EMG手势识别技术,用户可以更加自由地操纵设备,使得我们的交互方式更加智能和自然。EMG手势识别是利用EMG信号测量肌肉运动的实时性和高精度性,采用机器学习等技术进行数据处理和分析,并将其应用于手势识别领域的一种技术。

m0_68593468的博客 1389

本地部署稳定性提升:DeepSeek 服务监控脚本开发与异常告警实战

本文详细介绍了为本地部署的DeepSeek大型语言模型构建监控告警系统的完整方案。首先明确了从基础设施层到应用层的多维度监控目标,包括CPU、GPU、内存等硬件资源,以及服务进程状态、API性能和日志错误等关键指标。然后提出基于Python脚本的数据采集实现方法,结合psutil、nvidia-smi等工具获取系统指标,并通过健康检查接口和日志扫描监控服务状态。在异常检测方面,设计了静态阈值和动态趋势分析相结合的告警规则,并实现了分级告警机制。

qinzhenyan的博客 1338

保姆级教程:在RV1126开发板上跑通YOLOv5口罩检测(从数据集到摄像头实时识别)

本文提供了一份详细的RV1126开发板部署YOLOv5口罩检测系统的全流程指南,涵盖数据集准备、模型训练优化、边缘部署及实时摄像头识别等关键步骤。重点解析了RV1126开发板的性能特征、YOLOv5模型训练调优技巧、RKNN模型转换量化策略,以及部署过程中的性能优化方案,帮助开发者高效实现边缘端目标检测应用。

weixin_27310985的博客 109

解锁脚本自动化运维实战:从小白到高手的进阶之路

本文围绕脚本自动化运维实战展开,从核心概念、常用语言与必备工具等基础内容切入,通过搭建自动化运维环境、服务器批量管理脚本、系统监控与报警脚本三大实战项目,详细拆解需求分析、技术选型、代码实现及优化流程。还涵盖项目测试验证要点与问题解决方案,展望智能化、云原生融合等未来趋势。文章以实操为核心,兼顾理论与落地,帮助 优快云 博主及运维从业者快速掌握自动化运维技能,提升工作效率,为 IT 运维自动化转型提供实用参考。

邓邓子的博客 1005

一篇文章带你搞定数学建模中的线性回归模型(05年长江水质问题示例讲解含代码)

文章目录一、问题分析二、原理讲解三、MATLAB 实现线性回归模型 一、问题分析 根据你的预测分析,如果未来10年内每年都要求长江干流的Ⅳ类和Ⅴ类水的比例控制在20%以内,且没有劣Ⅴ类水,那么每年需要处理多少污水 为了达到题目中所要求的水质,可建立废水排放量与各类水百分比之间的二元线性回归模型,对未来十年的废水排放量进行预测,并确定其与各类水所占百分比之间的函数关系式。通过此关系式,可以计算在这种情况下长江所能承受的最大污水排放量,将这个排放量与预测的排放量进行比较,多出来的部分就是需要每年处理掉的。 二、

南淮北安的博客 2166

水声信号处理开源算法库最新进展

欢迎关注本专栏,一起探索新世界大家好,我是ZhuChunSHU。985院校硕士毕业,现担任算法研究员一职,热衷于深度学习算法研究与应用。曾获得阿里云天池比赛第三名,CCE比赛第五名,科大讯飞Q比赛第六名。拥有多项发明专利。对机器学习和深度学习拥有自己独到的见解。曾经辅导过若干个非计算机专业的学生进入到算法行业就业。希望和大家一起成长进步。今天继续我们的专栏分享!!!!!!!!!!!!!!!!!!!!水声信号处理是海洋科学与工程领域的核心组成部分,对于水下通信、目标探测、海洋环境监测以及生物声学研究至关重要。

u012133341的博客 1254

脚本自动化运维实战:开启高效运维新时代

本文系统介绍了自动化运维的必要性及关键技术实践。在数字化时代,自动化运维能显著提升效率(30%-50%)并缩短故障恢复时间(50%以上)。文章详细解析了Bash和Python等脚本语言的特点及适用场景,并提供了系统备份、日志管理和资源监控等实战案例。同时介绍了Ansible配置管理和Jenkins持续集成两大工具的应用方法,以及脚本优化与安全防护策略。最后展望了AIOps和云原生技术带来的智能运维发展趋势。全文为企业构建高效自动化运维体系提供了全面指导。

大雨淅淅的博客 830

使用 MATLAB/Simulink 构建一个 压水堆核电机组的反应堆控制与功率调节系统 仿真模型

本文通过Simulink构建压水堆核电机组的反应堆控制与功率调节模型,详细介绍了建模流程:从中子点动力学核心方程、反应性反馈模型(控制棒、多普勒和慢化剂效应)、一回路热工模型到完整的闭环控制系统。教程包含系统结构设计、参数设置、模块连接方法,以及典型负荷变化场景的仿真分析,帮助读者理解核反应堆动态特性和控制原理。同时提供了进阶建模建议,如分布参数模型和先进控制策略的应用。该模型为教学简化版,强调核能系统的机理建模与Simulink实现方法,适合核工程与控制领域的学习者参考实践。

amy_mhd的博客 188

Python 自动化测试应用

pytest提供简洁的语法,适合快速开发和测试。unittest更加正式,适合结构化的单元测试,尤其是当项目变得更加复杂时,unittest具备更多的测试控制功能。两者都能非常有效地用于自动化测试运维脚本,根据项目需求选择最适合的框架。自动化测试与 CI/CD 流程的集成是 DevOps 的核心,它为快速迭代和高质量交付提供了保障。在持续集成中,自动化测试可以确保每一次更改都不会影响系统的稳定性,帮助开发和运维团队更高效地协作。TDD 作为一种提高代码质量的开发方法,在运维脚本的编写中同样适用。

switch616的博客 1259

1.DJI-payload SDK负载开发准备和硬件连接及运行示例代码

大疆psdk开发环境

哒宰的博客 1443

MicroCap声学仿真介绍(五)-倒相管扬声器系统仿真

实际倒相管的扬声器单体选择、后腔容积、倒相管的直径和长度都是需要精心挑选的,为了便于演示,随意指定了倒相管的长度和直径,现实中还是不能这么随便的。之前介绍了封闭式扬声器的仿真,今天在封闭式扬声器的基础上,再介绍一下倒相管扬声器系统的仿真。

山无忧的博客 1718

容器网络配置不再难:Python自动化脚本的10个关键函数详解

轻松掌握容器网络配置难题,本文详解10个实用Python自动化脚本函数,涵盖Docker网络管理、IP分配、服务发现等场景,提升运维效率。脚本易用可复用,助力开发与部署,值得收藏。

CodeVibe的博客 952

GIS常用符号化色带(超级色带)根据python制作

GIS自带的色带比较单一,今天分享一款色带,应用之后大家出图的时候可以选择更多的配色,符号化/点击色块/样式引用/将样式添加至列表即可。色带类型比较多,大家可以自己尝试下不同的风格。简单符号化一下,看看效果。以中国县级行政区划为例,

J_Giser的博客 2639

Python RPA自动化终极指南:从安装到实战应用

想要快速掌握Python机器人流程自动化技术吗?RPA for Python是一个强大的开源工具,可以让你用简单的代码自动化各种重复性任务。本指南将带你从零开始,完整介绍安装配置和使用技巧。 ## 🚀 快速安装Python RPA 安装过程非常简单,只需一行命令: ```bash pip install rpa ``` 这个命令会自动下载并安装RPA for Python包,让你立即开始

gitblog_00714的博客 1429

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

Python 自动化运维实战:用脚本代替繁琐的手动操作!

Python 是一门非常适合自动化运维的语言,凭借其简洁的语法、强大的库支持以及跨平台的特性,已经成为运维领域的“必备神器”。通过自动化脚本,可以大大提高运维效率,减少人为错误,并确保系统的稳定运行。本文介绍了常见的 Python 自动化运维任务,包括系统监控、自动化部署、备份、日志分析、软件安装等,并通过实际的代码示例展示了如何用 Python 脚本替代繁琐的手动操作。如果你是一名运维工程师,掌握 Python 自动化脚本将使你的工作更加高效和智能化!

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 2514

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

上一篇: python opcua模块加密认证通讯配置教程
下一篇: 【更新】Docker新手入门教程2:在Windows系统通过compose创建多个mysql镜像并配置应用
PittDing
博客等级 码龄7年 227粉丝 36原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值