【项目实战】Python基于telnetlib模块实现交换机全面巡检自动化运维项目

说明:这是一个自动化运维实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取。

  

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地址,数据也均为去除敏感信息后的数据。

此项目难点:

  1. 解决巡检命令输出结果超出缓冲区的问题,把巡检命令所有的日志都保存下来;
  2. 通过正则表达式实现了不同类型交换机各种输出日志格式的判断以及实现了最后统一的输出。
data = pd.read_excel('IP.xlsx')
data_ip = data['IP'].tolist()
# print(data_ip)

# 本次项目实战所需的资料,项目资源如下:

链接:https://pan.baidu.com/s/1NpueUKv9Vg61BQSVpzcxkg 
提取码:kv12






for i in range(len(data_ip)):
    ip = data_ip[i]  # Telnet交换机IP
    username = b'yonghu'  # 登录用户名
    password = b'pw123'  # 登录密码
    # telnetip(ip)


# 配置选项
# ip = '99.43.52.82'  # Telnet交换机IP
# username = b'yonghu'  # 登录用户名
# password = b'pw123'  # 登录密码
# telnetip(ip)
for i in range(len(data_ip)):
    ip = data_ip[i]  # Telnet交换机IP
    files = ip + 'session.txt'
    if os.path.exists(files):
        lst_ip, lst02, lst03 = Get_telnet(ip)

print(len(lst_ip))
print(len(lst02))
print(len(lst03))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张陈亚

您的鼓励,将是我最大的坚持!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值