Python基于telnetlib模块实现交换机全面巡检
项目背景
在工作中需要每天定时进行交换机运行状况的巡检,每天都是重复这样的工作,而且每天手动巡检花费很大的时间和精力。说明:这是给一个客户开发的交换机自动化巡检项目。
需求分析
需求一
批量输入交换机IP地址:
说明:此处IP数量不限制。
依次输入用户名yonghu,密码pw123,输入命令enable、config、diagnose;
先执行” clear statistics emac 0//槽位号 端口号”,然后执行命令“display statistics emac 0/槽位号 端口号”,槽位号1-15,端口号0-7,输出结果中读取“Received line code error frames”后的数值,例如1槽从0/1 0执行到0/1 7
当执行结果为Failure: The port of this type does not support this operation或者Failure: This board does not exist时,该槽位不采集,执行下一槽位。每台设备读取两次,两次间隔1分钟,计算前后两次各个端口的差值,最后输出差值大于0的端口,输出xls表,如下:
需求二
目标:查每个端口下用户的光衰,统计出光衰最大和最小。
批量输入交换机IP地址:
说明:此处IP数量不限制。
依次输入用户名yonghu,密码pw123,输入命令enable、config、diagnose;
执行命令interface epon 0/1 这里0/后面跟槽位,1-15
display ont optical-info 0 all 这条命令,端口是0-7
输出结果 统计OLT Rx ONT power(dBm) 这一列
输出如下:
需求三
针对需求一和需求二输出的结果进行合并,合并到一个excel文件中。合并规则:以需求一输出的结果为基准,把需求二输出的结果合并到需求一结果中,缺失值用0填充。最终输出结果如下:
说明:此项目的IP地址均为模拟的IP,非真实IP地址,数据也均为去除敏感信息后的数据。
此项目难点:
- 解决巡检命令输出结果超出缓冲区的问题,把巡检命令所有的日志都保存下来;
- 通过正则表达式实现了不同类型交换机各种输出日志格式的判断以及实现了最后统一的输出。
python ssh交换机 python交换机ssh巡检
转载本文章为转载内容,我们尊重原作者对文章享有的著作权。如有内容错误或侵权问题,欢迎原作者联系我们进行内容更正或删除文章。
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
zabbix ssh交换机 交换机ssh连接
远程登陆交换机一直是有不少朋友问起,我们在配置交换机时,远程登陆基本上是必做的工作,同时也带来极大的方便,能够通过远程直接进入交换机管理网络,目前远程登陆主要有两种方式,Telnet与SSH,这两种方式都有人在使用,前几天还有朋友问到我们,那么本期我们来解决三个问题。1、交换机Telnet的远程登陆方式如何配置?2、交换机SSH的远程登陆方式如何配置?3、那一种登陆方式好?一、Telnet远程如何
zabbix ssh交换机 telnet 22正常 ssh无法连接 telnet 一直显示trying telnet成功 telnet成功显示什么