交换机自动化获取诊断(H3C_无人值守)

介绍

在网络遇到个人无法处理的问题时,需要下载诊断信息发送给400处理,而通过传统的方式获取诊断信息需要通过多个步骤来获取,步骤繁琐,在设备数量过多的情况下,严重影响工作效率,而通过python自动化的方式可以完美解决这个问题。

1、传统收集诊断步骤

通过console或其他远程方式连接至交换机或其它网络设备

通过命令行将诊断信息保存至交换机

搭建TFTP下载交换机中的诊断文件

2、通过python收集诊断步骤

填写设备信息并运行自动化代码

获取到的诊断信息已同步当前时间点并存储到了指定的文件夹,全程只需要运行一次代码就能直接获取到诊断信息,相对传统获取的方式真的能提高不少的工作效率,而且文件命名是获取当前时间来写入命名的。

3、代码介绍

文件介绍

当前文件夹中除去介绍文件共有3个文件一个文件夹
"capture.txt"文件用于存放从交换机获取到的数据
"diagnostic.txt"文件用于直接参考代码
"diagnostic.py"文件作为自动化获取巡检信息的代码
"diagnosis"文件夹则用于存取从交换机下载的诊断信息文件

代码修改

复制代码
    USERNAME = "h3c"  # 交换机登录用户
    PASSWORD = "huawei@123"  # 交换机登录密码

    # 添加你的交换机IP地址
    hosts = ["172.16.1.1"]  # 替换为你实际的交换机IP

通过修改代码的122、123、127行将交换机信息修改为想要获取诊断信息的账号密码和IP

复制代码
print("诊断收集中,需等待40秒...")
# 输入确认并等待40秒
ssh_shell.send('y\n')  # 输入 'y' 并回车确认保存诊断信息
time.sleep(1)
# 使用动态生成的文件名保存到交换机
ssh_shell.send(f"flash:/{self.diagnostic_file}\n")  # 输入文件名并回车
for remaining in range(40, 0, -1):

其中45行和51行是交换机获取诊断信息时间的等待时长,本此实验是使用一台新的交换机来演示的,所以使用的时间是40秒,如果在巡检高端设备、且数据量较为庞大的情况下,可以先通过console收集一次先,计算一下收集诊断的时间是多久,如果设置时间过长,会耽误自己的时间,如果设置时间过短会导致诊断信息收集失败,下载的文件会是一个空文件。

代码链接:【免费】交换机自动获取诊断信息(H3C)免费下载资源-CSDN文库

自动化工具: 【免费】python、pycharm工具资源-CSDN文库

相关推荐
2601_962293246 小时前
Python自动化统计团队工作量并生成可视化仪表盘的脚本方案【指导】
python·数据分析·自动化·可视化·仪表盘
2601_962293798 小时前
OCRmyPDF批处理脚本:使用Python自动化复杂OCR任务
python·自动化·批处理脚本·ocrmypdf·ocr任务
新时代牛马8 小时前
Linux VFS 完整篇:从path_openat、dentry/inode 到page cache 与挂载排障
linux·运维·服务器
Java后端的Ai之路9 小时前
20、Python - 备忘录模式
开发语言·人工智能·python·外观模式·备忘录模式
2601_9620777110 小时前
基于Python与NLP的新闻事件信息抽取实战:从NER到时空标准化
python·nlp·transformers·spacy·新闻事件抽取
cloudfantasy10 小时前
docker直接二进制安装,非编译。KylinV10SP3 aarch64有效
运维·docker
JavaPub-rodert10 小时前
LangChain 从入门到 Agent 实战:用 Python 搭建一个真正能调用工具和知识库的 AI 助手
人工智能·python·langchain
新时代牛马10 小时前
Linux 驱动中断与定时完整篇:从 request_threaded_irq 到hrtimer 选型与排障
linux·运维·服务器
郝学胜-神的一滴10 小时前
Qt 高级编程 045:坐标体系深度实战
开发语言·c++·windows·python·qt·程序人生
考虑考虑11 小时前
nginx打印请求日志
运维·后端·nginx