999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

一種基于Netmiko的網絡設備自動化運維方法研究*

2021-03-20 12:50:12李朝陽張小鋒
通信技術 2021年3期
關鍵詞:設備

李朝陽,周 波,張小鋒,陳 震

(中國西昌衛星發射中心,四川 西昌 615000)

0 引言

隨著各種IT 新技術的不斷涌現,依靠手工執行命令管理軟硬件資源的方法已經遠不能滿足一個信息中心的日常運維需求,且傳統方法存在出錯率高和人力資源成本高等缺陷。試想一個1 000 臺網絡設備的架構中,按照傳統人為操作更新設備配置,可能需要一個星期的多人合作。如果采用網絡自動化進行多線程并行操作,將大大縮減運維對人力資源的依賴,進一步節約成本。可見,在今天的網絡技術領域,如何能夠滿足大規模網絡靈活高效且高質穩定運維的極致需求,是所有IT 管理部門應該積極思考的問題。同時,網絡基礎設施建設和運維管理的標準化、自動化、數據可視化以及智能化必將成為大趨勢。本文針對一個由千余臺網絡設備組成的企業生產網需要進行大量重復性配置需求的特定應用場景,提出了一種基于Python3 開源庫構建網絡設備自動化運維系統的解決方法并加以編程實現,進而為進一步提升信息中心網絡運維自動化水平提供技術基礎和服務。

1 技術途徑

1.1 設備遠程控制協議

主流遠程管理控制協議主要有:①遠程桌面協議(Remote Desktop Protocol,RDP),應用于Windows 系統遠程桌面;②遠程幀緩沖協議(Remote Frame Buffer Protocol,RFB),應用于圖形化遠程管理,如VNC 工具基于RFB;③Telnet 協議;④SSH 協議。本文重點討論后兩者的特點及區別。Telnet 是命令行界面遠程管理協議,簡單易于實現,在進行數據傳輸時采用明文傳輸方式。安全外殼協議(Secure Shell,SSH)是另外一種命令行界面遠程管理協議,在進行數據傳輸時會對數據進行加密及壓縮。相比較而言,SSH 更加安全,速度也更快,且代替Telnet 僅是SSH 的功能之一。

1.2 基于Telnetlib 的設備遠控技術

Telnetlib 是Python 的內建模塊。鑒于Telnet 存在安全隱患,不建議在生產網絡中使用Telnetlib 庫。Python2 和Python3 中的Telnetlib 在使用方式上略有區別。在Python2 中,Telnetlib 模塊下所有函數返回值均為字符串,而在Python3 環境下,所有函數參數及返回值為字節型字符串(Byte Strings)。因此,在Python3 中使用Telnetlib 需要關注:①字符串常量前需加b 提示符;②變量后需借助encode 進行ASCII 編碼;③對于read_all 函數返回結果需借助decode 進行ASCII 解碼。

1.3 基于Netmiko 的設備遠控技術

Python 中支持SSH 協議實現遠程連接設備的模塊主要有Paramiko 和Netmiko,前者是后者開發的基礎。Paramiko 是Python 中的一個非常著名的開源SSHV2 項目,于2013 年發布,同時支持SSH服務端和客戶端。Netmiko[1]是另一個SSHV2 開源項目,于2014 年底發布。Netmiko 基于Paramiko 開發,但其支持更多廠商設備,更加方便易用,簡化了回顯結果獲取,簡化了設備的配置命令[2]。目前,它支持包括Cisco、HP proCurve、Juniper Junos、Linux、Alcatel A0s6、Dell KS9 以及huawei 在內的多個廠商設備。

1.4 基于Pandas 的數據清洗處理技術

Pandas(Python Data Analysis Library)是基于Numpy 的一個工具集,專為解決數據分析任務而創建。Pandas 納入了大量庫和一些標準數據模型,為大型數據集提供高效的操作工具。同時,Pandas 是Python 的一個數據分析包,最初被作為金融數據分析工具而研發,在時間序列數據分析方面表現卓越。Pandas 的主要組件是Series 和Dataframe[3]。本文主要以Pandas 為工具對各個單位提交上來的Excel 數據進行清洗和處理,從中提煉出各類交換機加固命令參數。

1.5 基于loguru 的日志處理方法

Python 第三方日志庫loguru 相較于自帶loging庫更加簡潔、高效且靈活。Loguru 日志輸出格式信息豐富,包含時間、級別、模塊名、行號及日志信息;loguru 支持輸出日志到多個文件,按級別輸出;loguru 會定時清理超大日志文件,以提高系統運行效率[4]。本文借助loguru 模塊主要實現兩個功能:①記錄數據文件清洗處理過程中產生的各類日志;②記錄程序核心模塊運行時產生的各類日志信息。

2 結構設計

本文針對較大規模企業網中的網絡設備需要定期大量重復性配置的需求場景,基于Python 開源庫Netmiko 設計如圖1 所示的體系結構圖。該設計重點包括1 個自動化操作流程和5 個軟件功能模塊[5]兩個方面。

圖1 中的一個自動化操作通過編程方式實現對人工登錄網絡設備進行操作配置活動的計算機模擬,以求實現配置操作自動化目標的過程。該設計將一個自動化操作流程分為如圖1 所示的6 個階段。第1 階段,數據核對階段,主要借助正則表達式對輸入的Excel 數據規范性和有效性進行核實檢查;第2 階段,數據處理節點,主要依照實際任務需求完成對清洗、解析、參數提取及模板生成等工作;第3 階段,設備過濾階段,主要完成對特殊設備的排查;第4 階段,登錄方式修改階段,基于安全因素及Netmiko 高效應用的考量,通過Telnet 方式將設備修改為SSH 密碼模式,如果已經為SSH 方式則不做處理;第5 階段,登錄方式驗證階段,為確保核心動作的有效執行,對SSH 密碼登錄參數進行驗證;第6 階段,配置運行階段,主要完成對設備的自動化操作,從而實現運維效率的大幅提升。

圖1 程序結構設計示意

根據實際應用需求,該設計將最終編程實現的自動化運維程序功能分為數據解析處理模塊、設備地址過濾模塊、設備登錄配置模塊、日志信息記錄模塊和配置命令執行模塊[7]。

對于數據解析處理模塊ExcelParserHandler 而言,主要基于Pandas 完成對不同部門提交的網絡設備配置參數的提取工作,為基于參數模板構造網絡設備配置命令提供基礎服務;對于設備地址過濾模塊SWIPFilterHandler 而言,主要基于Pythonping實現,用于對不在線或者特殊設備的過濾;對于設備登錄配置模塊SSHLoginHandler 而言,主要基于Telnetlib 實現,將所有設備登錄方式修改為SSH 密碼模式登錄,一方面為Netmiko 執行遠程操控打下基礎,另一方面也是出于對生產網絡安全加固的考量;對于日志信息記錄模塊LogRecordHandler 而言,主要基于loguru 實現,完成對軟件5 個功能模塊運行過程中產生的各類文本信息及異常情況進行記錄,以備后續故障排查及結果驗證所用;對于配置命令執行模塊CommandsHandler 而言,基于Netmiko 實現,該模塊是整個運維程序開發實現的重點和核心,完成對各類大量重復性配置命令和系統升級操作的自動化工作。

上述5 個模塊皆基于國產麒麟操作系統以Python3 類的形式實現,在自動化操作流程的各個關鍵節點,通過對上述5 個功能模塊類的實例化而獲得相應操作對象,從而執行相應操作完成相應的自動化功能。

3 編程實踐

3.1 功能模塊ExcelParserHandler 實現

本文對如圖1 所示設計方法在國產麒麟操作系統上基于Python 進行編程實踐時,以網絡設備運維自動化操作流程為主線,以框架搭建設計為基石,以模塊動態加載來應對運維任務的多樣性和不確定性,從而保持基于Netmiko 的自動化運維程序的穩定性和良好可擴展性。限于篇幅,本文以ExcelParserHandler模塊和CommandHandler為重心,闡述該自動化運維程序的編程實現細節。

功能模塊ExcelParserHandler基于Pandas庫實現,主要完成對不同部門提交的Excel 文件進行數據清洗和數據解析,從而獲得批量配置交換機所需的各類參數,在配置模板作用下批量生成交換機配置命令。

示例偽碼如下:

3.2 核心模塊CommandHandler 實現

核心模塊CommandHandler基于Netmiko以Python3類的方式實現,具體細節如偽碼所示,主要完成以SSH 方式實現對大規模網絡設備配置操作和系統升級的自動化運行。在實際應用實踐中,應將該類的實例化置于線程中,從而實現對千余臺網絡設備配置管理的并行運行,在提高效率的同時,確保程序運行的穩定性和健壯性。鑒于篇幅所限,本文僅給出關鍵步驟的偽碼表示。

4 應用實踐

筆者對本文所述自動化運維程序分別在華為eNSP 模擬器構建的網絡拓撲和一個由500 余臺網絡設備架構組成的實際生產網絡中均進行測試和部署,運行效果良好。在實際應用中,本文所述自動化運維方法可根據實際需求進行多樣化任務定制。以筆者所處實際生產網絡環境為例(見圖2),利用該自動化運維程序對部門A 中網絡設備進行相關網絡加固操作,對部門B 中網絡設備進行定期配置文件備份操作,對部門C 中的網絡設備進行系統升級操作,對部門D 中網絡設備進行QoS 參數修改操作,其中每種任務只需根據需求變換配置模板即可。

同時,詳盡的日志記錄功能確保應用過程中的過程可追溯,為批量自動化運維提供支持。圖3 為該自動化運維程序在對部門A 中網絡交換機進行批量自動地址綁定操作時所生成的日志信息,詳細記錄了配置腳本在遠程交換機上的執行過程。

圖2 自動化運維程序應用場景

圖3 運行日志記錄

5 結語

文章在對當前信息中心網絡運維工作中面臨的困難和挑戰進行深入分析的基礎上,提出了一種基于Netmiko 構建企業信息中心網絡設備自動化運維系統的解決思路,設計自動化運維程序的體系結構圖,并且在國產麒麟操作系統上基于Python3 進行了編程實現,將其部署應用于實際生產環境,完成了網絡加固、系統升級、配置備份及QoS 參數修改等大量重復性操作,取得了良好應用效果。實踐表明,本文所述方法穩妥可靠,可操作性強,具有良好的可擴展性和先進性。

猜你喜歡
設備
諧響應分析在設備減振中的應用
調試新設備
當代工人(2020年13期)2020-09-27 23:04:20
基于VB6.0+Access2010開發的設備管理信息系統
基于MPU6050簡單控制設備
電子制作(2018年11期)2018-08-04 03:26:08
廣播發射設備中平衡輸入與不平衡輸入的轉換
電子制作(2018年10期)2018-08-04 03:24:48
食之無味,棄之可惜 那些槽點滿滿的可穿戴智能設備
500kV輸變電設備運行維護探討
工業設計(2016年12期)2016-04-16 02:52:00
HTC斥資千萬美元入股虛擬現實設備商WEVR
IT時代周刊(2015年8期)2015-11-11 05:50:37
Automechanika Shanghai 2014 之“看” 汽保設備篇
如何在設備采購中節省成本
主站蜘蛛池模板: 一级毛片在线直接观看| 成人福利在线观看| 播五月综合| 亚洲无卡视频| 91国内外精品自在线播放| 精品久久久久久中文字幕女| 夜精品a一区二区三区| 亚洲国产日韩在线观看| 亚洲男人天堂久久| 久久综合色视频| 亚洲aaa视频| 波多野结衣一级毛片| 午夜爽爽视频| 亚洲成人免费看| 亚洲V日韩V无码一区二区| 国产视频一二三区| 色久综合在线| 97免费在线观看视频| 亚洲成人手机在线| 亚洲天堂高清| 亚洲国产精品VA在线看黑人| 成人午夜免费视频| 在线观看免费黄色网址| 日韩一级二级三级| 欧美日韩激情在线| 婷婷久久综合九色综合88| 欧美日一级片| 无码福利日韩神码福利片| 亚洲无码精彩视频在线观看| 欧美a级在线| 婷婷激情亚洲| 亚洲欧美人成电影在线观看| 午夜无码一区二区三区在线app| 国产亚洲精品资源在线26u| 免费又爽又刺激高潮网址 | 欧美中出一区二区| 中国黄色一级视频| 久久精品国产91久久综合麻豆自制| 久青草国产高清在线视频| 在线国产91| 国产一区二区丝袜高跟鞋| 国产伦精品一区二区三区视频优播| 国产91熟女高潮一区二区| 性激烈欧美三级在线播放| 亚洲欧美日韩色图| 久草美女视频| 中文字幕亚洲另类天堂| 国产成人三级| 激情五月婷婷综合网| 91精品最新国内在线播放| 毛片在线看网站| 黄色网站在线观看无码| 亚洲视频三级| 色国产视频| 国产中文一区a级毛片视频 | 精品无码视频在线观看| 久久久久久久久久国产精品| 成人在线综合| 国产中文一区二区苍井空| 国产黄在线免费观看| 理论片一区| 国产精品吹潮在线观看中文 | 国产在线精品美女观看| 久久中文无码精品| 国产精品jizz在线观看软件| 在线播放91| 中国一级特黄视频| 麻豆国产原创视频在线播放| 99热最新网址| 久久久久久尹人网香蕉| 国产网站一区二区三区| 99国产精品一区二区| 国产大片黄在线观看| 在线亚洲精品福利网址导航| 91激情视频| 热这里只有精品国产热门精品| 无码综合天天久久综合网| 亚洲精品图区| 极品国产在线| 国产jizzjizz视频| 亚洲天堂区| 特级毛片8级毛片免费观看|