一、目的和测试结果:

(1). SSH登录到各个交换机收集软件版本、CPU、内存利用率和硬件状态信息。

(2). 生成如下的excel表格文件展示。

二、环境准备:

(1). 使用华为的eNSP模拟器来模拟真实设备,本机IP169.254.94.30,两台交换机的IP分别是169.254.94.31169.254.94.32

(2). 由于使用了第三方模块netmiko和xlwt模块,需要提前使用以下命令安装。

pip install netmiko
pip install xlwt

(3). 创建一个名称为:ip_list.txt 的文件用来存放巡检的设备IP。

169.254.94.31
169.254.94.32

三、python 巡检华为交换机脚本:

# -*- coding: utf-8 -*-
from netmiko.huawei.huawei import HuaweiSSH
from netmiko import NetMikoTimeoutException
from netmiko import NetMikoAuthenticationException
from getpass import getpass
import re
import io
import xlwtdef main():"""主函数"""# 让用户输入ssh用户名密码username = input('请输入ssh用户名:')password = getpass('请输入ssh密码:')# 打开ip_list.txt文件获取IP列表ip_list = open('ip_list.txt', 'r')ip_addr = ip_list.readlines()ip_list.close()cmd_line = ['display version', 'display cpu-usage', 'display memory-usage', 'display device']# 创建一个workbook 设置编码workbook = xlwt.Workbook(encoding='utf-8')# 创建一个worksheetworksheet = workbook.add_sheet('My Worksheet')# 初始化表格worksheet.write(0, 0, label = "交换机IP")worksheet.write(0, 1, label = "交换机名称")worksheet.write(0, 2, label = "软件版本")worksheet.write(0, 3, label = "CPU利用率")worksheet.write(0, 4, label = "内存利用率")worksheet.write(0, 5, label = "硬件状态")hang = 0lie = 0# 遍历ip列表用来生成迭代器for ip in iter(ip_addr):print(' ')print('本次巡检的设备IP:' + ip)try:S5720 = {'device_type': 'huawei','ip': ip,'username': username,'password': password,}# 实例化HuaweiSSHnet_connect = HuaweiSSH(**S5720)#print ("恭喜,成功登录")#print ("设备名:" + str(net_connect.find_prompt().strip('<>')))ip_str = (ip)hang = hang + 1# 初始化表格列lie = 0worksheet.write(hang, lie, label=ip_str)lie = lie + 1worksheet.write(hang,lie,label=net_connect.find_prompt().strip('<>'))for cmd in iter(cmd_line):cmd_result = net_connect.send_command(cmd)regex_str = []if 'VRP (R) software' in cmd_result:regex_str = '\(\w*\d\d.*\)'version = (re.search(regex_str, cmd_result))lie = lie + 1worksheet.write(hang,lie,label=version.group().strip('()'))cmd_result = ''if 'CPU ' in cmd_result:regex_str = '\d*.\d*.\%'cpu_usage = (re.search(regex_str, cmd_result))lie = lie + 1worksheet.write(hang,lie,label=cpu_usage.group().strip(' '))cmd_result = ''if 'Memory ' in cmd_result:regex_str = '\d*.\%'memory = (re.search(regex_str, cmd_result))lie = lie + 1worksheet.write(hang, lie, label=memory.group())cmd_result = ''if 'Device ' in cmd_result:if 'Abnormal' in cmd_result:lie = lie + 1worksheet.write(hang, lie, label=u"Abnormal")elif 'WrongType' in cmd_result:lie = lie + 1worksheet.write(hang, lie, label=u"WrongType")elif 'Unregistered' in cmd_result:lie = lie + 1worksheet.write(hang, lie, label=u"Unregistered")elif 'Off' in cmd_result:lie = lie + 1worksheet.write(hang, lie, label=u"Off")elif 'Offline' in cmd_result:lie = lie + 1worksheet.write(hang, lie, label=u"Offline")else:lie = lie + 1worksheet.write(hang, lie, label=u"Normal")cmd_result = ''net_connect.disconnect()except (EOFError, NetMikoTimeoutException):print('无法连接设备')netmikotimeout = (u'无法连接设备' + ip)hang = hang + 1lie = 0worksheet.write(hang, lie, label=netmikotimeout)except (EOFError, NetMikoAuthenticationException):print('用户名密码错误!')netmikotuehenticattion = (u'用户名密码错误' + ip)hang = hang + 1lie = 0worksheet.write(hang, lie, label=netmikotimeout)workbook.save('xunjian.xls')if __name__ == '__main__':main()

四、测试过程:

有想领取太阁课程学习资料的小伙伴,或者领取本周五IE课程预习资料的,想咨询太阁课程价格的小伙伴,你们都可以扫码添加小老虎微信,跟小老虎聊一聊,大家共同努力,出发吧,就是现在!

如何用python 巡检华为交换机?相关推荐

  1. 使用python提取华为交换机的接口IP信息保存到excel中(ensp模拟器)

    实验环境: 如图所示,SW1-SW5上分别已经配置了SSH,使用外部PC可以SSH到其中. 在本次实验中,主要使用了如下三个模块: openpyxl,对excel文件进行操作,具体可以参考:https ...

  2. python 备份交换机_干货 | 如何用python实现每天定时备份交换机配置文件? 真香~...

    网 工 圈 关注 当交换机配置发生变化,如何自动备份配置到FTP上?2条命令搞定! 上期分享了交换机配置发生变化时,自动备份配置到FTP上的文章,后面有网友私信来问,龙哥,龙哥能不能教一下每天自动备份 ...

  3. python登录交换机执行命令_如何用Python脚本登录到交换机上修改配置?

    原标题:如何用Python脚本登录到交换机上修改配置? 网 工 圈 网络工程师阿龙 圈内最早的公益公众号,本号已认证!学网络关注我一个就够了(关注近5w+) 关注 听说 99%的 网工都来这里充电吖 ...

  4. Python 脚本备份华为交换机

    转载请注明出处 需要调用的库: import telnetlib import datetime import time 需要了解的telnetlib函数 telnetlib.Telnet #teln ...

  5. 华为交换机路由器例行维护(巡检)方法参考

    目录 1.设备环境检查 2.设备基本信息检查 3.运行检查 4.接口内容检查 5.业务检查 1.设备环境检查 设备运行环境正常是保证设备正常运行的前提. No. 检查项 评估标准和说明 检查结果 1 ...

  6. python 华为交换机自动配置_Python+YAML+Jinja2批量生成华为交换机配置

    一.YAML简介 YAML是一种简洁的非标记语言,通过空白.缩进.分行组织数据,从而使数据表达清晰易懂. YAML文件,其实就是后缀名为yaml或yml的文本文件. 文件以三道杠表示开头 --- #这 ...

  7. python以ftplib批量备份华为交换机配置文件(测试可用)

    python3以ftplib备份华为交换机配置文件(测试可用 原文有部分小错误,python3.8测试,修复后可用. #! env python # coding=utf-8# ver2.0 # 使用 ...

  8. Python:通过SNMP协议获取华为交换机的ARP地址表

    华为交换机SNMP配置 system-view 进入交换机的配置模式. [switch]snmp-agent community read huawei 配置community 只读属性为huawei ...

  9. 华为交换机路由器常用命令

    2019独角兽企业重金招聘Python工程师标准>>> 华为交换机路由器常用命令 网络技术  /wangzhijun1743  发表于2007-03-24, 12:25 交换机命令 ...

  10. ping 不通 华为三层交换机vlan_华为交换机常用的三种vlan划分方法,一文了解清楚vlan...

    今天来深入学习vlan,都有详细注释. 一.端口为类型 在学习划分vlan前,必须要了解华为交换机的端口类型,以及他们的使用方法,因为端口的类型在实际配置中是必须会用到的,因为下面的vlan划分会用到 ...

最新文章

  1. wdatepicker设置时间范围_Mac新手必看,这些设置可以让你的Mac更好用!
  2. python输入一组身高_一起学Python系列之用户输入
  3. 二叉树的层序遍历 使用队列和不使用队列
  4. Python实训day05pm【JS-DOM-获取元素节点对象、网络爬虫】
  5. 关于NAND flash的MTD分区与uboot中分区的理解 .
  6. 关于C3P0容错和自动重连特性的研究
  7. LeetCode 刷题笔记 (树)
  8. i 智慧 | 深度广度并举,AWS容器服务再推利器!
  9. 送书 | 数据分析如烹小鲜
  10. 2021年中国宠物食品加工设备市场趋势报告、技术动态创新及2027年市场预测
  11. Hyper-V虚拟化测试12非计划的故障转移
  12. Copula函数实战(Matlab)
  13. 递归神经网络教程请签收!
  14. pc端和移动端有什么区别?
  15. 跳棋c语言课程设计,C语言课程设计(论文)-跳棋--154591860.doc
  16. Win10 64位+Mysql5.7+主从同步配置
  17. [目录]-博客笔记导读目录(全部)
  18. 基础的JavaScript编码规范
  19. python 中文转拼音原理_Python中文转拼音
  20. LaTeX错误 Misplaced alignment tab character

热门文章

  1. [转载]JXTA技术与原型实现简介
  2. OSDI 2022 Roller 论文解读
  3. 快手作者视频如何批量下载
  4. AGV机器人RFID传感器CK-G06A与西门子1200PLC应用手册
  5. spring配置c3p0连接池
  6. 蚂蚁课堂视频笔记思维导图-4期 三、消息中间件
  7. 手把手Java爬虫教学 - 1. 了解爬虫
  8. 2015软件测试视频教程
  9. C# Newtonsoft的使用
  10. java word转pdf 在linux转pdf乱码解决方法