本發(fā)明涉及一種用戶自定義規(guī)則實時解析日志數據的方法與系統(tǒng),尤其涉及一種大數據技術數據處理領域的用戶自定義規(guī)則實時解析日志數據的方法與系統(tǒng)。
背景技術:
在大數據技術領域,常常需要對日志信息進行分類解析,將非結構化的程序模式日志信息源語,按照特定規(guī)則解析成結構化的分類展示日志信息,便于統(tǒng)計分析。
然而,由于日志信息的來源和規(guī)模存在差異,造成日志信息中包含的信息類別和容量也各不相同,目前尚無一種簡單易用的配置方案可以解析各種類型的日志信息。傳統(tǒng)做法是有技術人員預先分析日志類型,然后編寫相應解析規(guī)則代碼,經過校驗后應用于該類日志信息的批量解析。該方式不僅對編寫規(guī)則代碼的技術員提出很高的技術要求,而且需要作出大量的代碼編寫和測試工作才能應用于批量解析,此外解析結果展示也不夠直觀,更重要的是該解析規(guī)則往往只能針對本次解析,對于新的日志信息不具備通用性,需要編寫新的解析規(guī)則,產生大量的重復工作。
技術實現要素:
針對當前日志信息解析存在的問題,本發(fā)明提出一種可視化輸入解析規(guī)則并圖形化輸出解析結果的新型自定義規(guī)則實時解析日志數據系統(tǒng)。該系統(tǒng)突破傳統(tǒng)需要編寫解析規(guī)則代碼的思維模式,采用圖形化解析規(guī)則選擇模式向用戶展示可選解析規(guī)則,并提供日志樣例輸入界面,用戶通過輸入日志樣例并選擇一種或者多種解析規(guī)則,該系統(tǒng)自動按照選定規(guī)則對日志樣例進行解析并生成圖形化解析結果圖,當用戶確定保存選擇的解析規(guī)則后即可用于批量解析日志信息并得到圖形化解析結果圖,大大降低了對操作用戶的技術要求,提高了解析結果的展示效果,提高了可操作性。
本發(fā)明解決其技術問題所采用的技術方案是:
輸入信息獲取步驟,用戶通過交互系統(tǒng)輸入日志樣例和自定義解析規(guī)則請求。
優(yōu)選的,輸入信息獲取步驟中,所述交互系統(tǒng)包括接收日志樣例的輸入欄和接收自定義解析規(guī)則的圖形化按鈕選擇欄。
優(yōu)選的,輸入信息獲取步驟中,所述的解析規(guī)則包括正則表達式、KeyValue解析、字段值拆分(split)、String類型轉換成數值型、JSON解析、URL解碼、時間戳識別和UserAgent解析,且根據解析需要可以選取其中的一種或者多種的組合。
解析規(guī)則應用步驟,服務端接口獲取并解析用戶自定義規(guī)則,采用該規(guī)則解析日志樣例并通過可視化界面樹狀圖展示解析結果。
優(yōu)選的,所述解析規(guī)則應用步驟中,所述獲取并解析用戶自定義規(guī)則采用遍歷的方式進行讀取和解析所述規(guī)則,生成服務端解析器識別的解析規(guī)則,并采用該規(guī)則對用戶輸入的日志樣例進行解析生成樹狀可視化結構圖。
確認保存自定義規(guī)則步驟,用戶確定自定義規(guī)則名稱并保存生成最終解析規(guī)則。
優(yōu)選的,確認保存自定義規(guī)則步驟中,用戶根據日志樣例解析結果,確認是否需要追加、修改或者刪除自定義規(guī)則,并在修改完畢后保存選擇結果,形成一條最終解析規(guī)則。
優(yōu)選的,所述追加、修改或者刪除自定義規(guī)則操作產生后,將會重新生成解析結果。
批量解析日志步驟,服務端解析引擎獲取用戶最終解析規(guī)則,并采用該規(guī)則批量解析日志信息,通過可視化界面樹狀圖實時顯示解析結果。
優(yōu)選的,所述批量解析日志步驟中,所述服務端解析引擎自動讀取服務端解析接口中的用戶解析規(guī)則,并按所述規(guī)則對日志信息進行實時解析,通過顯示界面樹狀圖實時展示解析結果。
本發(fā)明還公開了一種自定義規(guī)則實時解析日志數據的系統(tǒng),該系統(tǒng)包含以下模塊:
用戶交互模塊,用于提供用戶輸入、規(guī)則選擇界面以及規(guī)則追加、修改或者刪除功能和確認保存自定義規(guī)則功能。
優(yōu)選的,所述用戶交互模塊中,所述確認保存自定義規(guī)則是指用戶根據日志樣例解析結果顯示判斷是否需要重新選擇自定義解析規(guī)則以達到更好的解析效果,并在獲得理想解析效果后確定保存已選擇的自定義規(guī)則。
規(guī)則生成模塊,用于自動讀取用戶輸入自定義規(guī)則,解析并應用該規(guī)則生成服務端解析引擎識別的規(guī)則,采用該規(guī)則解析日志樣例。
服務端解析模塊,用于自動讀取解析規(guī)則,并應用該規(guī)則批量解析日志信息。
所述服務端解析模塊中,所述自動讀取解析規(guī)則是指服務端解析引擎從服務端解析接口自動讀取其保存的解析規(guī)則,并按照該規(guī)則對日志信息進行批量解析。
結果展示模塊,用于對日志樣例解析結果和批量日志信息解析結果進行顯示。
采用上述技術方案,本發(fā)明具有以下優(yōu)點:
本發(fā)明所述的用戶自定義規(guī)則實時解析日志數據的方法與系統(tǒng),通過可視化界面輸入的方式接收用戶提供的日志樣例以及選擇的解析規(guī)則,并利用服務端解析接口對該自定義規(guī)則進行解析,生成并展示可視化樹狀結構解析結果,用戶對可追加、編輯或者修改選擇的解析規(guī)則至得到滿意的解析結果并保存生成最終解析規(guī)則,服務端解析引擎通過服務端接口讀取用戶保存的規(guī)則,并用該規(guī)則批量解析日志信息,并采用可視化樹狀結構展示解析結果,無需用戶編寫解析規(guī)則源碼并對源碼的解析效果進行測試,大大降低了操作用戶的技術要求并提高了解析結果的展示效果,提高了可操作性。
附圖說明
圖1為本發(fā)明較佳實施方式的用戶自定義規(guī)則實時解析日志數據的方法與系統(tǒng)的步驟示意圖。
圖2為本發(fā)明較佳實施方式的用戶自定義規(guī)則實時解析日志數據的方法與系統(tǒng)的系統(tǒng)模塊圖。
圖3、4為本發(fā)明較佳實施方式的用戶自定義規(guī)則實時解析日志數據的方法與系統(tǒng)的流程圖。
具體實施方式
下面將結合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整的描述,顯然,所描述的實施例僅僅是本發(fā)明的一個實施例,而不是全部實施例?;诒景l(fā)明中的實施例,本領域的一般技術人員在沒有做出創(chuàng)造性勞動的前提下所獲得的其他實施例,都屬于本發(fā)明保護的范圍。
本發(fā)明公開了一種用戶自定義規(guī)則實時解析日志數據的方法,參見圖1所示,該方法包含以下步驟:
步驟S101:用戶通過可視化界面輸入日志樣例和解析規(guī)則;
步驟S102:服務端解析接口對自定義規(guī)則進行解析,生成并展示解析結果;
步驟S103:用戶對服務端生成的解析結果確認保存生成日志批量解析規(guī)則;
步驟S104:服務端解析引擎通過服務端接口讀取用戶自定義規(guī)則,并用該規(guī)則批量解析日志信息。
本發(fā)明實施例中,通過可視化界面輸入的方式接收用戶提供的日志樣例以及選擇的解析規(guī)則,并利用服務端解析接口對該自定義規(guī)則進行解析,生成并展示可視化樹狀結構解析結果,用戶對可追加、編輯或者修改選擇的解析規(guī)則至得到滿意的解析結果并保存生成最終解析規(guī)則,服務端解析引擎通過服務端接口讀取用戶保存的規(guī)則,并用該規(guī)則批量解析日志信息,并采用可視化樹狀結構展示解析結果。
可見,針對來源和規(guī)模不同的日志信息,操作用戶無需按照傳統(tǒng)模式編寫解析規(guī)則代碼,并對該規(guī)則代碼做大量效果測試工作,而只需要在系統(tǒng)提供的圖形化解析規(guī)則選擇按鈕中選擇對應解析規(guī)則,便可通過服務端解析端口自動解析生成服務端解析引擎識別的解析規(guī)則,同時用戶還可以通過系統(tǒng)提供的日志樣例輸入框輸入日志樣例獲得樹狀結構的解析結果,針對結果選擇追加、編輯或修改解析規(guī)則已達到預期解析效果,大大降低了操作用戶的技術要求并提高了解析結果的展示效果,提高了可操作性。
本發(fā)明實施例公開了一種用戶自定義規(guī)則實時解析日志數據的系統(tǒng),參見圖2。相對上一實施例,本實施例對技術方案做進一步的說明和優(yōu)化。具體的,本實施例中用戶自定義規(guī)則實時解析日志數據的系統(tǒng)包含以下模塊:
S1:用戶交互模塊。
優(yōu)選的,該模塊用于提供用戶輸入、規(guī)則選擇界面以及規(guī)則追加、修改或者刪除功能和確認保存自定義規(guī)則功能。
優(yōu)選的,所述確認保存自定義規(guī)則是指用戶根據日志樣例解析結果顯示判斷是否需要重新選擇自定義解析規(guī)則以達到更好的解析效果,并在獲得理想解析效果后確定保存已選擇的自定義規(guī)則。
S2:規(guī)則生成模塊。
優(yōu)選的,該模塊用于自動讀取用戶輸入自定義規(guī)則,解析并應用該規(guī)則生成服務端解析引擎識別的規(guī)則,采用該規(guī)則解析日志樣例。
S3:服務端解析模塊。
優(yōu)選的,該模塊用于自動讀取解析規(guī)則,并應用該規(guī)則批量解析日志信息。
優(yōu)選的,所述自動讀取解析規(guī)則是指服務端解析引擎從服務端解析接口自動讀取其保存的解析規(guī)則,并按照該規(guī)則對日志信息進行批量解析。
S4:結果展示模塊。
優(yōu)選的,該模塊用于對日志樣例解析結果和批量日志信息解析結果進行顯示。
本發(fā)明實施例公開了一種用戶自定義規(guī)則實時解析日志數據的系統(tǒng),參見圖2、3,相對上一實施例,本實施例對技術方案作了更進一步的說明和優(yōu)化。具體的,本實施例中用戶自定義規(guī)則實時解析日志數據的系統(tǒng)包含以下處理流程:
S11:日志樣例輸入。
優(yōu)選的,操作用戶通過系統(tǒng)提供的可視化樣例輸入框輸入日志樣例,該樣例應與目標表解析日志信息類型相同或者包含目標解析日志的信息類型。
S12:解析規(guī)則選擇。
優(yōu)選的,操作用戶根據系統(tǒng)提供的可視化選擇按鈕,在可選解析規(guī)則中選擇合適的解析規(guī)則,所述可選規(guī)則包括正則表達式、KeyValue解析、字段值拆分(split)、String類型轉換成數值型、JSON解析、URL解碼、時間戳識別和UserAgent解析。
S21:服務端解析接口。
優(yōu)選的,當操作用戶輸入日志樣例并選擇解析規(guī)則后,服務端解析接口自動讀取用戶輸入信息,采用遞歸遍歷的方法解析用戶輸入的解析規(guī)則并生成服務端解析引擎識別的解析規(guī)則,應用該規(guī)則對用戶輸入的日志樣例進行解析,得到結構化的分類解析結果。
S41:樣例解析結果展示。
優(yōu)選的,服務端解析根據用戶輸入的解析規(guī)則對日志樣例解析得到的結果,以可視化樹狀結構圖的方式展示給操作用戶。
S13:判斷解析結果。
優(yōu)選的,操作用戶根據解析結果的樹狀結構圖,確定是否可以生成最終解析規(guī)則,若是,則執(zhí)行S22,否則用戶可選擇追加、編輯或修改解析規(guī)則后執(zhí)行S12。
S22:解析規(guī)則生成。
優(yōu)選的,用戶對解析結果滿意則可保存選擇的解析規(guī)則,并指定該規(guī)則的名稱,形成一條最終的解析規(guī)則記錄。
S31:解析規(guī)則讀取。
優(yōu)選的,服務端解析引擎從服務端接口獲取用戶保存的解析規(guī)則。
S32:批量日志解析。
優(yōu)選的,服務端解析引擎根據從服務端接口讀取到的解析規(guī)則,對日志信息進行實時批量解析,得到結構化的分類解析結果。
S42:批量解析結果展示。
優(yōu)選的,服務端解析引擎將解析結果實時輸送給顯示模塊,有顯示模塊處理形成可視化樹狀結構解析結果。
綜上所述,通過可視化界面輸入的方式接收用戶提供的日志樣例以及選擇的解析規(guī)則,并利用服務端解析接口對該自定義規(guī)則進行解析,生成并展示可視化樹狀結構解析結果,用戶對可追加、編輯或者修改選擇的解析規(guī)則至得到滿意的解析結果并保存生成最終解析規(guī)則,服務端解析引擎通過服務端接口讀取用戶保存的規(guī)則,并用該規(guī)則批量解析日志信息,并采用可視化樹狀結構展示解析結果,針對來源和規(guī)模不同的日志信息,操作用戶無需按照傳統(tǒng)模式編寫解析規(guī)則代碼,并對該規(guī)則代碼做大量效果測試工作,而只需要在系統(tǒng)提供的圖形化解析規(guī)則選擇按鈕中選擇對應解析規(guī)則,便可通過服務端解析端口自動解析生成服務端解析引擎識別的解析規(guī)則,同時用戶還可以通過系統(tǒng)提供的日志樣例輸入框輸入日志樣例獲得樹狀結構的解析結果,針對結果選擇追加、編輯或修改解析規(guī)則已達到預期解析效果,大大降低了操作用戶的技術要求并提高了解析結果的展示效果,提高了可操作性。
以上所述僅為舉例性,而非為限制性。本領域的技術人員可以對發(fā)明進行各種改動和變型而不脫離本發(fā)明的精神和范圍。這樣,倘若本發(fā)明的這些修改和變型屬于本發(fā)明權利要求及其等同技術的范圍之內,則本發(fā)明也意圖包括這些改動和變型在內。