



摘 要:針對現有日志特征提取不充分且存在噪音等問題,提出一種基于門控循環單元(Gate Recurrent Unit,GRU)的日志異常檢測方法。該方法使用BERT(Bidirectional Encoder Representations from Transfomers)提取日志的語義特征,然后利用事件逆頻率加權對特征進行優化。采用基于注意力和門控循環單元的模型進行日志異常檢測,以減少日志噪聲對檢測結果的影響。在2個真實的數據集上的實驗結果表明,該方法在異常檢測任務中表現出色,F1值平均達到0.98,與基準方法DeepLog(Deep Log Anomaly Detection)相比,分別提高了3.36%和11.0%。
關鍵詞:日志異常檢測;門控循環單元;注意力機制;雙向編碼語義解析
中圖分類號:TP391.1 文獻標志碼:A
0 引言(Introduction)
系統日志記錄了軟件系統在運行過程中產生的各種事件信息,通過對日志進行實時分析與異常檢測,可以及時發現系統運行中的異常行為、錯誤和故障[1],為系統運維人員提供監控預警,從而確保系統的穩定可靠運行。日志異常檢測是信息安全、系統管理、網絡監控等領域的關鍵技術,它通過分析系統和應用程序產生的日志數據,旨在準確識別異常事件及潛在的安全風險。然而,現有的日志異常檢測方法存在特征提取不充分且在日志處理的過程中難以避免噪聲干擾等問題。針對這些問題,本文提出了一種基于門控循環單元和注意力機制的日志異常檢測方法。該方法通過BERT提取日志的語義特征,并與事件逆頻率進行加權以充分提取序列特征,再使用注意力機制與GRU結合,減輕噪聲對異常檢測的影響,提升了日志異常檢測的準確性。
1 相關工作(Related work)
隨著計算機技術和大數據技術的發展,各種應用系統的規模也逐漸擴大,數據量呈現爆發式增長。這意味著日志數據數量的劇增和種類的復雜化,進而增大了日志異常檢測的難度。在此背景下,深度學習方法憑借其極佳的性能和穩定性,在日志異常檢測領域脫穎而出,已成為當前主流的檢測手段之一。例如,DU等[2]提出的DeepLog方法使用深度學習中的LSTM神經網絡模型學習正常日志序列之間的關系,利用來自用戶反饋的檢測為假陽性的日志增量來更新檢測模型,使模型適應新的日志模式。然而,該方法中對日志索引進行建模的方式忽視了日志本身的語義信息,導致檢測準確率不高。MENG等[3]提出了LogAnomaly方法,即使用Template2vec方法將日志模板轉換為語義向量并利用LSTM 算法進行日志特征數據集的異常檢測,但該方法在未知類的異常檢測任務中表現不佳。ZHANG等[4]提出的LogRobust是首次考慮到魯棒性問題的異常檢測方法。LogRobust方法通過自然語言處理實現對日志事件進行語義向量的轉換,并使用帶有注意力的Bi-LSTM模型完成異常檢測。然而,該方法在處理長序列日志時,受Bi-LSTM結構的限制,容易出現長期依賴問題。YANG等[5]提出了一種更實用的基于對數的異常檢測方法PLELog。PLELog根據一組日志序列中是否存在已知的正常日志序列,初步估計該組中日志序列的標簽,但其對已知正常日志序列的依賴性較強。LI等[6]提出的SwissLog采用的日志解析方法具有一定的創新性,它能夠通過多種方式,如標記化、字典化、聚類等,提取出多種模板并進行解析。SwissLog使用BERT[7]編碼器嵌入語義信息,將語義嵌入和時間嵌入作為參數輸入到基于注意力的Bi-LSTM 中。然而,該方法在處理高維特征時的計算開銷較大且未充分考慮特征之間的交互關系。
目前,許多基于深度學習的方法在日志異常檢測中表現出良好的性能,但仍存在日志序列特征提取不充分和無法避免噪聲干擾等問題。本文針對以上問題提出一種新的日志異常檢測方法。