統一安全管理平臺性能測試之日志分析
1 前景回顧
上一期我們分享了如何對統一安全管理平臺的設備管理模塊進行性能測試,同時遺留了一個在日志分析模塊性能測試過程中遇到的實際問題。 這一期,我們就該問題做進一步研究處理。
2 測試思路
日志分析性能測試要比設備管理復雜一些,主要是因為涉及到日志的處理和管理,基于我們的需求“模擬多臺設備跨越多個日期上報多種類型的日志”,來梳理一下測試思路。
(1)使用一臺真實車載防火墻產生相應業務日志,并成功上報至集中管理平臺;
(2)獲取上述各類型日志文件,作為原始日志數據;
(3)按既定策略處理原始日志數據,生成不同設備、不同日期、不同類型的業務日志,具體可分為:
①. 基于gatewayID、日期和日志類型創建目錄,用于存放各自日志文件,模擬若干臺車載防火墻,若干天上報多種類型業務日志;
②. 基于gatewayID替換原始日志ID字段信息、基于指定日期產生隨機時間替換原始TIME字段信息,并存放于①創建的目錄下;
③. 基于gatewayID、日期和日志類型生成.zip壓縮包日志文件,并存放于①的父目錄下,用于下一階段日志上報;
④. 基于gatewayID和日期刪除步驟①創建的基于日志類型的臨時目錄,僅保留.zip壓縮包日志文件;
(4) Linux客戶端目錄創建,具體可分為:
①. 創建bin、logs、logfiles三個目錄
②. bin目錄用于存放可執行shell腳本
③. logs目錄用于存放腳本運行時產生的日志
④. logfiles目錄用于存放車載防火墻日志文件
(5) Linux客戶端腳本執行,與設備管理性能測試類似,此外引入了多線程概念。
3 測試方案
搭建如圖3-1所示的性能測試拓撲,其中Linux客戶端可以修改上述gatewayID和gatewayIP,用于模擬多臺車載防火墻與統一安全管理平臺交互;三層交換機配置ETH0和ETH1于同一VLAN,如VLAN4093,接口VLAN-IF 4093配置多組IP地址,用于實現車載防火墻既可以和管理平臺二層通信又可以進行三層通信,適應現場不同組網環境。

圖3-1 性能測試拓撲圖
測試思路中的前兩個步驟屬于常規操作,不再贅述,下面講解一下原始日志處理模塊和Linux客戶端腳本部分。
3.1 日志生成
如圖 3-2所 示, 展示了日志處理的基本操作步 驟,下面針對每一步驟進行講解。

圖3-2 日志處理整體邏輯
如圖3-3-(a)所示,該部分用于實現基于gatewayID、日期和日志類型創建目錄。

圖3-3-(a) 創建目錄邏輯
如圖3-3-(b)所示,展示了日志處理模塊創建的目錄結構。

圖3-3-(b) 創建目錄結果
如圖3-4-(a)所示,該部分用于實現基于gatewayID和日期替換原始日志數據。

圖3-4-(a) 替換日志邏輯
如圖3-4-(b)所示,展示了原始日志替換GATEWAY_ID、TIME后的目錄結構。

圖3-4-(b) 替換日志結果
如圖3-5-(a)所示,該部分用于實現基于gatewayID、日期和日志類型生成.zip壓縮包文件。

圖3-5-(a) 壓縮文件邏輯
如圖3-5-(b)所示,展示了生成的.zip壓縮包格式日志文件后的目錄結構。

圖3-5-(b) 壓縮文件結果
如圖3-6-(a)所示,該部分用于實現基于gatewayID和日期刪除基于日志類型的臨時目錄。

圖3-6-(a) 刪除目錄邏輯
如圖 3-6-(b)所示,展示了刪除臨時目錄之后的目錄結構。

圖3-6-(b) 刪除目錄結果
以上,為日志處理過程中的常規思路和具體操作實現,在不同實例中可能會需要生成幾萬個日志文件,此時需要使用多線程或者多進程來提升處理速度,如圖3-7-(a)所示。

圖3-7-(a) 多進程替換日志
另外按上述處理邏輯需要等全部替換完才進行壓縮處理,日志文件數量級增長也會使得所需磁盤空間暴漲,此時則可用“邊替換、邊壓縮、邊刪除”的方案予以解決,如圖3-7-(b)所示,這一點類似于測試防火墻新建并發性能時使用的“邊建邊拆”流量模型。

圖3-7-(b) 替換壓縮刪除處理
3.2 日志發送
如圖3-8所示,展示了測試腳本和測試數據在Linux客戶端存放情況。

圖3-8 Linux客戶端目錄結構
如圖3-9所示,一個基于shell腳本實現的實例,可以是物理機Linux也可以是虛擬機Linux。

圖3-9 性能測試實例
通過上述方案,可最大限度地模擬多臺車載防火墻向統一安全管理平臺上報多日期、多類型業務日志。結合實際使用場景,動態調整日志生成和日志發送模塊相關參數,可以驗證管理平臺日志分析性能(如:分析多少臺設備的業務日志、分析多少天的業務日志、每秒分析多少條業務日志等)。