摘 要:IP城域網(wǎng)網(wǎng)絡隱患的及時發(fā)現(xiàn)和解決直接關系到網(wǎng)絡運維工作的質量和用戶感知,為了解決現(xiàn)有手段對隱患挖掘診斷能力不足的問題,對現(xiàn)網(wǎng)全量采集的日志、配置、運行狀態(tài)等海量數(shù)據(jù)進行調研分析,并結合維護工作的專家經(jīng)驗,開展IP城域網(wǎng)的隱患診斷系統(tǒng)研究。該系統(tǒng)可以挖掘網(wǎng)絡中存在的隱患,對重要指標、狀態(tài)輸出等進行預警推送,及時解決和修復隱患,達到優(yōu)化網(wǎng)絡質量,提升工作效能的目標。
關鍵詞:IP城域網(wǎng);日志分析;隱患挖掘;數(shù)據(jù)配置;syslog;隱患排查
中圖分類號:TP393;TN915.41 文獻標識碼:A 文章編號:2095-1302(2025)08-00-04
0 引 言
廣州城域網(wǎng)是廣州地區(qū)互聯(lián)網(wǎng)業(yè)務承載的核心網(wǎng)絡,存在業(yè)務量大、配置量大、邏輯復雜等特點,網(wǎng)絡運行的日志信息量極大、指標量多、數(shù)據(jù)復雜度極高、用戶和數(shù)據(jù)配置高度集中。IP城域網(wǎng)作為固定互聯(lián)網(wǎng)業(yè)務的核心承載網(wǎng)絡,網(wǎng)絡故障和隱患的及時發(fā)現(xiàn)與解決,對家集客滿意度有至關重要的影響。而隨著網(wǎng)絡使用場景的日益豐富,用戶對網(wǎng)絡運行質量提出了更高的要求,與此同時網(wǎng)絡復雜度和網(wǎng)絡配置量讓傳統(tǒng)的日常健康檢查和監(jiān)控方式已經(jīng)無法全面覆蓋全網(wǎng)業(yè)務的隱患情況。為此,本文通過自主研發(fā),基于現(xiàn)網(wǎng)全量采集的日志、配置、運行狀態(tài)等海量數(shù)據(jù),結合維護工作的專家經(jīng)驗,實現(xiàn)了數(shù)智化挖掘網(wǎng)絡中存在的隱患,對重要指標、狀態(tài)輸出等進行預警推送,及時解決和修復隱患,達到優(yōu)化網(wǎng)絡質量,提升工作效能的目標。
1 系統(tǒng)實現(xiàn)方案
1.1 總體架構設計
(1)系統(tǒng)總體架構分為三層:采集層、數(shù)據(jù)層和應用層。采集層通過syslog日志推送方式和SSH方式獲取設備配置及日志,并以文本方式和數(shù)據(jù)庫方式存儲。數(shù)據(jù)層對采集的數(shù)據(jù)進行定制化模型處理,最終在應用層提供直觀的數(shù)據(jù)展示。
①數(shù)據(jù)采集層主要完成數(shù)據(jù)來源的收集和整理入庫。主要采集內容包括:設備日志syslog、設備配置、指令采集。設備日志是設備當前產生的與操作相關的重要日志信息。設備自動發(fā)送日志到系統(tǒng)接口,系統(tǒng)根據(jù)場景提取關鍵信息并入庫[1]。設備配置指設備當前正在運行的配置文件,系統(tǒng)通過FTP定期從配置備份系統(tǒng)中獲取[2]。指令指標指通過第三方指令通道下發(fā)指令,由系統(tǒng)主動發(fā)起指標采集命令,將采集到的指標通過數(shù)據(jù)庫接口實時入庫。
②數(shù)據(jù)層是系統(tǒng)數(shù)據(jù)存儲模塊,主要分為文件存儲、數(shù)據(jù)表存儲。文件存儲包括自動接收的syslog、設備配置文件。數(shù)據(jù)表包括設備信息表、配置格式化存儲表、syslog解析表、指標存儲表等,為應用分析提供數(shù)據(jù)源和存儲位置。
③應用層是系統(tǒng)分析模塊,主要對日志、配置等進行解析、預警、核查,以及對采集的指標進行閾值的分析、判斷、預警。按照判斷規(guī)則輸出結果,并推送呈現(xiàn)。
(2)系統(tǒng)拓撲過程如下:利用云主機資源,在網(wǎng)管網(wǎng)內搭建一套日志分析平臺。網(wǎng)元設備配置主動發(fā)送syslog日志信息,日志采集機收集需要分析的日志信息并同步至分析服務器。分析服務器通過日志模型分析建立后臺數(shù)據(jù),用戶可通過網(wǎng)調平臺呈現(xiàn)頁面查看實時數(shù)據(jù)[3]。
系統(tǒng)拓撲圖如圖1所示。
(3)主要技術
①前后端技術:后端技術使用Django框架,基于MTV(Model-Template-View)模式。模型(Model)負責業(yè)務對象和數(shù)據(jù)庫的關系映射,模板(Template)負責頁面的顯示和用戶的交互,視圖(View)負責業(yè)務邏輯并在適當?shù)臅r候調用模型和模板[4]。前端使用HTML5編寫網(wǎng)頁內容,對應到Django模板。當用戶訪問頁面時,前端將URL參數(shù)發(fā)送給后臺視圖模塊,解析到對應的處理模塊并獲取對應模型的數(shù)據(jù),通過模板映射到前端顯示。
②存儲模塊:存儲使用開源的MySQL數(shù)據(jù)庫。MySQL是一種關系型數(shù)據(jù)庫管理系統(tǒng),它將數(shù)據(jù)保存在不同的表中,而非將所有數(shù)據(jù)放在一個大倉庫內,從而提高了速度和靈活性。MySQL使用SQL語言,這是訪問數(shù)據(jù)庫最常用的標準化語言。
③SSH模塊:SSH模塊使用開源的Paramiko庫。Paramiko是Python實現(xiàn)的SSHv2協(xié)議模塊,支持口令認證和公鑰認證兩種方式。它可以實現(xiàn)安全的遠程命令執(zhí)行、文件傳輸?shù)裙δ?。基于Paramiko模塊,可以編寫Python代碼實現(xiàn)SSH相關功能[5]。
④syslog模塊:使用Linux原生日志系統(tǒng)Rsyslog。Rsyslog是syslogd的多線程增強版,基于syslog協(xié)議完成系統(tǒng)日志的處理和轉發(fā)[6]。
1.2 數(shù)據(jù)采集方案
(1)靜態(tài)數(shù)據(jù)采集模型和通道實現(xiàn)方案
服務器主動下載配置:通過腳本部署SSH下載任務,定時登錄設備執(zhí)行指令并獲取回顯結果,以文本方式存儲于本地。
(2)動態(tài)數(shù)據(jù)采集模型和通道實現(xiàn)方案
服務器監(jiān)聽接收日志:路由器配置syslog主動推送日志到后臺服務器。后臺服務器運行Rsyslog進程監(jiān)控514端口,收到日志后直接轉存到文件,實現(xiàn)日志承載的動態(tài)數(shù)據(jù)采集。
采集設備狀態(tài)數(shù)據(jù):服務器通過調用操作指令接口登錄網(wǎng)元設備,執(zhí)行指令并保存輸出回顯結果,生成文本文件,實現(xiàn)狀態(tài)數(shù)據(jù)采集。
設備狀態(tài)采集通過Paramiko創(chuàng)建SSHClient實例,登錄設備并保存設備日志信息。同時,設備推送syslog日志到服務器。動態(tài)數(shù)據(jù)采集模型示意圖如圖2所示。
1.3 數(shù)據(jù)存儲方案
(1)數(shù)據(jù)存儲構建
數(shù)據(jù)存儲主要通過數(shù)據(jù)庫、文件兩種形式實現(xiàn),具體數(shù)據(jù)對應的存儲結構見表1。
(2)數(shù)據(jù)存儲清洗解析和格式化
利用Python的PyMySQL模塊通過insert語句寫入數(shù)據(jù)庫,供模型調用分析。數(shù)據(jù)清洗和格式化示意圖如圖3所示。
2 系統(tǒng)功能模塊構成
2.1 日志分析模塊
日志分析模塊用于完成各類重點日志的梳理,總結告警日志種類和規(guī)則,完成日志入庫和統(tǒng)計分析。日志分析模塊組成示意圖如圖4所示。
(1)上聯(lián)鏈路和端口隱患分析
通過本模塊可以實時監(jiān)控上聯(lián)鏈路的情況,包括鏈路中斷、鏈路/端口誤碼和弱光問題。當網(wǎng)元端口鏈路發(fā)生故障時,會產生“l(fā)inkDown”“光功率異常”“端口CRC
誤碼”“鏈路負荷超限”等日志。分析這些日志可以實時監(jiān)測網(wǎng)元的運行狀態(tài)。模型會統(tǒng)計小時內端口down的次數(shù),也可以通過明細查看哪些端口發(fā)生過故障。
(2)網(wǎng)元上聯(lián)協(xié)議隱患分析
針對網(wǎng)元上聯(lián)的ISIS和BGP協(xié)議進行分析,實時監(jiān)控網(wǎng)元業(yè)務中斷情況。本模塊主要針對ISIS鄰居狀態(tài)變化以及ISIS錯誤報文等日志信息進行分析。當鏈路上聯(lián)發(fā)生中斷時,會觸發(fā)ISIS協(xié)議的鏈路鄰居變化;當網(wǎng)元ISIS鄰居建立失敗時,會發(fā)生報文異常,系統(tǒng)會按小時統(tǒng)計并按網(wǎng)元中呈現(xiàn)[7]。BGP鄰居狀態(tài)變化通常會影響業(yè)務,因此在告警日志分析中,BGP狀態(tài)變化的日志非常少。一旦發(fā)生,需要立即處理[8]。
(3)板卡硬件隱患分析
本模塊主要分析板卡內部錯誤、板卡注冊失敗、硬件溫度異常、設備風扇故障等問題。通過統(tǒng)計每日的網(wǎng)元硬件日志,實時查看當前的日志信息。
(4)接入業(yè)務隱患分析
針對OLT接入的業(yè)務進行分析。在OLT接入的組播業(yè)務端口中,組播協(xié)議選擇主DR作為轉發(fā)組播流量的主用端口。當發(fā)生故障時,PIM鄰居中斷;如果頻繁中斷,會持續(xù)影響直播業(yè)務。在該模塊中,通過PIM鄰居狀態(tài)變化,可實時分析對直播業(yè)務的影響[9]。OLT上聯(lián)BNG網(wǎng)管使用SRRP協(xié)議實現(xiàn)主備網(wǎng)關接入。當主備接入的SRRP狀態(tài)均為master時,會導致OLT脫管。通過日志分析其中的“SrrpDualMaster”日志信息,可以分析接入業(yè)務的隱患[10]。
(5)重要端口隱患分析
在采集重要端口狀態(tài)時,對誤碼和流量超限等異常指標進行計算。當指標達到閾值后,系統(tǒng)會在前端輸出異常指標。
2.2 運行狀態(tài)檢查模塊
設備狀態(tài)指標見表2。業(yè)務狀態(tài)指標見表3。運行狀態(tài)檢查模塊組成示意圖如圖5所示。
狀態(tài)檢查模塊主要包括以下三項功能:
(1)操作值守
日常調整工作通過提前錄入值守設備信息,自動獲取設備狀態(tài),監(jiān)控網(wǎng)絡運行狀態(tài),包括日志分析和設備狀態(tài)監(jiān)控。對于異常結果,系統(tǒng)會在前端顯示。操作值守子功能包括鏈路擴容、板卡擴容和地址池擴容。
(2)通信保障
針對節(jié)假日等通信保障場景,設置重點保障網(wǎng)元,對網(wǎng)元的鏈路狀態(tài)、地址池利用率和端口利用率進行監(jiān)控。
(3)業(yè)務割接支撐
針對日常業(yè)務PON割接提供數(shù)據(jù)支撐,包括自動配置腳本、業(yè)務上線數(shù)量檢查、導入業(yè)務相關信息等。后臺采集設備信息,根據(jù)信息自動生成腳本數(shù)據(jù),為用戶提供業(yè)務配置支持。
設備狀態(tài)采集通過Paramiko創(chuàng)建SSHClient實例,登錄設備并保存設備日志信息。采集后的數(shù)據(jù)經(jīng)過整理,利用Python的PyMySQL模塊通過insert語句寫入數(shù)據(jù)庫,供模型調用分析。
2.3 數(shù)據(jù)隱患排查模塊
廣州城域網(wǎng)設備較多,為避免在設備下載配置文件時造成高負荷,本文采用從配置備份服務器自動FTP下載配置文件到本地的方案,并對配置文件的完整性進行校驗。對于不完整的文件,系統(tǒng)會從原始設備重新采集,確保每臺設備的配置完整。這為后期的文件分析和解析提供了完整可用的數(shù)據(jù),同時為設備故障時的配置恢復提供了保障。數(shù)據(jù)隱患排查模塊組成示意圖如圖6所示。
(1)全局基礎配置
該功能對設備的基本信息進行采集和分析,如分析網(wǎng)元命名是否規(guī)范、系統(tǒng)版本是否發(fā)生變化、系統(tǒng)同步時鐘配置是否正確、登錄設備是否有安全策略,以保障設備的基礎信息正確無誤。
(2)路由配置
通過解析設備路由協(xié)議的配置,生成規(guī)范化的格式,并將數(shù)據(jù)存入數(shù)據(jù)庫中。例如,啟動路由協(xié)議的端口、路由協(xié)議配置參數(shù)是否全網(wǎng)一致等信息都可以被存儲。
(3)ACL配置
ACL是設備承載業(yè)務的控制策略,直接影響業(yè)務感知,通用型ACL配置應該全網(wǎng)一致,若缺少設備,將會影響業(yè)務,該功能將ACL進行統(tǒng)計分析,查找缺少的設備并輸出。
3 結 語
本文提出了一套進行城域網(wǎng)隱患的系統(tǒng)化挖掘方法模型,涵蓋數(shù)據(jù)配置、運行狀態(tài)、日志信息、指標呈現(xiàn)等內容,填補IP城域網(wǎng)網(wǎng)元日志分析的空白。另外,對于自動恢復類、無投訴無告警的故障實現(xiàn)微觀定位和分析,以提升網(wǎng)絡運維的全面性和精細化程度。
參考文獻
[1]王曉文. syslog在網(wǎng)絡管理中的應用[J].電信快報,2005(6):7-10.
[2]石進.巧用SecureCRT腳本實現(xiàn)網(wǎng)絡設備配置備份自動化[J].有線電視技術,2011,18(3):57-58.
[3]王力群,黃必棟.基于日志分析平臺的監(jiān)控系統(tǒng)的設計與實現(xiàn)[J].計算機應用與軟件,2017,34(12):158-162.
[4]楊洪濤.基于Django的MVC框架設計與實現(xiàn)[J].電腦知識與技術,2023,19(4):62-65.
[5]王冀. Python在智能化運維中的實踐[J].廣播電視網(wǎng)絡,2021,28(5):112-115.
[6]朱曉亮,陳云芳,陸有為.基于Rsyslog系統(tǒng)日志的收集與分析[J].網(wǎng)絡安全技術與應用,2012(12):5-7.
[7]彭比飛. 基于ISIS協(xié)議的IP承載網(wǎng)路由方案設計與實現(xiàn)[D].武漢:華中科技大學,2014.
[8]蔣磊. BGP路由協(xié)議的基本原理分析[J].江蘇科技信息,2018,35(31):35-37.
[9]蔡智慧,彭皓,夏東朝.大規(guī)模組播網(wǎng)絡故障探究[J].軟件導刊,2017,16(1):147-148.
[10]吳元生,魏五洲.雙主振蕩在網(wǎng)鏈構建中的問題分析與解決[J].信息記錄材料,2022,23(8):201-203.