今天遇到一个在运维中操作时遇到的一个繁琐的问题,在多台路由器和交换机输入命令检查通信设备运行状态。运维人员使用SecureCRT在不同的命令界面输入display device来检查各个通信设备的状态信息,在局域网存在较少设备时,依靠人为操作没啥问题,当存在很多通信设备时,那么就需要自动化了。
在笔者的运维经验中,始终觉得手工操作等传统运维工作不应该占用非常多的时间,应该预留时间关注到开发工作上,改进流程或者报警等工作。传统运维工作是没有持久价值的,一些环节实现自动化,那么可以节省一些时间来做一些有意思的事情。本着这个思想,笔者使用python做了个简单的脚本来完成自动telnet检查通信设备运行状态。
整个脚本如下,基于python的模块telnetlib来完成,下面的脚本也是在模块文档的基础上修改而成,telnetlib 模块提供了一个实现 Telnet 协议的 Telnet 类。为了防止关键信息泄露,不将user和password写在脚本中,而是使用input读取用户名,getpass读取密码。
在最后也可以通过一个函数来解析读取到信息,判断是否符合要求或者是否在特定范围内,来实现更加丰富的功能。
网友评论