吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 328|回复: 1
上一主题 下一主题
收起左侧

[会员申请] 会员申请Backbackback

[复制链接]
跳转到指定楼层
楼主
吾爱游客  发表于 2026-8-5 14:03 回帖奖励 |自己
申请会员 ID:Backbackback
申 请 ID:Backbackback
个人邮箱:bayiabm625@gmail.com
原创技术文章:Python运维自动化体系实现
现在数据中心网络越来越大,光靠人工盯着设备运行根本忙不过来,必须得用自动化的监控系统。以下分享内容针对华为的设备(SW、CE、AR、FW、AC),统一读取它们的IP地址、账号密码,然后连起来统一纳管。
        得时刻盯着设备的“身体状况”,比如CPU累不累、内存够不够、风扇转得快不快、温度高不高,通过这些数据能提前发现设备要出问题或者性能跟不上。
        设备配置经常改,系统得能批量改配置、自动备份当前设置,每一步操作还得记清楚,出问题能倒回去查。
        每天得自动生成报告,把设备的基本信息、实时状态、历史数据趋势用图表表格整明白,支持Excel这种方便看的格式,还能定时发邮件。
        设备出毛病了得马上报警,最好还能自动处理,比如重启设备或者执行预设的修复步骤。
        系统还得“长个儿”,以后新设备、新监控项加进来也不费劲,而且能和现有的网络管理系统、运维工具配合工作,数据互通不重复折腾。
        总的来说,自动化监控就是让网络更稳当、更高效,少出故障,出问题也能快速解决。
下面是我针对我的一个拓扑写的Python自动化运维脚本,主要用到了四个关键的模块:Netmiko、Pandas、concurrent.futures、typing。拓扑图如下(原拓扑设计者为阮维,不认识的自己百度一下。):
一、监控配置模板库设计首先定义一个网络设备监控系统的配置字典,主要包括两个部分:device_name_by_ip 字典建立了IP地址与设备名称的映射关系,包含了19个网络设备(路由器R1-R11、防火墙FW1-FW2、交换机SW1-SW2、接入控制器AC1、核心设备CE1-CE3)的IP地址与名称对应关系。五个设备类型专用字典(SW_dict、CE_dict、AR_dict、FW_dict、AC_dict)分别定义了交换机、核心设备、路由器、防火墙和接入控制器的监控项配置。每个字典包含多个监控项(如OSPF状态、电源状态、内存使用率等),每个监控项都指定了查询命令("com"键)和用于解析输出的正则表达式("re"键)。例如,对于核心设备(CE_dict)的"Alarm"监控项,使用"dis device"命令查询设备状态,并通过正则表达式"Abnormal|Normal|WrongType"匹配异常、正常或类型错误等状态。
二、配置自动部署设计configure_device 函数是网络设备自动化配置的核心功能,配置单个网络设备的主函数,相当于给设备发送配置命令,负责单个网络设备的完整配置流程。函数接收包含设备连接信息(IP、用户名、密码等)的字典参数,通过SSH协议登录设备后,会依次执行:1) Excel读取该设备的配置命令文件;2) 备份设备当前配置;3) 推送新配置命令。整个过程会生成带时间戳的会话日志,并返回带有表情符号的配置结果(成功笑脸/失败哭脸),使得配置结果直观易懂。如果找不到配置文件,函数会自动执行默认的接口查看命令作为回退方案。核心代码如下:
三、设备健康监测实现monitor_device_status 函数是网络设备状态监控的核心功能模块,主要负责对单个网络设备进行周期性健康检查并生成监控报告。该函数通过SSH连接设备后,会根据设备类型(交换机、路由器、防火墙等)执行差异化的检查项目(如CPU使用率、内存占用、风扇状态等),每60秒采集一次数据,共执行3次循环检测,最后将检查结果整理成结构化的Excel报告,包含设备名称、IP地址、检查时间戳及各监控项数值,并自动调整报表列宽优化显示效果。核心代码如下:(1)      设备分类与检查逻辑 (2)      周期性检查循环->结果收集与格式化 (3)      报告生成核心
四、Excel配置数据源集成get_devices_from_excel函数用于从指定的Excel工作表中提取网络设备配置信息。该函数接受两个参数:Excel文件的路径和目标工作表的名称。通过调用Pandas库,函数读取文件中“IP地址用户名密码会话日志路径等指定列的数据,并将每一行数据转换为包含设备类型、IP地址、认证信息(用户名和密码)及日志路径的字典格式。若文件不存在或格式不符,函数会捕获异常,返回空列表,并打印错误信息以辅助调试。该函数为系统提供了标准化的设备清单数据输入接口。核心代码如下:
五、功能测试
  • 测试环境初始化

首先创建好文件夹,运行代码时能自动寻找到对应文件backup文件夹用于存放存放运行代码后设备的配置备份文件,DeviceConfig文件夹用于存放各个设备准备配置的命令,report文件夹用于记录下设备监控报告,session_logs文件夹用于记录各个设备会话日志信息,Decices.xlsx表格用于存放路由器、防火墙、交换机等多类网络设备的连接凭据(IP、用户名、密码)、会话日志路径及配置文件存储位置,test.xlsx表格用于实验测试,和Decvices.xlsx存放信息一样。各设备配置命令存放Devices.xlsx表格存放信息
  • 设备远程接入配置
为实现高效安全的自动化运维体系,首要任务是在网络设备中规范部署SSH远程管理服务。相较于传统Telnet协议,SSH协议通过非对称加密技术构建双向认证机制,不仅能有效抵御中间人攻击和明文嗅探风险,还可通过密钥对认证方式强化访问控制,为自动化运维构建安全基石。SW交换机的配置命令为例:aaa local-user adminSW password cipher Huawei@123 local-user adminSW privilege level 15 local-user adminSW service-type sshuser-interface vty 0 4 authentication-mode aaa protocol inbound sshstelnet server enablessh user adminSW authentication-type allssh user adminSW service-type allssh client first-time enablesftp server enablessh user adminSW sftp-directory flash:
  • 核心功能实现
提前准备好配置文件,这里主要为了测试,各个设备的配置文件都是创建环回口10并配上地址。如AR1的配置文件为:int loo10ip add 123.123.123.1 24 当登录成功时,会显示成功登录到【设备名称】登陆完成后会进行下发配置,并且会提示配置成功配置成功之后打开eNSP进入设备输入dis cu int loo10验证是否配置成功,结果显示配置成功配置完成后开始对单个网络设备进行周期性健康检查并生成监控报告。根据设备类型(交换机、路由器、防火墙等)执行差异化的检查项目(如CPU使用率、内存占用、风扇状态等),每60秒采集一次数据,共执行3次循环检测,最后将检查结果整理成结构化的Excel报告,包含设备名称、IP地址、检查时间戳及各监控项数值。路由器检查各项目。防火墙检查各项目。CE交换机检查各项目SW交换机检查各项目
  • 测试输出标准化存储
本系统采用结构化的数据存储方案,确保所有测试输出结果以统一格式保存,便于后续分析和查阅。时间戳精确到秒(YYYYMMDDHHMMSS格式)。系统运行过程中产生的会话日志文件,主要用于记录设备配置和监控过程中的详细操作信息,生成的各设备日志信息文件如图。生成的Excel报告表格采用结构化格式存储设备监控数据,包含设备名称、IP地址、精确时间戳等基础信息,以及根据设备类型动态采集的各项性能指标。报告以‘设备名称_status_月日时分秒.xlsx’命名(如R1_status_0420231457.xlsx)。生成的数据内容会自动调整列宽优化可读性,每次监控生成3条时间序列记录,便于后续分析和故障排查。backup文件夹下为生成的备份文件,是各个设备当前配置的文本快照。
这套华为网络自动化运维系统用Python开发,能批量管设备、盯状态、出报告。配置时从Excel读设备清单和模板,多线程同时操作20台设备,自动备份防出错,结果用表情符号标清楚。监控定时查CPU、内存等数据,循环3次保准确,不同设备有不同检查策略。报告自动生成Excel,智能调格式、按时间存档,所有操作都记日志方便查。整套系统把几小时的工作缩到几分钟,省人又省力,还少出错。
本技术文档及代码内容仅限学术交流与技术研究使用,严禁用于商业盈利或其他非法场景。如需转载传播,必须明确标注原始出处以尊重知识产权。文中程序代码均配有详细注释说明,旨在为学习者提供清晰的思路指引,倡导大家通过深度研读、相互探讨实现技术能力的共同提升,在合作互助中推动技术进步。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

沙发
Hmily 发表于 2026-8-5 17:22

抱歉,未能达到申请要求,申请不通过,可以关注论坛官方微信(吾爱破解论坛),等待开放注册通知。

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - 52pojie.cn ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2026-9-16 09:01

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表