一、目的和測試結果:
(1). SSH登錄到各個交換機收集軟件版本、CPU、內存利用率和硬件狀態信息。
(2). 生成如下的excel表格文件展示。
二、環境準備:
(1). 使用華為的eNSP模擬器來模擬真實設備,本機IP169.254.94.30,兩臺交換機的IP分別是169.254.94.31和169.254.94.32。
(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()
四、測試過程:
審核編輯:湯梓紅
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
cpu
+關注
關注
68文章
10854瀏覽量
211583 -
python
+關注
關注
56文章
4792瀏覽量
84627 -
華為交換機
+關注
關注
0文章
13瀏覽量
6307
原文標題:python 巡檢華為交換機
文章出處:【微信號:網絡技術干貨圈,微信公眾號:網絡技術干貨圈】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
華為路由器交換機VLAN配置實例
華為路由器交換機VLAN配置實例[hide]華為路由器交換機VLAN配置實例使用4臺PC(pc多和少,原理是一樣的,所以這里我只用了4臺pc),華為
發表于 05-25 00:21
接入層交換機、匯聚層交換機和核心層交換機的區別
`1.功能區別核心層交換機的主要功能是用于路由選擇及高速轉發的,提供優化、可靠的骨干傳輸結構,因此核心層交換機應用有更高的可靠性和吞吐量。匯聚層交換機是多臺接入層交換機的匯聚點,作用是
發表于 06-04 11:57
華為第五代敏捷交換機S12700:重新定義交換機
關鍵詞:華為 , 敏捷 , 交換機 , S12700 8月8日,華為在北京發布全球首個以業務和用戶體驗為中心的敏捷網絡架構及全球首款敏捷交換機S12700。 用
工業控制交換機和工業交換機的區別
以太網交換機一般分為:商用(以太網)交換機、工業(以太網)交換機、家用(以太網)交換機,在這里著重介紹下工業交換機。
發表于 01-21 09:54
?2112次閱讀
核心交換機、匯聚交換機與普通交換機的區別介紹
核心交換機并不是交換機的一種類型,放在核心層(網絡主干部分)的交換機叫核心交換機。匯聚層交換機,是多臺接入層
發表于 03-19 14:50
?1.2w次閱讀
家庭交換機怎么安裝_交換機網速是平分的嗎
已經廣泛應用于各個領域,作為網絡的主要連接設備,被眾多用戶廣泛應用,在這里我同大家分享的詳細安裝圖解,在這里你會了解,。交換機華為交換機華為S5700
發表于 03-25 10:29
?1.1w次閱讀
什么是網絡交換機?網絡交換機的分類標準
從廣義上來看,網絡交換機分為廣域網交換機和局域網交換機。廣域網交換機主要用于電信領域,提供基本的通信平臺。局域網網絡交換機應用于局域網,用于
發表于 08-10 11:17
?3242次閱讀
核心交換機、匯聚交換機、接入交換機之間的對比分析
Cisco定義的分層互聯模型包括核心層、匯聚層和接入層,因此,工作在這些層的網絡交換機有相應的名稱,如核心交換機、匯聚交換機和接入交換機。
思科、華為、H3C交換機巡檢命令大全
0 1 思科交換機巡檢命令 1、show interface stats:查看交換機所有接口當前接口流量 2、show running-config:查看當前設備配置 3、show version
如何使用Python對交換機進行自動化巡檢?
腳本功能功能是全程模擬了人的手工巡檢,并收集數據,處理后發送郵件。主要分為遠程到交換機,查看轉換機狀態如:show process cpu | in CPU utilization查看cpu占用率
PoE交換機可以當普通交換機使用嗎
隨著PoE交換機的廣泛應用,人們對PoE交換機有了一定的了解。然而,很多人認為PoE交換機可以自行發電,這種說法并不正確,通常所講的PoE交換機供電指的是PoE
使用Python腳本備份華為交換機的配置信息
在現代網絡管理中,備份交換機的配置信息是一項至關重要的任務。備份可以確保在交換機發生故障或配置錯誤時,能夠迅速恢復到之前的工作狀態。本文將詳細介紹如何使用Python腳本備份華為
評論