日志分析系統(tǒng)中的日志的與語言無關的處理方法和系統(tǒng)的制作方法
【技術領域】
[0001]本公開一般涉及分析日志用以產生有含義的領悟(insight)和/或數(shù)據(jù)的領域。
【背景技術】
[0002]在計算中,日志是記錄在系統(tǒng)的執(zhí)行中發(fā)生的事件以便提供審計跟蹤(audittrail)的文件,所述審計跟蹤可用于:(i)理解系統(tǒng)的活動;和/或(ii)診斷問題。傳統(tǒng)上,日志可以幫助人們擴展對復雜計算機系統(tǒng)的活動的領悟,尤其在很少有用戶交互的應用(如服務器應用)的情況下更是如此。有時,考慮將來自多個源的日志文件條目進行組合。這種方法與統(tǒng)計分析相結合,可以產生在不同服務器上的看起來無關的事件之間的相關。許多操作系統(tǒng)和計算機程序包括某些形式的日志記錄子系統(tǒng)。
[0003]日志可能很大和/或以難以被理解的形式和格式呈現(xiàn)。傳統(tǒng)上,這些日志經過“日志分析”以便幫助從日志得到領悟。傳統(tǒng)上,這經常使用特殊日志分析軟件來進行。
[0004]許多數(shù)據(jù)庫維持某些種類的事務日志。與上述日志不同,這些日志主要不意圖作為用于之后的分析的審計跟蹤,并且不(易于)是人類可讀的。替代地,它們記錄對于所存儲的數(shù)據(jù)的改變,以允許數(shù)據(jù)庫從崩潰或其他錯誤恢復,并將所存儲的數(shù)據(jù)維持在一致的狀態(tài)下。多數(shù)數(shù)據(jù)庫系統(tǒng)都具有上述廣義上的日志和事務日志。日志文件是全局化的內容,并且應用典型地以應用正運行的系統(tǒng)的位置處本地的語言來生成日志。這幫助管理員以本地語言閱讀日志文件。傳統(tǒng)上,基于應用支持的語言來構建與日志分析相關聯(lián)的內容和/或知識,以便能夠跨所有語言一致地處理日志。日志分析或基于流的分析系統(tǒng)典型地使用:
(i)運行規(guī)則以從日志提取有用和/或相關信息的注釋;(ii)運行規(guī)則以標識模式并將附加信息添加到正被處理的內容的注釋;以及(iii)標識模式并從問題分析場景檢測可能感興趣的特定情況的評估規(guī)則。
[0005]“資源包(resource bundle) ”是包含對特定地在某個地點(locale)使用通用軟件有用的地點特定的數(shù)據(jù)的文件。這是通過使得代碼與地點無關而“國際化”通用軟件的方式。從代碼提取諸如字符串的地點敏感的對象(與硬編碼它們相對),這意味著:(i)應用可以處理多個地點,而不必對每個地點寫不同代碼;以及(ii)人類翻譯者可以僅處理可翻譯的文本而不是編程代碼。已知為日志記錄軟件提供一個或多個資源包。傳統(tǒng)上,這些資源包用于以本地語言生成日志的內容的非運行時部分。這里,“非運行時”意味著與系統(tǒng)/環(huán)境無關,也就是說,在開發(fā)時通常是靜態(tài)的和設計好的日志內容字符串。另一方面,運行時日志內容值和/或字符串與環(huán)境或運行時相關(列舉一些示例:主機名、ip(因特網協(xié)議)地址、環(huán)境變量值、程序運行時值)。運行時值性質上可以是數(shù)字的或非數(shù)字的。然而,非運行時值通常包括人們期望以他們優(yōu)選的人類可讀的語言呈現(xiàn)的文本。
【發(fā)明內容】
[0006]根據(jù)本發(fā)明的一方面,提供了一種計算機程序產品、系統(tǒng)和方法,包括以下步驟(不一定按照下面的順序):(i)使用與數(shù)據(jù)轉換相關的第一資源包生成第一人類可讀語言的第一日志內容;以及(ii)使用所述第一資源包將所述第一日志內容轉換為第二日志內容,所述第二日志內容與所述第一日志內容相對應但是第二人類可讀語言。
【附圖說明】
[0007]圖1是根據(jù)本發(fā)明的系統(tǒng)的第一實施例的示意圖;
[0008]圖2是示出至少部分地通過第一實施例的計算機系統(tǒng)執(zhí)行的方法的流程圖;
[0009]圖3是第一實施例的系統(tǒng)的一部分的示意圖;以及
[0010]圖4是第一實施例的系統(tǒng)的另一部分的示意圖。
【具體實施方式】
[0011]本公開的一些實施例使用用于生成日志內容的消息包或資源包來轉換(translate)日志內容。此【具體實施方式】部分被分為以下的子部分:(i)硬件和軟件環(huán)境;
[11]示例實施例;(iii)進一步的評論和/或實施例;以及(iv)定義。
[0012]1.硬件和軟件環(huán)境
[0013]所屬技術領域的技術人員知道,本發(fā)明的各個方面可以實現(xiàn)為系統(tǒng)、方法或計算機程序產品。因此,本發(fā)明的各個方面可以具體實現(xiàn)為以下形式,即:完全的硬件實施方式、完全的軟件實施方式(包括固件、駐留軟件、微代碼等),或硬件和軟件方面結合的實施方式,這里可以統(tǒng)稱為“電路”、“模塊”或“系統(tǒng)”。此外,在一些實施例中,本發(fā)明的各個方面還可以實現(xiàn)為在一個或多個計算機可讀介質中的計算機程序產品的形式,該計算機可讀介質中包含計算機可讀的程序代碼。
[0014]可以采用一個或多個計算機可讀介質的任意組合。計算機可讀介質可以是計算機可讀信號介質或者計算機可讀存儲介質。計算機可讀存儲介質例如可以是一一但不限于一一電、磁、光、電磁、紅外線、或半導體的系統(tǒng)、裝置或器件,或者任意以上的組合。計算機可讀存儲介質的更具體的例子(非窮舉的列表)包括:具有一個或多個導線的電連接、便攜式計算機盤、硬盤、隨機存取存儲器(RAM)、只讀存儲器(ROM)、可擦式可編程只讀存儲器(EPR0M或閃存)、光纖、便攜式緊湊盤只讀存儲器(CD-ROM)、光存儲器件、磁存儲器件、或者上述的任意合適的組合。在本文件中,計算機可讀存儲介質可以是任何包含或存儲程序的有形介質,該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用。
[0015]計算機可讀的信號介質可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號,其中承載了計算機可讀的程序代碼。這種傳播的數(shù)據(jù)信號可以采用多種形式,包括一一但不限于一一電磁信號、光信號或上述的任意合適的組合。計算機可讀的信號介質還可以是計算機可讀存儲介質以外的任何計算機可讀介質,該計算機可讀介質可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結合使用的程序。
[0016]計算機可讀介質上包含的程序代碼可以用任何適當?shù)慕橘|傳輸,包括一但不限于一無線、有線、光纜、RF等等,或者上述的任意合適的組合。
[0017]可以以一種或多種程序設計語言的任意組合來編寫用于執(zhí)行本發(fā)明操作的計算機程序代碼,所述程序設計語言包括面向對象的程序設計語言一諸如Java (注意:“Java”一詞可能在全世界不同司法轄區(qū)中具有商標權,而此處只用來在該商標權成立的條件下指代該產品或服務)、Smalltalk、C++等,還包括常規(guī)的過程式程序設計語言一諸如“C”語言或類似的程序設計語言。程序代碼可以完全地在用戶計算機上執(zhí)行、部分地在用戶計算機上執(zhí)行、作為一個獨立的軟件包執(zhí)行、部分在用戶計算機上部分在遠程計算機上執(zhí)行、或者完全在遠程計算機或服務器上執(zhí)行。在涉及遠程計算機的情形中,遠程計算機可以通過任意種類的網絡一一包括局域網(LAN)或廣域網(WAN)—連接到用戶計算機,或者,可以連接到外部計算機(例如利用因特網服務提供商來通過因特網連接)。
[0018]下面將參照根據(jù)本發(fā)明實施例的方法、裝置(系統(tǒng))和計算機程序產品的流程圖和/或框圖描述本發(fā)明。應當理解,流程圖和/或框圖的每個方框以及流程圖和/或框圖中各方框的組合,都可以由計算機程序指令實現(xiàn)。這些計算機程序指令可以提供給通用計算機、專用計算機或其它可編程數(shù)據(jù)處理裝置的處理器,從而生產出一種機器,使得這些計算機程序指令在通過計算機或其它可編程數(shù)據(jù)處理裝置的處理器執(zhí)行時,產生了實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的裝置。
[0019]也可以把這些計算機程序指令存儲在計算機可讀介質中,這些指令使得計算機、其它可編程數(shù)據(jù)處理裝置、或其他設備以特定方式工作,從而,存儲在計算機可讀介質中的指令就產生出包括實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的指令的制造品(article of manufacture)。
[0020]也可以把這些計算機程序指令存儲在計算機、其他可編程數(shù)據(jù)處理裝置或其他設備上,以使得在計算機、其它可編程裝置或其他設備上執(zhí)行一系列操作步驟以產生計算機實現(xiàn)的處理,從而在計算機或其他可編程裝置上執(zhí)行的指令提供用于實現(xiàn)流程圖和/或框圖中的一個或多個方框中規(guī)定的功能/動作的處理。
[0021]現(xiàn)在將參照圖1詳細描述用于根據(jù)本發(fā)明的軟件和/或方法的可能的硬件和軟件環(huán)境的實施例,圖1是圖示聯(lián)網計算機系統(tǒng)100的框圖,其包括:轉換子系統(tǒng)102、客戶端子