0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

python巡检华为交换机

网络技术干货圈 来源:网络技术干货圈 2022-12-30 09:13 次阅读

一、目的和测试结果:

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

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

5cb7fb16-87d1-11ed-bfe3-dac502259ad0.png

二、环境准备:

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

5cda2cc2-87d1-11ed-bfe3-dac502259ad0.png

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

pipinstallnetmiko
pipinstallxlwt

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

169.254.94.31
169.254.94.32

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

#-*-coding:utf-8-*-
fromnetmiko.huawei.huaweiimportHuaweiSSH
fromnetmikoimportNetMikoTimeoutException
fromnetmikoimportNetMikoAuthenticationException
fromgetpassimportgetpass
importre
importio
importxlwt


defmain():
"""
主函数
"""
#让用户输入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=['displayversion','displaycpu-usage','displaymemory-usage','displaydevice']

#创建一个workbook设置编码
workbook=xlwt.Workbook(encoding='utf-8')
#创建一个worksheet
worksheet=workbook.add_sheet('MyWorksheet')
#初始化表格
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=0
lie=0

#遍历ip列表用来生成迭代器
foripiniter(ip_addr):
print('')
print('本次巡检的设备IP:'+ip)
try:
S5720={
'device_type':'huawei',
'ip':ip,
'username':username,
'password':password,
}
#实例化HuaweiSSH
net_connect=HuaweiSSH(**S5720)
#print("恭喜,成功登录")
#print("设备名:"+str(net_connect.find_prompt().strip('<>')))
ip_str=(ip)
hang=hang+1
#初始化表格列
lie=0
worksheet.write(hang,lie,label=ip_str)
lie=lie+1
worksheet.write(hang,
lie,
label=net_connect.find_prompt().strip('<>'))
forcmdiniter(cmd_line):
cmd_result=net_connect.send_command(cmd)
regex_str=[]
if'VRP(R)software'incmd_result:
regex_str='(w*dd.*)'
version=(re.search(regex_str,cmd_result))
lie=lie+1
worksheet.write(hang,
lie,
label=version.group().strip('()'))
cmd_result=''
if'CPU'incmd_result:
regex_str='d*.d*.\%'
cpu_usage=(re.search(regex_str,cmd_result))
lie=lie+1
worksheet.write(hang,
lie,
label=cpu_usage.group().strip(''))
cmd_result=''
if'Memory'incmd_result:
regex_str='d*.\%'
memory=(re.search(regex_str,cmd_result))
lie=lie+1
worksheet.write(hang,lie,label=memory.group())
cmd_result=''
if'Device'incmd_result:
if'Abnormal'incmd_result:
lie=lie+1
worksheet.write(hang,lie,label=u"Abnormal")
elif'WrongType'incmd_result:
lie=lie+1
worksheet.write(hang,lie,label=u"WrongType")
elif'Unregistered'incmd_result:
lie=lie+1
worksheet.write(hang,lie,label=u"Unregistered")
elif'Off'incmd_result:
lie=lie+1
worksheet.write(hang,lie,label=u"Off")
elif'Offline'incmd_result:
lie=lie+1
worksheet.write(hang,lie,label=u"Offline")
else:
lie=lie+1
worksheet.write(hang,lie,label=u"Normal")
cmd_result=''

net_connect.disconnect()
except(EOFError,NetMikoTimeoutException):
print('无法连接设备')
netmikotimeout=(u'无法连接设备'+ip)
hang=hang+1
lie=0
worksheet.write(hang,lie,label=netmikotimeout)
except(EOFError,NetMikoAuthenticationException):
print('用户名密码错误!')
netmikotuehenticattion=(u'用户名密码错误'+ip)
hang=hang+1
lie=0
worksheet.write(hang,lie,label=netmikotimeout)
workbook.save('xunjian.xls')


if__name__=='__main__':
main()

四、测试过程:

5cf1ac94-87d1-11ed-bfe3-dac502259ad0.gif

审核编辑:汤梓红

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • cpu
    cpu
    +关注

    关注

    68

    文章

    10543

    浏览量

    207632
  • python
    +关注

    关注

    53

    文章

    4701

    浏览量

    83700
  • 华为交换机
    +关注

    关注

    0

    文章

    13

    浏览量

    6257

原文标题:python 巡检华为交换机

文章出处:【微信号:网络技术干货圈,微信公众号:网络技术干货圈】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    华为路由器交换机VLAN配置实例

    华为路由器交换机VLAN配置实例[hide]华为路由器交换机VLAN配置实例使用4台PC(pc多和少,原理是一样的,所以这里我只用了4台pc),华为
    发表于 05-25 00:21

    接入层交换机、汇聚层交换机和核心层交换机的区别

    `1.功能区别核心层交换机的主要功能是用于路由选择及高速转发的,提供优化、可靠的骨干传输结构,因此核心层交换机应用有更高的可靠性和吞吐量。汇聚层交换机是多台接入层交换机的汇聚点,作用是
    发表于 06-04 11:57

    网络交换机

      交换机(Switch)就是一个延展装置,把原本的一个网线接口分成了多个。但是不同于传统意义上的集线器(Hub),交换机在将一个网络分成多个的情况下,并不会影响带宽和网速。由于交换机的每一个接口都
    发表于 04-28 16:09

    什么是存储转发型交换机/可堆叠交换机

    什么是存储转发型交换机/可堆叠交换机 存储转发型交换机 目前交换机采用的交换方式主要有“存储转
    发表于 04-07 16:43 1227次阅读

    华为交换机

    华为交换机
    发表于 03-24 14:17 5次下载

    华为第五代敏捷交换机S12700:重新定义交换机

    关键词:华为 , 敏捷 , 交换机 , S12700 8月8日,华为在北京发布全球首个以业务和用户体验为中心的敏捷网络架构及全球首款敏捷交换机S12700。 用
    的头像 发表于 02-16 22:57 1426次阅读

    工业控制交换机和工业交换机的区别

    以太网交换机一般分为:商用(以太网)交换机、工业(以太网)交换机、家用(以太网)交换机,在这里着重介绍下工业交换机
    发表于 01-21 09:54 1909次阅读

    核心交换机、汇聚交换机与普通交换机的区别介绍

    核心交换机并不是交换机的一种类型,放在核心层(网络主干部分)的交换机叫核心交换机。汇聚层交换机,是多台接入层
    发表于 03-19 14:50 1.2w次阅读

    家庭交换机怎么安装_交换机网速是平分的吗

    已经广泛应用于各个领域,作为网络的主要连接设备,被众多用户广泛应用,在这里我同大家分享的详细安装图解,在这里你会了解,。交换机华为交换机华为S5700
    发表于 03-25 10:29 9451次阅读

    思科、华为、H3C交换机巡检命令大全

    0 1 思科交换机巡检命令 1、show interface stats:查看交换机所有接口当前接口流量 2、show running-config:查看当前设备配置 3、show version
    的头像 发表于 11-30 14:53 5462次阅读

    如何使用Python交换机进行自动化巡检

    脚本功能功能是全程模拟了人的手工巡检,并收集数据,处理后发送邮件。主要分为远程到交换机,查看转换机状态如:show process cpu | in CPU utilization查看cpu占用率
    的头像 发表于 01-15 15:33 1294次阅读

    华为三层交换机配置实例

    有朋友讨论华为三层交换机的配置问题,今天小编也整理了下华为交换机的文章,大家来一起学习交流下!
    的头像 发表于 06-05 11:19 923次阅读
    <b class='flag-5'>华为</b>三层<b class='flag-5'>交换机</b>配置实例

    二层交换机和三层交换机的区别

    计算机网络中的交换机是用于在局域网(LAN)中转发数据包的重要设备。其中,二层交换机和三层交换机是两种常见的交换机类型。本文将详细介绍二层交换机
    的头像 发表于 06-12 14:09 8625次阅读
    二层<b class='flag-5'>交换机</b>和三层<b class='flag-5'>交换机</b>的区别

    全国产交换机、军用交换机与普通交换机到底有啥区别?

    全国产交换机?军用交换机?普通交换机?傻傻分不清楚?他们到底有什么区别呢? 好嘞,今天小编又为大家来解密了 。   图为:军用交换机(左)普通交换机
    的头像 发表于 07-07 11:08 1438次阅读
    全国产<b class='flag-5'>交换机</b>、军用<b class='flag-5'>交换机</b>与普通<b class='flag-5'>交换机</b>到底有啥区别?

    非网管型交换机和网管交换机有什么区别

    在当今的交换机中,交换机主要可分为非网管交换机 和 网管交换机。那么非网管交换机和网管交换机有什
    的头像 发表于 07-10 17:08 1883次阅读
    非网管型<b class='flag-5'>交换机</b>和网管<b class='flag-5'>交换机</b>有什么区别