Python3网络设备巡检(交换机篇)

您所在的位置:网站首页 网络设备巡检表格怎么做 Python3网络设备巡检(交换机篇)

Python3网络设备巡检(交换机篇)

#Python3网络设备巡检(交换机篇)| 来源: 网络整理| 查看: 265

介绍

只写了交换机的,路由器、防火墙、负载等其它设备以后,有需求再写,下面以一组交换机为例。

思路

1、收取交换机的信息  需要哪些信息,哪些命令,不同品牌交换机命令不同(本篇以H3C为例),需要提前规划好。交换机的IP、名字、密码等信息,写入数据库比较方便。  2、把需要的信息填入表格  根据关键字提取交换机中的状态信息,并一次填入设计好的表格中,难点是字符串的截取和excel表格的设计。同款交换机相同的命令,可能用同一个关键字,抓取的信息也不一样,这个要多试几次。  3、编写邮件,发送邮件。  4、linux编写任务计划,crontab定期执行python代码,定期发送邮件。

代码

抓取交换机需要的配置信息

import pexpect import sys import datetime import pymssql import os today=datetime.date.today().strftime('%Y%m%d') path = "/root/xunjian/"+today os.mkdir(path,777)#创建目录 def Switch(name,ip,passwd): try:#try except 防止有一个命令错误,导致程序不能进行,其实不加也可以,如果有命令没输出,下一个代码也会报错。 name1="---- More ----"#模拟交换机出现的翻页提示 child=pexpect.spawn('telnet %s'%ip) fout=open('/root/xunjian/'+today+'/'+'%s-%s.txt'%(name,ip),'wb+') child.logfile = fout child.expect('login:')#提示用户登录,输入帐号,交换机不同,有所不同。 child.sendline("admin") child.expect('(?i)ssword:')#提示输入密码 child.sendline("%s"%passwd) child.expect(''%name) child.sendline("display cpu-usage")#查看cpu状态 child.expect(''%name) child.sendline("display memory")#查看内存状态 child.expect(''%name) child.sendline("display environment")#运行温度 child.expect(''%name) child.sendline("display fan")#风扇状态,一般输出都有2个 child.expect(''%name) child.sendline("display power")#电源状态 child.expect(''%name) child.sendline("display ip routing-table")#路由表 for i in range(10): index = child.expect([name1,''%name]) if ( index == 0 ): child.send(" ") else: child.sendline("display interface brief")#端口状态 break for i in range(10): index = child.expect([name1,''%name]) if ( index == 0 ):


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3