?

網絡日志分析系統性能優化的研究

2021-06-16 09:35李祿源
電子技術與軟件工程 2021年7期
關鍵詞:日志報表監控

李祿源

(許昌電氣職業學院成人教育部 河南省許昌市 461000)

據了解,網絡日志文件的檢查工作一般是由系統的管理員來執行操作的,但是從實際管理結果來看并不如預期般理想。之所以出現這樣的問題,其與管理員的專業能力存在著非常緊密的關聯性。有一些管理員對網絡日志的文件格式以及分析步驟并不是很了解和熟悉,這就使得網絡日志當中存在的諸多有價值的信息被忽略,進而嚴重影響到了網絡日志的價值和作用。

1 網絡日志的種類以及分析系統介紹

1.1 網絡日志的種類

網絡日志目前可以共分為系統日志和埋點日志兩類。其中,系統日志是由研發人員在系統后臺代碼當中加入日志輸出語句,以JAVA 語言為例,一般都是采用log4j 的框架技術來進行日志語句的輸出。這類日志能夠在一定程度上幫助了解系統的運行情況,如果系統發生異常,那么這些信息便可以成為分析和解決問題的重要參考依據。但是,這類日志也有著一定的弊端,因為日志信息的輸出內容是由專業人員通過專業操作產生的,所以其不屬于架構級的日志輸出方案,導致輸出信息呈現出片面化的特征,并不能夠確保信息運行傳輸的全面性。關于埋點日志,其是在現有系統當中集成相應代碼,用戶捕獲系統特定事件并輸出相關信息。

1.2 網絡日志分析系統的定位

就目前網絡日志發展形勢來看,網絡日志分析系統應該定位于為廣大用戶提供的一個統一的日志匯總平臺,方便用戶可以集中搜集、使用和展現安全系統、網絡系統和其他系統的日志,進而為網絡系統進行日志監控、審計和分析奠定堅實的基礎,與此同時也可以為管理人員所進行的事前管理、事中監控以及事后分析提供更多便利?,F在的網絡日志分析系統面臨著新的需求,其需要實現跨平臺、跨廠商、跨地區的統一日志分析和審計,以便通過統一管理來對網絡系統中的各類設備進行全面監控,確保網絡系統的正常運行。

2 網絡日志分析系統架構分析

2.1 日志埋點的方式

2.1.1 客戶端

客戶端,即支持安卓、iOS、Web/H5、微信小程序,主要用于分析PV、UV、點擊量等指標。其中,Web 端的埋點技術如圖1 所示。

2.1.2 服務器日志

服務器日志,即采集后端業務服務器打印的日志,其有著較強的采集能力,而且能夠較好地支撐精細化分析場景。

2.2 日志采集和處理方式

2.2.1 離線處理方案

如圖2 所示。

2.2.2 實時處理方案

如圖3 所示。

3 網絡日志分析系統需要具備的功能

3.1 日志功能

日志功能主要包括日志采集、過濾分析、審計日志數據自動歸檔以及日志查詢四個方面的內容。首先,關于日志的采集,即通過設置日志收集源和日志代理來定義收集哪些設備的哪些日志,并根據設置的內容接收設備發送來的日志信息。其次,關于過濾分析,按照設定好的條件和標準將不符合要求的日志類型丟棄掉。還有就是保護日志的完整性,未經授權的用戶無權修改日志信息。然后,關于審計日志數據的自動歸檔,即根據規定的格式和要求來對指定類型的日志作出專業分析并保存,為后續工作開展提供參考依據。最后,關于日志的查詢,可按照日志類型、日志格式、審計設備等來針對性查詢日志,同時自動生成日志分析表和趨勢圖。

圖1:Web 端的埋點技術

圖2:離線處理方案

圖3:實時處理方案

3.2 報表功能

報表功能主要體現在報表統計任務、報表模板以及報表瀏覽幾個方面。首先,報表統計任務,允許各種方式來對日志記錄信息進行查詢,查詢結果以報表的形式呈現。一般情況下管理人員會根據參數要求來制定一批報表任務,以用戶的需求為準來設定執行條件。其次,關于報表模板,在系統當中會提供多種形式的報表模板供用戶選擇和使用,模板的價值還在于對日志的內容進行定義。最后,關于報表的瀏覽,即將以報表形式呈現出來的日志記錄信息進行導出,以供瀏覽時使用。

3.3 系統管理

系統管理包括用戶管理、設備組的管理以及數據庫的管理三大方面,其中,用戶管理主要是分配和管理用戶組的權限;設備組管理以IP 地址范圍為準來對設備組進行定義,同時進行添加、刪除和修改等操作步驟;而數據庫的管理多是做好數據庫的備份以及提供相關準備和支持工作。

3.4 拓撲管理

拓撲管理系統中會提供手動或自動生產網絡拓撲兩種拓撲方式。在當前網絡日志分析系統當中,拓撲圖需要做到對網絡布線信息的動態實時反應,同時也要做到隨時監督設備運行狀態及鏈路的流量變化情況,一旦網絡設備發生故障,諸如網絡連接斷掉或者機器死機等等,系統需要在最短的時間內生成警報信號,并在拓撲圖上標記出來供管理人員參考和診斷,同時也要為用戶掌控整個網絡實時運行狀態提供參考依據。

4 網絡日志分析系統性能優化思路以及策略分析

網絡日志分析系統性能優化的目的一主要是為了提升分析系統的響應能力,縮短系統對具體問題作出響應和反饋的時間,增加系統事件處理的數量。網絡日志分析系統的性能優化主要集中在內存占用、延時以及吞吐量幾個方面,對此進行性能的調優,具體優化方案主要涵蓋對設計方案進行優化、合理調整參數配置、修改相關代碼等等來更好地滿足網絡日志整體質量的提升需求。在實際優化過程當中,其實很難同時對這幾個方面的性能全部實現提升,通常相關專業人員會將重點偏向或者側重于一到兩個方面,確保這一到兩個方面確實可以實現性能的優化和提升。

4.1 關于網絡日志分析系統性能優化的思路

網絡日志分析系統的性能優化思路可以分為以下三個方面,分別是性能監控、性能分析以及性能優化。這三個步驟相輔相成,任何一個步驟都不能夠缺少。

4.1.1 關于性能監控

性能監控主要監控的內容包括系統代碼的侵入情況、日志的分析和運行、對運轉流程和節點進行把控、對操作系統以及容器等數據信息進行收集、對性能所在點進行預估。通俗來說,性能監控就是要監控JVM 和GC 的狀態,對細節問題進行定位,明確性能優化的需求性到底有多大,常見手段有很多,比如,通過visualVM、jstat 等診斷工具來查看GC日志(dump 文件),判斷GC 相關狀態。

4.1.2 性能分析

修改相關配置、屏蔽代碼降級或增加資源,驗證性能所在點。例如,通過追蹤GC日志,查找是不是GC 在特定時間發生了長時間的暫停,進而導致了應用響應不及時;或者在診斷工具里面查看是否存在死循環或者連接池緩沖區滿了,進而導致堆內存溢出問題。

4.1.3 性能優化

通過優化方案或修改代碼突破性能瓶頸。即通過分析來不斷調整參數和軟硬件配置,并驗證是否達到調優目標,否則重復完成以上過程。

4.2 多角度性能優化的衡量指標

多角度性能優化的衡量指標具體體現在以下幾個方面:

(1)從業務角度出發,業務指標包括并發用戶數、TPS、成功率、響應時間。

(2)從開發角度出發,應用指標包括關注空閑線程數、數據庫連接數、GC/FULL GC 次數、函數耗時。

(3)從運維角度出發,資源指標包括關注CPU、內存、磁盤I/O、網絡I/O。

(4)從DBA 角度出發,數據指標包括關注耗時SQL、鎖、會話、CPU、異常事件、tps。

4.3 系統程序和使用過程約定

(1)接口:程序模塊間只發出一次請求和響應。

(2)場景:由一個也可以由多個系統接口完成,對一次用戶和商戶系統的服務端作出完整響應。

(3)由多個程序模塊根據數目比例來組成服務節點來分析驗證和優化發展場景。

4.4 性能瓶頸表現

性能瓶頸表現具體體現在以下幾個方面:

(1)內存接近上限,固定時間范圍內平均響應時間低于垃圾回收時間,tps 趨勢圖波動顯著;

(2)CPU 使用率超出規定限額;

(3)場景響應時間較長,而且tps 提上去,響應時間往下掉,成功率接近于零;

(4)固定時間段內tps 趨勢圖出現了波峰和波谷。

4.5 分析及解決策略

4.5.1 性能監控

性能監控的優化措施主要包括以下幾個方面:

(1)通過運行場景壓測腳本來對系統的運行情況進行查看。比如,通過jconsole 遠程連接應用程序來查看內存、CPU、線程的使用情況。通過”jstack 應用程序進程號“ 命令查看應用程序的線程使用情況等,進而可以對工作的線程數、CPU 使用情況、垃圾回收情況等有一個全面的了解。

(2)收齊日志、運行單個節點,對全部系統調用鏈接進行清理,對場景/接口的關鍵節點進行預估,確定好壓測環境單節點。

(3)對操作系統資源進行實時監控,隨時查看系統負載、監控網卡流量、監控內存使用情況、對磁盤讀寫、監控網絡狀態、監控應用程序錯誤日志也要進行監控。

(4)進一步核實和確定壓力傳遞狀態:通過netstat -at | grep 客戶端ip 地址 | wc -l 監控壓力的透傳情況,鎖定性能發生點。

4.5.2 性能分析

結合實際需求來合理修改操作系統內核的相關配置,適當調整運行容器工作線程、支撐連接數,修改應用程序日志級別、異步輸出,連接池數目,修改工作參數配置、垃圾回收策略、jvm 內存大小,應用程序代碼加入開關、降低服務,優化數據庫索引、表結構,對性能所遭遇到的瓶頸問題進行確認之后再深入分析其中原因,進而尋找到正確的解決辦法。

4.5.3 性能應對方案

關于性能應對方案的內容,其主要包含以下幾個方面:

(1)業務設計,主要包括分離業務和服務降級兩個方面,其中分離業務又包括申請與受理分離,申請受理權利、業務異步處理。

(2)應用程序方面的性能應對方案主要集中在資源升級、橫向拓展、jvm 參數優化、代碼優化以及負載保護五個方面。其中,資源升級所涵蓋的范圍主要是內存、連接池連接數目、CPU 核數、工作線程數。jvm 參數優化主要是垃圾回收策略和運行參數設置。代碼優化主要是日志異步輸出、業務輔助功能異步處理、緩存、RPC 調用合并、減少調用節點鏈路、使用連接池/長鏈接、降代方法調用層級、減少大數據對象的構建。負載保護主要針對的是指定IP 訪問量和整體受理量。

5 結束語

綜上所述,網絡日志分析系統記錄著整個系統運行過程當中的全部數據信息和行為,其是后續開展系統恢復、數據糾正以及錯誤查找等工作的重要參考依據,因此,我們必須要高度重視網絡日志分析系統的性能優化工作,要盡全力去提升網絡日志分析系統的整體性能。

猜你喜歡
日志報表監控
The Great Barrier Reef shows coral comeback
一名老黨員的工作日志
扶貧日志
你被監控了嗎?
Zabbix在ATS系統集中監控中的應用
LabWindows/CVI中Excel報表技術研究
從三大報表讀懂養豬人的成績單
游學日志
PDCA循環法在多重耐藥菌感染監控中的應用
一種基于粗集和SVM的Web日志挖掘模型
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合