Log Service提供文本分析服務,用於對海量日誌中的常值內容進行自動化和智能化的檢測。本文介紹文本分析功能的背景資訊、功能介紹、基本概念、調度與執行情境、使用建議等資訊。
背景資訊
服務在運行過程中會產生大量的日誌,包括系統日誌和業務日誌等。日誌被廣泛應用在系統監控和故障定位中,傳統的日誌分析手段以分析日誌風險等級和匹配關鍵字為主,例如監控Error層級日誌的內容和數量、監控含有Failed、Unsuccessfully等關鍵詞的日誌。但是在分布式環境和微服務架構下,以傳統的人工方式監控、分析日誌越來越困難,主要體現在如下兩個方面:
系統每天產生的日誌量達到TB甚至PB層級,人工分析往往費事費力。
在分布式環境和微服務架構中,Warning或者Error日誌並不一定意味著系統異常,有可能是由系統正常的擴縮容或者更新迭代產生。因此,在人工分析時需要一定的專業知識,才能高效地定位到日誌中的異常情況。
針對以上日誌分析的困難情況,如果可以針對日誌內容提供自動化、智能化的分析,輔助人工定位日誌中的異常,那麼一方面可以進一步挖掘日誌中的價值,另一方面也可以降低日誌異常分析的人工成本。針對文本的自動化、智能化分析應該具備以下特徵:
可以高效地處理海量日誌。
可以定位日誌中的異常情況,或者縮小需要排查的異常範圍。
提供可配置的參數使使用者可以根據業務需求對日誌文本分析進行定製化配置。
針對上述特徵,Log Service推出文本分析功能,通過演算法對於日誌中的文本進行一站式的整合與分析。使用文本分析功能後,您只需要配置具體的監控項和少量的演算法參數,演算法會自動幫您識別日誌中的異常情況,使您聚焦需要關注的日誌內容。
功能介紹
目前,文本分析支援通過消費組方式拉取日誌中的常值內容,不需要配置索引。文本分析作業按照調度規則定時拉取資料輸入文本分析模型,文本分析模型將分析結果寫入目標日誌庫(internal-ml-log)中,並將分析結果繪製為儀錶大盤,協助您快速瞭解文本分析的結果。
配置監控對象:配置待分析的日誌欄位(欄位值為常值內容),然後根據業務需要配置演算法參數,發起任務。通過消費組配置日誌欄位不需要開啟索引。
定時分析資料:文本分析中的演算法以時間視窗為單位分析資料。
結果輸出:將分析結果輸出到目標日誌庫中,並產生相應的儀錶盤對分析結果進行可視化展示。
基本概念
Log Service文本分析功能涉及的基本概念如下表所示。
術語 | 說明 |
作業 | 一個文本分析任務對應一個作業,包括資料特徵、模型參數等資訊。 |
執行個體 | 一個文本分析作業按照作業配置產生執行執行個體。每一個執行個體針對作業配置定時拉取資料,運行演算法模型,分發分析結果。
|
執行個體ID | 執行執行個體的唯一標識。 |
建立時間 | 執行個體建立的時間。一般是按照您配置的作業規則產生,在補運行或追趕延遲時會立即產生執行個體。 |
執行時間 | 執行個體開始執行的時間。如果重試作業,則表示最後一次開始執行的時間。 |
結束時間 | 執行個體執行結束的時間。如果重試任務,則表示最後一次執行結束的時間。 |
執行狀態 | 執行個體的執行狀態。取值:
|
演算法配置 | 演算法配置包含時間視窗長度、異常總數閾值、模板源等。更多資訊,請參見演算法配置。 |
文本分析結果 | 本文分析結果包含日誌模板、日誌等級、日誌類別、配置資訊和異常分數等資訊。更多資訊,請參見查看日誌模板發現作業進度。 |
調度與執行
一個作業可產生一個或多個執行個體,無論是正常被調度還是您觸發異常執行個體重試的情況,同時只有一個執行個體處於運行中,不存在多個執行個體並發執行的情況。主要的調度與執行情境如下:
情境一:從目前時間開始文本分析作業。從目前時間發起作業,演算法模型沒有可分析的歷史資料。文本分析作業會在配置的初始化視窗中訓練模型,在初始化階段會對異常結果進行一定的抑制。之後演算法模型會動態適配輸入的資料,進行持續更新。
情境二:修改調度配置對產生執行個體的影響。修改調度配置後,下一個執行個體按照新配置產生。演算法模型會記憶當前消費的時間位置,進而對新來的資料繼續分析。
情境三:重試失敗的執行個體。如果執行個體執行失敗(例如許可權不足、源庫不存在、目標庫不存在、配置不合法),系統支援自動重試。如果您的狀態一直顯示啟動中,可能是配置失敗。錯誤記錄檔會發送到您的internal-etl-log下,您可以檢查下配置並重新發起。調度執行完成後,系統會根據實際執行情況變更執行個體狀態為成功或失敗。
使用建議
使用文本分析時,建議根據業務情況明確具體的監控項,從而對資料進行高效的分析。
明確日誌中需要分析的文字欄位,如果指定太多無關欄位,可能會影響分析效果,降低分析速度。
掌握所監控對象的時序資料變化情況,瞭解其穩定性和周期性,對異常形態有初步預期,從而對演算法參數進行更合理的配置。