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

    文章

    10901

    浏览量

    212814
  • python
    +关注

    关注

    56

    文章

    4807

    浏览量

    84987
  • 华为交换机
    +关注

    关注

    0

    文章

    13

    浏览量

    6321

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    华为交换机

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

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

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

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

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

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

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

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

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

    网络交换机的作用_网络交换机怎么用

    本文首先阐述了网络交换机的概念,其次阐述了网络交换机的作用,最后介绍了网络交换机的使用。
    发表于 04-02 08:49 6555次阅读

    什么是网络交换机?网络交换机的分类标准

    从广义上来看,网络交换机分为广域网交换机和局域网交换机。广域网交换机主要用于电信领域,提供基本的通信平台。局域网网络交换机应用于局域网,用于
    发表于 08-10 11:17 3345次阅读

    核心交换机、汇聚交换机、接入交换机之间的对比分析

    Cisco定义的分层互联模型包括核心层、汇聚层和接入层,因此,工作在这些层的网络交换机有相应的名称,如核心交换机、汇聚交换机和接入交换机
    的头像 发表于 11-02 16:25 2.3w次阅读

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

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

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

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

    PoE交换机可以当普通交换机使用吗

    随着PoE交换机的广泛应用,人们对PoE交换机有了一定的了解。然而,很多人认为PoE交换机可以自行发电,这种说法并不正确,通常所讲的PoE交换机供电指的是PoE
    的头像 发表于 06-27 10:20 6751次阅读

    使用python批量备份华为交换机配置文件

    保证PC能分别和五台交换机通信。五台交换机的IP地址如图上所示。
    的头像 发表于 01-19 09:28 1538次阅读
    使用<b class='flag-5'>python</b>批量备份<b class='flag-5'>华为</b><b class='flag-5'>交换机</b>配置文件

    使用Python脚本备份华为交换机的配置信息

    在现代网络管理中,备份交换机的配置信息是一项至关重要的任务。备份可以确保在交换机发生故障或配置错误时,能够迅速恢复到之前的工作状态。本文将详细介绍如何使用Python脚本备份华为
    的头像 发表于 08-12 17:50 653次阅读
    使用<b class='flag-5'>Python</b>脚本备份<b class='flag-5'>华为</b><b class='flag-5'>交换机</b>的配置信息