TWI406152B - 當支援查詢時有效地儲存日誌資料 - Google Patents

當支援查詢時有效地儲存日誌資料 Download PDF

Info

Publication number
TWI406152B
TWI406152B TW098130163A TW98130163A TWI406152B TW I406152 B TWI406152 B TW I406152B TW 098130163 A TW098130163 A TW 098130163A TW 98130163 A TW98130163 A TW 98130163A TW I406152 B TWI406152 B TW I406152B
Authority
TW
Taiwan
Prior art keywords
events
event
value
data
block
Prior art date
Application number
TW098130163A
Other languages
English (en)
Other versions
TW201015371A (en
Inventor
Wei Huang
Yizheng Zhou
Bin Yu
Wenting Tang
Christian F Beedgen
Original Assignee
Hewlett Packard Development Co
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hewlett Packard Development Co filed Critical Hewlett Packard Development Co
Publication of TW201015371A publication Critical patent/TW201015371A/zh
Application granted granted Critical
Publication of TWI406152B publication Critical patent/TWI406152B/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1425Traffic logging, e.g. anomaly detection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/284Relational databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3466Performance evaluation by tracing or monitoring
    • G06F11/3476Data logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/86Event-based monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/034Test or assess a computer or a system

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computing Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Debugging And Monitoring (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Description

當支援查詢時有效地儲存日誌資料
本發明大體而言係關於安全執行/事件管理(SIM或SIEM)且特定言之係關於當支援查詢時有效地儲存安全資訊/事件。
本申請案主張2008年9月5日申請之美國臨時申請案第61/094,762號之權利,該案之全文以引用的方式併入本文中。本申請案為2007年12月28日申請之美國申請案第11/966,078號(其主張2006年12月8日申請之美國臨時申請案第60/882,289號之權利)之部分接續申請案,該兩個申請案之全文以引用的方式併入本文中。
安全資訊/事件管理(SIM或SIEM)之領域大體而言係關於:1)自網路及網路器件收集反映網路活動及/或器件之操作的資料;及2)分析該資料以增強安全。舉例而言,可分析該資料以識別對該網路或一網路器件之攻擊且判定哪一使用者或機器負有責任。若該攻擊正在進行中,則可執行一反制以制止該攻擊或減輕該攻擊所造成之損害。所收集之資料通常起源於一訊息(諸如,一事件、警示或警報)或由一網路器件產生之一日誌檔案中之一項目。例示性網路器件包括防火牆、侵入偵測系統及伺服器。
儲存每一訊息或日誌檔案項目(「事件」)以供未來使用。可以多種方式組織所儲存之事件。每一組織方法當其涉及寫入事件資料、搜尋事件資料及刪除事件資料時具有其自身的優點及缺點。
考慮以下情形:每一事件包括一稱作事件接收時間之屬性。因為該事件接收時間屬性之值頻繁地用於搜尋,所以基於事件之事件接收時間來儲存事件。舉例而言,針對某天的每一分鐘建立一個檔案。為了儲存一事件,判定該事件之事件接收時間。將該事件附加至對應於事件接收時間之該分鐘的檔案。
當後續事件到達時,其事件接收時間將始終單調地增加。此意謂寫入後續事件資料將僅需要附加操作。不必尋覓儲存媒體。此有利於寫入事件資料時的良好效率。為了基於事件接收時間搜尋事件資料,一旦已識別第一事件,後續事件即藉由依序讀取儲存媒體而變得可用。再次,不必進行尋覓。此有利於基於事件接收時間搜尋事件資料時的良好效率。為了刪除最舊事件資料,刪除最舊檔案。若始終先刪除最舊檔案,則存儲媒體將不會變得片段化。此有利於刪除事件資料時的良好效率。
此做法之問題在於基於除事件接收時間以外的任何屬性搜尋事件資料係非常耗時的。舉例而言,假設每一事件亦包括指示產生該事件之器件或應用程式(「事件源」)之一屬性。為了搜尋指示一特定事件源之事件(亦即,包括事件源屬性之特定值之事件)之事件資料,將不得不覆查整個儲存媒體。此係非常低效的。
需要一種當支援針對不同事件屬性查詢時有效地儲存安全資訊/事件之方式。
一日誌記錄系統在支援針對不同事件屬性查詢時有效地儲存安全資訊/事件。該日誌記錄系統可結合一安全資訊/事件管理(SIEM)系統使用。可由各種源(包括器件及應用程式)產生之日誌資料可呈任何格式。日誌資料包含稱作「事件」之一或多個資料執行個體。一事件可為(例如)一日誌檔案中之一項目、一系統日誌(syslog)伺服器中之一項目、一警示、一警報、一網路封包、一電子郵件或一通知頁。大體而言,一事件產生一次且之後不會改變。
在一實施例中,該日誌記錄系統包括一事件接收器、一儲存管理器及一通信機構。該事件接收器接收日誌資料、處理該日誌資料並輸出一基於欄之資料「塊」。該事件接收器包括一控制系統、一緩衝器集合及一中繼資料結構。該控制系統控制該事件接收器之操作。該緩衝器集合儲存一或多個事件。若不同事件包括相同類型之欄位,則可將該等事件組織在一表中。該表之每一列將表示一不同事件,且該表之每一欄將表示一不同欄位。每一緩衝器與一特定欄位相關聯且包括來自一或多個事件之此欄位(「屬性」)之值。該中繼資料結構儲存關於該緩衝器集合之內容的中繼資料。在一實施例中,該中繼資料包括:與該事件接收器相關聯之一唯一識別符;該緩衝器集合中的事件之數目;及針對一或多個「感興趣欄位」中之每一者的一最小值及一最大值,該最小值及該最大值反映該緩衝器集合中之所有該等事件的該欄位之值的範圍。該中繼資料結構在查詢事件資料時充當一搜尋索引。
該儲存管理器接收基於欄之資料塊並儲存該等資料塊使得其可被查詢。該儲存管理器包括一控制系統、一資料檔案表、一塊表及一或多個資料檔案。該控制系統控制該儲存管理器之操作。該資料檔案表儲存關於該一或多個資料檔案之資訊。在一實施例中,此資訊包括針對每一資料檔案的與該資料檔案相關聯之一唯一識別符及該資料檔案之位置。該塊表儲存關於儲存於該儲存管理器中(具體言之,儲存於該一或多個資料檔案中)的該一或多個基於欄之塊之資訊。在一實施例中,此資訊包括針對每一基於欄之塊的儲存於該塊中之該中繼資料及該塊之位置。一資料檔案儲存多個塊。該通信機構通信式地耦接該事件接收器與該儲存管理器。
該事件接收器與該儲存管理器聯合執行一種用於儲存日誌資料之方法。在該方法開始之前,初始化該緩衝器集合及該中繼資料結構。該事件接收器接收日誌資料。該事件接收器控制系統將該日誌資料分成一或多個事件且判定每一事件何時由該事件接收器接收。該控制系統將該等事件之欄位值及針對每一事件的反映何時接收到該事件之一時間/日期戳記儲存於該緩衝器集合中。該控制系統亦更新該中繼資料結構。在某一時間,該控制系統基於該中繼資料結構及該緩衝器集合之內容產生基於欄之資料塊(每一緩衝器一個基於欄之塊)。在一實施例中,一基於欄之塊包括該中繼資料結構及該緩衝器之內容之一壓縮版本。重新初始化該緩衝器集合及該中繼資料結構,藉此清空(flush)該緩衝器集合。該控制系統將該等基於欄之塊發送至該儲存管理器。該儲存管理器接收該等塊、將該等塊儲存於一資料檔案中並更新該塊表。
該儲存管理器執行一種用於重新取得(reclaim)儲存空間之方法。識別與一特定保留原則(retention policy)相關聯之最舊資料檔案。自該塊表移除關於該經識別資料檔案中所含有之所有該等基於欄之塊之資訊。刪除該等資料檔案表中之表示該經識別資料檔案之項目。在該資料檔案表中建立一新項目。將該新近重新取得之資料檔案添加至可用預先分配資料檔案之清單中且該新近重新取得之資料檔案準備好接收新塊。
在已將一基於欄之塊儲存於一資料檔案中之後,可查詢該塊內之該等欄位值。將一查詢表示為一可針對一事件加以評估之表達式。該表達式包括一或多個搜尋項。一搜尋項與一事件之內容(具體言之,一特定欄位及該欄位之值)有關。為了執行一查詢,首先基於「感興趣欄位」資訊(當儲存於一塊之中繼資料中時)篩選(filter)資料塊。接著基於欄位值(當儲存於一塊之「有效負載」中時)篩選剩餘塊。最後,組譯(assemble)滿足該查詢之該等事件。
雖然剛才描述之該等塊係基於欄的,但沒有理由塊不能為基於列的。美國申請案第11/966,078號(「'078號申請案」)描述使用基於列之塊儲存事件資料。一第三類型之事件儲存使用基於列之塊及基於欄之塊兩者。此類型之事件儲存將一事件儲存兩次:一次使用一基於列之塊且一次使用一或多個基於欄之塊。舉例而言,可將一事件集合儲存為一個基於列之塊。亦可將此等事件之欄位值儲存為多個基於欄之塊(每一欄位一個基於欄之塊)。
本文中描述一種用於跨越一電腦網路自全異器件收集資料、將該資料正規化至一通用綱目及合併該經正規化資料之基於電腦之系統。接著可監視、分析該資料(「事件」)並在一集中概觀中將該資料用於調查及補救。事件可與規則交叉相關以建立中繼事件(meta-event)。相關包括(例如)發現事件之間的關係、(例如,藉由產生中繼事件)推斷此等關係之重要性、對該等事件及中繼事件優先排序及提供一框架以用於採取行動。該系統(將其一實施例被表示為電腦軟體)致能可疑網路活動之聚合、相關、偵測及調查性追蹤。該系統亦支援關於辯論分析之回應管理、隨意查詢解析、報告及重放與網路威脅及活動之圖形視覺化。
雖然將參考各種所說明之實例論述本系統,但不應將此等實例研讀為限制本發明之較廣精神及範疇。舉例而言,本文中所呈現之該等實例描述分散式代理程式、管理器及控制台,其僅為本發明之一實施例。本發明之一般概念及範圍更加寬廣且可延伸至任何基於電腦或基於網路之安全系統。又,給出可傳遞至該系統之組件及自該系統之組件傳遞的訊息及可由該系統之組件使用的資料綱目之實例以試圖進一步描述本發明,但該等實例不意欲為總包括式實例且不應被視為如此。
自演算法及對一電腦記憶體內之資料之操作之符號表示的方面呈現以下之詳細描述之一些部分。此等演算描述及表示為熟習電腦科學之技術者用於向其他熟習此項技術者最有效地傳達其工作之實質之手段。在此(且通常)將一演算法視為導致一所要結果之步驟之自相一致序列。該等步驟為需要實體操縱物理量之步驟。通常,雖然並非為必需的,但此等量採取能夠被儲存、傳送、組合、比較及以其他方式操縱的電信號或磁信號之形式。主要出於一般使用之原因,已證實有時將此等信號稱為位元、值、元件、符號、字元、項、號碼或其類似物係便利的。然而,應謹記所有此等及類似術語將與適當物理量相關聯且僅為應用於此等量之便利標號。除非另有明確聲明,否則將瞭解,在本發明之整篇描述中,諸如「處理」、「計算」、「核算」、「判定」、「顯示」或其類似者之術語之使用指電腦系統或類似電子計算器件之動作及程序,該電腦系統或類似電子計算器件操縱表示為電腦系統之暫存器及記憶體內之物理(電子)量且將其轉換為類似地表示為電腦系統記憶體或暫存器或其他此等資訊儲存、傳輸或顯示器件內之物理量的其他資料。
如上文所指示,本發明之一實施例以在由一或多個電腦處理器/系統執行時指導該等處理器/系統執行該等指定動作之電腦軟體(亦即,機器可讀指令)具體化。該電腦軟體可駐留於諸如硬碟機、CD-ROM、DVD-ROM、唯讀記憶體、讀取-寫入記憶體等之一或多個機器可讀儲存媒體中。該軟體可分散於此等媒體中之一或多者上,或可用於跨越一或多個電腦網路(例如,網際網路)下載。不管格式如何,本文中所論述之電腦程式設計、再現及處理技術僅為多種類型之可用於實施本發明之態樣的程式設計、再現及處理技術之實例。此等實例絕不應限制本發明,本發明最好參考在此描述之後的申請專利範圍來理解。
1.安全資訊/事件管理(SIEM)系統架構
圖1為說明根據一實施例之具有一安全資訊/事件管理系統之一環境的方塊圖。圖1包括一安全資訊/事件管理(SIEM)系統100及一或多個資料源110。一資料源110為一網路節點,其可為一器件或一軟體應用程式。例示性資料源110包括侵入偵測系統(IDS)、侵入預防系統(IPS)、易損性評估工具、防火牆、反病毒工具、反垃圾郵件(anti-spam)工具、加密工具、應用程式審計日誌及實體安全日誌。
資料源110之類型包括安全偵測及代理系統、存取及原則控制、核心服務日誌及日誌合併器、網路硬體、加密器件及實體安全系統。例示性安全偵測及代理系統包括IDS、IPS、多用途安全設施、易損性評估及管理、反病毒、蜜罐(honeypot)、威脅回應技術及網路監視。例示性存取及原則控制系統包括存取及識別碼管理、虛擬私用網路(VPN)、高速存取引擎、防火牆及安全原則管理。例示性核心服務日誌及日誌合併器包括作業系統日誌、資料庫審計日誌、應用程式日誌、日誌合併器、web伺服器日誌及管理控制台。例示性網路硬體包括路由器及交換器。例示性加密器件包括資料安全及完整性。例示性實體安全系統包括卡-密鑰讀取器、生物測定裝置、防盜警報器及火警警報器。
在所說明之實施例中,SIEM系統100包括一或多個代理程式120、一或多個管理器130、一或多個資料庫140、一或多個線上封存檔150、一或多個使用者介面160及一或多個日誌記錄系統170。在一些實施例中,此等模組組合成單一平台或分散於兩個、三個或更多平台中(諸如,在圖1中)。隨著一電腦網路或系統增長,此多層架構之使用支援可縮放性。在2008年5月20日頒予之美國專利第7,376,969號中進一步描述了SIEM系統100,該案之全文以引用的方式併入本文中。
一代理程式120提供對一資料源110之一介面。具體言之,代理程式120自一資料源110收集資料(「原始事件」)、處理該資料並將該經處理之資料(「事件」)發送至一管理器130。代理程式120可在任何地點作業,諸如在一經由一諸如簡單網路管理協定(SNMP)陷阱之協定通信之單獨器件處、在網路內之一合併點處或在資料源110處。舉例而言,若資料源110為一軟體應用程式,則可在代管(host)該資料源之器件上共同代管代理程式120。在一實施例中,代理程式120為來自ArcSight,Inc. of Cupertino,CA之連接器產品。
處理可包括正規化、聚合及篩選。舉例而言,剖析並正規化個別原始事件以供管理器130使用。正規化可包括將值(諸如,嚴重性、優先權及時區)正規化成一通用格式及/或將一資料結構正規化至一通用綱目中。可使用一通用之人類可讀格式對事件分類。此格式使使用者較容易理解該等事件且使使用篩選器、規則、報告及資料監視器分析該等事件較容易。在一實施例中,該通用格式為來自ArcSight,Inc.之通用事件格式(CEF)日誌管理標準。在2002年12月2日申請之美國申請案第10/308,941號中進一步描述了正規化,該案之全文以引用的方式併入本文中。
聚合及篩選減少發送至管理器130之事件之量,此節省網路頻寬及儲存空間、使管理器之效率及準確度增加且減少事件處理時間。在2002年12月2日申請之美國申請案第10/308,584號及2004年10月27日申請之美國申請案第10/975,962號中進一步描述了聚合,該兩個申請案之全文以引用的方式併入本文中。代理程式120基於一時期之過期或基於達到事件之一臨限數目而分批地將事件發送至管理器130。在2007年5月15日頒予之美國專利第7,219,239號中進一步描述了批次處理事件以傳輸至管理器130,該專利之全文以引用的方式併入本文中。
代理程式120亦可將命令發送至資料源110及/或在本端主機上執行命令,諸如,指導一掃描儀執行一掃描。此等動作可手動地執行或經由來自規則及資料監視器之自動動作執行。在2002年12月2日申請之美國申請案第10/308,417號中進一步描述了命令支援,該案之全文以引用的方式併入本文中。代理程式120亦可(諸如,藉由查找一網際網路協定(IP)位址及/或主機名以解析管理器130處之IP/主機名查找)將資訊添加至其已收集之資料。
代理程式120係經由一相關聯組態檔案(未圖示)組態。代理程式120可包括一或多個軟體模組,其包括一正規化組件、一時間校正組件、一聚合組件、一批次處理組件、一解析器組件、一傳送組件及/或額外組件。此等組件可經由該組態檔案中之適當命令啟用及/或停用。在組態期間,將代理程式120註冊至一管理器130且基於該代理程式之資料源110及所要行為以特性組態該代理程式。代理程式120可經由手動及自動程序兩者進一步組態。舉例而言,管理器130可將一命令或組態更新發送至代理程式120。在2002年12月2日申請之美國申請案第10/308,548號中進一步描述了代理程式組件,該案之全文以引用的方式併入本文中。在2004年10月27日申請之美國申請案第10/974,105號、2004年12月23日申請之美國申請案第11/021,601號、2005年3月1日申請之美國申請案第11/070,024號及2008年10月14日頒予之美國專利第7,437,359號中描述了額外代理程式能力,該等申請案及專利之全文以引用的方式併入本文中。
一管理器130提供分析能力、個案管理工作流程能力及服務能力。管理器130與一代理程式120之間的通信可為雙向的(例如,以使管理器130能夠將一命令傳輸至代管代理程式120之平台)且經加密的。在一些安裝中,管理器130可充當多個代理程式120之一集中器且將資訊轉發至其他管理器130(例如,部署於一公司總部處之管理器)。管理器130為執行其任務使用多種篩選器、規則、報告、資料監視器、控制盤及網路模型。在一實施例中,管理器130為一基於Java之伺服器,諸如來自ArcSight,Inc.之企業安全管理器(ESM)產品。
分析可包括偵測、相關及升級(escalation)。舉例而言,管理器130使用一規則引擎(未圖示)使自代理程式120接收之事件交叉相關,該規則引擎關於網路模型及易損性資訊評估每一事件以產生即時威脅摘要。在2002年12月2日申請之美國申請案第10/308,767號中進一步描述了相關,該案之全文以引用的方式併入本文中。關於個案管理,管理器130可維持關於安全事故之狀態及安全事故之解決方案的報告。在2003年11月14日申請之美國申請案第10/713,471號中進一步描述了事故報告,該案之全文以引用的方式併入本文中。服務可包括管理、通知及報告。管理器130亦可提供對一知識庫之存取。在2004年4月9日申請之美國申請案第10/821,459號、2007年8月21日頒予之美國專利第7,260,844號、2009年7月21日頒予之美國專利第7,565,696號及2009年3月24日頒予之美國專利第7,509,677號中描述了額外管理器能力,該等申請案及專利之全文以引用的方式併入本文中。
當由管理器130接收事件時,將事件儲存於一資料庫140中。儲存該等事件使得其稍後能夠用於分析及參考。在一實施例中,資料庫140為一關連式資料庫管理系統,諸如,一來自Oracle Corporation of Redwood Shores,CA之資料庫。
在一實施例中,資料庫140將資料儲存於多個分區中,該等分區為該資料庫之時序切片。舉例而言,每天建立一個新分區以儲存當天之事件。可將一分區壓縮並儲存於一線上封存檔150中以供稍後擷取。在2004年5月4日申請之美國申請案第10/839,563號中進一步描述了分區管理,該案之全文以引用的方式併入本文中。在一實施例中,分區管理係由來自ArcSight,Inc.之安全生命週期資訊管理(SLIM)產品之SmartStorage封存及擷取組件提供。
一使用者經由一使用者介面160與管理器130互動。該使用者介面160使使用者能夠導覽管理器130之特徵及功能。單一管理器130可支援多個使用者介面執行個體。可用於使用者的該等特徵及功能可取決於使用者之角色及允許及/或管理器之組態。在一實施例中,存取控制清單使多個安全專業人員能夠使用同一管理器130及資料庫140,但每一專業人員具有其自己的與其責任相稱的概觀、相關規則、警示、報告及知識庫。管理器130與使用者介面160之間的通信係雙向的且可為經加密的。
在一實施例中,存在兩種類型之使用者介面160:一基於工作站之介面及一基於web瀏覽器之介面。該工作站介面為一意欲供專職安全人員在一安全操作中心(SOC)或類似之安全監視環境中使用之獨立軟體應用程式。該工作站介面包括用於建立及修改篩選器、規則、報告、圖案發現、控制盤及資料監視器之一編寫工具(authoring tool)。該工作站介面亦使一使用者能夠管理使用者、資料庫分區及工作流程(例如,事故調查及報告)。舉例而言,該工作站介面使一使用者能夠執行常規監視、建置複雜相關及長序列規則並執行常規管理功能。在一實施例中,該工作站介面為來自ArcSight,Inc.之ESM控制台產品。在2002年12月2日申請之美國申請案第10/308,418號及2008年2月19日頒予之美國專利第7,333,999號中進一步描述了該使用者介面,該申請案及專利之全文以引用的方式併入本文中。
web介面係為web瀏覽器用戶端提供對管理器130之一安全介面的一獨立且可遠端安裝之web伺服器。web介面意欲用作為一供被管服務安全提供者(MSSP)之客戶、SOC操作員及需要自受保護網路外存取管理器130之使用者使用的流線型介面。因為web伺服器可安裝於一遠離管理器130之位置處,所以web伺服器可在保護管理器130之防火牆之外操作。web介面提供事件監視及向下切入(drill-down)能力。在一實施例中,作為一安全特徵,web介面不致能編寫或管理功能。在一實施例中,web介面為來自ArcSight,Inc.之ArcSight Web產品。
在一實施例中,一日誌記錄系統170為一針對極高事件輸送量最佳化之事件資料儲存設施。日誌記錄系統170儲存安全事件(有時被稱為「日誌資料」)。在一實施例中,以壓縮形式儲存該等安全事件。然而,日誌記錄系統170可在需求時擷取此等事件且將此等事件其恢復成其用於辯論品質資料之原始的未經修改形式。在儲存事件時,多個日誌記錄系統170可一起工作以按比例放大從而支援高的持續輸入速率。可跨越日誌記錄系統170之一對等網路(peer network)分散事件查詢。一使用者可經由一使用者介面(未圖示)組態日誌記錄系統170。在一實施例中,日誌記錄系統170為來自ArcSight,Inc.之日誌記錄器產品。
日誌記錄系統170可接收經處理事件(例如,符合通用事件格式之事件)及原始事件兩者。在一實施例中,原始事件係直接自資料源110接收(諸如,系統日誌訊息及日誌檔案),且經處理事件係自代理程式120或管理器130接收。日誌記錄系統170亦可發送原始事件及經處理事件兩者。在一實施例中,原始事件係作為系統日誌訊息發送(至任何器件;未圖示),且經處理事件被發送至管理器130。將於下文進一步描述日誌記錄系統170。
經由上述架構,SIEM系統100可支援一集中式或非集中式環境。此係適用的,因為一組織可能想要實施SIEM系統100之一單一執行個體且使用一存取控制清單分隔使用者。或者,該組織可能選擇關於若干群組中之每一者部署獨立SIEM系統100且在一「主」層次合併該等結果。該一部署亦可達成一「追逐太陽(follow-the-sun)」配置,其中地理上分散之對等群組藉由將主要督察責任傳遞至當前執行標準營業時間之群組來彼此合作。SIEM系統100亦可部署於一公司階層架構中,其中分公司分別執行且支援至集中管理功能之向上探勘(rollup)。
2.日誌資料
本文中描述用於當支援查詢時有效地儲存日誌資料之系統及方法。如本文中所使用,可由包括器件及應用程式兩者之各種源產生「日誌資料」。此等源包括(例如)上述之資料源110,以及網路系統、電腦、作業系統、防病毒系統、資料庫、實體基礎架構、識別碼管理系統、目錄服務、系統健康資訊系統、web流量、舊版系統、專屬系統、大型電腦、大型電腦應用程式、安全系統、實體器件及SIEM源(諸如,代理程式120及管理器130)。
一系統可以許多方式獲得日誌資料。舉例而言,可(例如,根據系統日誌協定)接收日誌資料。或者,可(例如,藉由讀取一本端或遠端地儲存之檔案)存取日誌資料。其他方法包括(例如)開放資料庫連接性(ODBC)、簡單網路管理協定(SNMP)陷阱、網路流(NetFlow)及專屬應用程式設計介面(API)。亦可由一使用者(例如,使用一命令行介面(CLI))輸入日誌資料。
日誌資料可呈任何格式。一此格式為(例如)(上述之)通用事件格式。其他格式(例如)係產生日誌資料之資料源110所特有。
日誌資料包含稱作「事件」之一或多個資料執行個體。一事件可為(例如)一日誌檔案中之一項目、一系統日誌伺服器中之一項目、一警示、一警報、一網路封包、一電子郵件或一通知頁。大體而言,一事件產生一次且之後不會改變。
在一實施例中,一事件包括隱式中繼資料及一訊息。隱式中繼資料可包括關於(例如)產生事件之器件或應用程式(「事件源」)及何時自該事件源接收到事件(「接收時間」)的資訊。在一實施例中,該接收時間為一日期/時間戳記,且該事件源為一網路端點識別符(例如,一IP位址或媒體存取控制(MAC)位址)及/或對該源之描述,其可能包括關於產品之供應商及版本的資訊。
該訊息表示自該事件源接收到何物且該物可呈任何形式(二進位資料、文數字資料等)。在一實施例中,該訊息為描述一值得注意之情形或改變的自由形式本文。在另一實施例中,該訊息亦包括顯式中繼資料。顯式中繼資料係(例如)藉由剖析該訊息獲得。當一事件源產生一事件時,該事件通常包括指示何時發生該事件的資訊(「事件發生時間」)。通常為一日期/時間戳記之事件發生時間為顯式中繼資料之一實例且頻繁地用於分析。不同事件源常產生非均勻之顯式中繼資料(例如,事件之優先權或危急度,受事件影響之器件/應用程式/使用者,及哪一使用者觸發事件)。
在一實施例中,若一事件不包括一發生時間,則將由一事件接收器在其接收到該事件時產生的一隱式時間戳記(於下文描述)看作為原始發生時間戳記。當一事件被處理且可能經由各種系統轉發時,每一系統通常具有對事件接收時間之隱式記法。
在一實施例中,一事件表示包括一或多個欄位之一資料結構,其中每一欄位可含有一值(有時稱為一「屬性」)。此資料結構之大小通常落入100位元組至10千位元組之範圍內。
3.列儲存及欄儲存
若不同事件包括相同類型之欄位,則可將該等事件組織在一表中。該表之每一列將表示一不同事件,且該表之每一欄將表示一不同欄位。
事件資料可使用兩種架構儲存於一資料庫中:列儲存及欄儲存。在列儲存架構中,儲存空間係記錄(列)導向式的。將一記錄(或值組(tuple))之屬性(欄位值)連續地置放於儲存空間中。在此架構中,一單次磁碟寫入足以將一單一記錄之所有該等欄位寫入至磁碟。因此,達成高效能寫入,且將一具有一列儲存架構之資料庫管理系統(DBMS)稱作一寫入最佳化系統(write-optimized system,WOS)。
在欄儲存架構中,儲存空間係欄位(欄)導向式的。將(跨越多個記錄)儲存於一個欄中之值連續地置放於儲存空間中。在此架構中,一DBMS必須僅讀取處理一給定查詢所需的彼等欄之值且可避免將不相關欄位值(屬性)載入至記憶體中。因此,達成高效能隨意查詢,且將一具有一欄儲存架構之DBMS稱作讀取最佳化系統(read-optimized system,ROS)。
美國申請案第11/966,078號(「'078號申請案」)描述使用基於列之「塊」儲存事件資料。具體言之,'078號申請案描述一種包括一事件接收器及一儲存管理器之日誌記錄系統。該接收器接收日誌資料、處理該日誌資料並輸出一基於列之資料「塊」。該管理器接收並儲存該基於列之資料塊,以使得該資料塊可被查詢。該接收器包括儲存事件的緩衝器及儲存關於該等緩衝器之內容的資訊之一中繼資料結構。該中繼資料包括:與該接收器相關聯之一唯一識別符;該等緩衝器中的事件之數目;及針對每一「感興趣欄位」的一最小值及一最大值,該最小值及該最大值反映該等緩衝器中之所有該等事件的該欄位之值的範圍。一塊包括該中繼資料結構及該等緩衝器之內容之一壓縮版本。該中繼資料結構在查詢事件資料時充當一搜尋索引。該日誌記錄系統可結合一安全資訊/事件管理(SIEM)系統來使用。
在'078號申請案中,一塊包括該等事件接收器緩衝器之內容(呈壓縮形式),且該等緩衝器含有一或多個事件。因此,一塊含有一或多個事件。因為可將一事件看作一表之一列,所以可將一塊看作含有一表之一或多個列。換言之,'078號申請案中所描述之該等塊遵循一列儲存架構。
雖然'078號申請案中所描述之該等塊係基於列的,但沒有理由塊不能遵循一欄儲存架構。舉例而言,考慮該事件接收器中之儲存事件之該等緩衝器。在'078號申請案中,將此等事件串連在一起(一個事件接一個事件)以輸入至一(基於列之)塊中。建置一塊之一不同方式為將該事件「表」之每一欄儲存為一不同的(基於欄之)塊。每一基於欄之塊將表示該表中之一欄(亦即,多個事件中之相同欄位之值之一集合)。並非將該表表示為含有所有該等列(事件)的一大基於列之塊,而會將該表表示為多個基於欄之塊(該表之每一欄一個基於欄之塊)。
本申請案描述使用基於欄之塊儲存事件資料以使得該等塊遵循一欄儲存架構。本申請案亦描述使用基於列之塊及基於欄之塊之一組合儲存事件資料。首先將描述純的基於欄之儲存,其後接續描述基於列之儲存及基於欄之儲存之組合。
4.日誌記錄系統架構
圖2為根據一實施例之用於充當一安全資訊/事件管理(SIEM)系統100之一日誌記錄系統170之一電腦200的高階方塊圖。說明耦接至一匯流排204之至少一處理器202。亦耦接至匯流排204者為一記憶體206、一儲存器件208、一鍵盤210、一圖形配接器212、一指標器件214及一網路配接器216。在一實施例中,匯流排204之功能性係由一互連晶片組提供。一顯示器218耦接至圖形配接器212。
儲存器件208為能夠保持資料之任何器件,如硬碟機、緊密光碟唯讀記憶體(CD-ROM)、DVD或固態記憶體器件。記憶體206保持由處理器202使用之指令及資料。指標器件214可為一滑鼠、軌跡球或其他類型之指標器件,且與鍵盤210組合使用以將資料輸入至電腦200中。圖形配接器212將影像及其他資訊顯示於顯示器218上。網路配接器216將電腦200耦接至一區域或廣域網路。
如此項技術中已知,一電腦200可具有不同於圖2中所展示之組件及/或除圖2中所展示之組件以外的組件。另外,電腦200可缺少特定之所說明組件。舉例而言,一充當一日誌記錄系統170之電腦200可能缺少一鍵盤210、指標器件214、圖形配接器212及/或顯示器218。此外,儲存器件208可位於電腦200本端及/或遠離電腦200(諸如,體現於一儲存區域網路(SAN)內)。
圖3為說明根據一實施例之一安全資訊/事件管理(SIEM)系統之一日誌記錄系統170的方塊圖。在所說明之實施例中,日誌記錄系統170包括一事件接收器310、一儲存管理器320及一通信機構330。雖然為清楚起見僅展示了一個事件接收器310,但系統170可支援與許多事件接收器310之大量同時會話。在一實施例中,每一事件接收器310與一唯一識別符相關聯。
事件接收器310接收日誌資料340、處理日誌資料340並輸出一資料「塊」350。事件接收器310包括一控制系統355、一或多個緩衝器之一集合360及一中繼資料結構365。控制系統355通信式地耦接至一或多個緩衝器之該集合360及該中繼資料結構365。
控制系統355控制事件接收器310之操作且於下文參看圖4予以進一步描述。
每一緩衝器360儲存關於一或多個事件之資訊。在一實施例中,一緩衝器之大小係固定的,但該大小自身係可組熊的。回憶起若不同事件包括相同類型之欄位,則可將該等事件組織在一表中。該表之每一列將表示一不同事件,且該表之每一欄將表示一不同欄位。在一實施例中,每一緩衝器360與一特定欄位相關聯且包括來自一或多個事件之此欄位(「屬性」)之值。在另一實施例中,每一緩衝器360亦包括一指示哪一欄位與該緩衝器相關聯之識別符(「IndexID」)。
舉例而言,假設一事件包括一稱作Source IPAddress之欄位,其值反映開始由該事件表示之動作的器件之IP位址。與該SourceIPAddress欄位相關聯之一緩衝器360將含有一或多個IP位址(由事件接收器310作為日誌資料340之部分接收並處理之每一事件一個IP位址)。緩衝器360亦可能含有IndexID值「100」,其指示該SourceIPAddress欄位。
在一實施例中,該緩衝器集合360包括用於每一事件欄位的一個緩衝器。當接收一事件時,剖析出每一欄位值並將其儲存於適當緩衝器中(於下文描述)。最終,將每一緩衝器儲存為一獨立的基於欄之塊(於下文論述)。以此方式,將該事件「表」之每一欄儲存為一不同的(基於欄之)塊。每一基於欄之塊將表示該表中之一欄(亦即,多個事件中之相同欄位之值之一集合)。並非將該表表示為一個含有所有該等列(事件)之大的基於列之塊,而將該表表示為多個基於欄之塊(該表之每一欄一個基於欄之塊)。
在另一實施例中,該緩衝器集合亦包括一ReceiptTime緩衝器,其儲存針對每一事件的反映事件何時由事件接收器310接收之時間/日期戳記。在又一實施例中,該緩衝器集合亦包括儲存針對每一事件的基於儲存於一事件之一或多個欄位中之該等值判定的一「匯出」值的一緩衝器。
中繼資料結構365儲存關於該緩衝器集合360之內容的中繼資料。在一實施例中,此中繼資料包括:與接收該等事件之事件接收器310相關聯之唯一識別符;該緩衝器集合中的事件之數目;及針對一或多個「感興趣欄位」中之每一者的一最小值及一最大值,該最小值及該最大值反映該緩衝器集合中之所有該等事件的該欄位之值的範圍。中繼資料結構365在查詢事件資料時充當一搜尋索引(於下文描述)。
舉例而言,假設一事件包括一稱作OccurrenceTime之欄位,其值反映發生事件的時間。若OccurrenceTime為一感興趣欄位,則中繼資料結構365將包括OccurrenceTime之一最小值及OccurrenceTime之一最大值。OccurrenceTime之最小值將為該緩衝器集合360中之最早發生的事件之OccurrenceTime。OccurrenceTime之最大值將為該緩衝器集合360中之最後發生的事件之OccurrenceTime。
在一實施例中,ReceiptTime亦為一感興趣欄位。因此,在此實施例中,中繼資料結構365亦儲存反映該緩衝器集合中之所有該等事件的接收時間之值的範圍之一最小值及一最大值。ReceiptTime之最小值將為該緩衝器集合360中之最早接收到的事件之ReceiptTime。ReceiptTime之最大值將為該緩衝器集合360中之最後接收到的事件之ReceiptTime。在一實施例中,僅儲存ReceiptTime之最小值。在此實施例中,不儲存ReceiptTime之最大值;此減少儲存要求減少。若一緩衝器360常被清空(此在產生一塊時發生,於下文描述),則ReceiptTime之最大值將接近ReceiptTime之最小值(例如,遲一秒)。
在一實施例中,一感興趣欄位本質上並非一事件欄位。實情為,其為一基於儲存於一事件之一或多個欄位中之值判定的「匯出」值。
儲存管理器320接收資料塊350並儲存該等資料塊以使得其可被查詢。儲存管理器320包括一控制系統370、一資料檔案表375、一塊表380及一或多個資料檔案385。控制系統370通信式地耦接至該等資料檔案表375、該塊表380及該一或多個資料檔案385。
控制系統370控制儲存管理器320之操作且於下文參看圖4予以進一步描述。
資料檔案表375儲存關於該一或多個資料檔案385之資訊。在一實施例中,資料檔案表375中之每一項目表示一個已被分配空間之資料檔案385,且該項目包括與該資料檔案相關聯之一唯一識別符及該資料檔案之位置(例如,一檔案系統、其中之一路徑及一檔案名稱)。資料檔案表375中所列出的一資料檔案385可能含有或可能不含有資料(例如,塊350)。資料檔案表375係儲存於(例如)一資料庫(未圖示)中。在一實施例中,資料檔案385係在需要其之前予以分配。在此實施例中,維持此等預先分配之資料檔案385之一清單(稱作一「自由清單」)。
塊表380儲存關於儲存於儲存管理器320中(具體言之,儲存於該一或多個資料檔案385中)之該一或多個塊350的資訊。在一實施例中,此資訊包括針對每一塊350的儲存於該塊中之中繼資料(於下文描述)及該塊之位置(例如,與儲存該塊之資料檔案相關聯之唯一識別符及在儲存該塊之檔案資料內之位置(例如,作為一偏移))。塊表380係儲存於(例如)一資料庫(未圖示)中。
一資料檔案385儲存多個塊350。在一實施例中,所有資料檔案係相同大小的(例如,1十億位元組)且按時間次序來組織。資料檔案385係儲存於(例如)一原始磁碟上或一諸如一檔案系統(未圖示)之資料儲存系統中。若資料檔案385係儲存於一原始磁碟上,則可較快地存取資料,因為不需要額外的間接層。又,可增強安全性。
通信機構330通信式地耦接事件接收器310與儲存管理器320。在一實施例中,通信機構330包括一部分公眾或完全公眾網路,諸如,網際網路。在其他實施例中,通信機構330包括一私用網路或一或多個相異或邏輯私用網路(例如,虛擬私用網路或區域網路)。至及自通信機構330之通信鏈路可為有線或無線的(例如,基於地面或衛星之收發器)。在一實施例中,通信機構330為一封包交換網路,諸如一使用乙太網路協定之基於IP之廣域或都會網路。
在另一實施例中,通信機構330位於一單一電腦系統本端(例如,若事件接收器310之一部分及儲存管理器320之一部分在同一器件上執行)。在此實施例中,通信機構330係(例如)經由一本端之唯軟體迴圈回器件實施。舉例而言,將資料複製至記憶體中之各位置,且經由一API發生通信。
在又一實施例中,通信機構330位於一單一處理程序本端(例如,若事件接收器310之一部分及儲存管理器320之一部分在同一器件上且在同一處理程序中執行)。在此實施例中,通信機構330係(例如)經由共用記憶體及/或其指標來實施。
5.初始儲存
圖4為說明一種根據本發明之一實施例之用於儲存日誌資料之方法的流程圖。在一實施例中,由事件接收器310(例如,其控制系統355)及儲存管理器320(例如,其控制系統370)聯合執行圖4之方法400。
在一實施例中,在方法400開始之前,初始化該緩衝器集合360及中繼資料結構365。舉例而言,控制系統355將適當之IndexID儲存於每一緩衝器中。控制系統355亦將與事件接收器310相關聯之唯一識別符儲存於中繼資料結構365中。
方法400在事件接收器310接收日誌資料340(410)時開始。在一實施例中,以流之形式接收日誌資料340。
控制系統355將該日誌資料分成一或多個事件(420)且判定每一事件何時由事件接收器310接收(420)。
控制系統355將該等事件剖析成其欄位值且將該等欄位值及接收時間儲存於適當緩衝器中(430)。控制系統355亦更新中繼資料結構365(430)。舉例而言,緩衝器中之事件的數目將增加。可能亦必須更新該或該等感興趣欄位之最小值及最大值。在一實施例中,同步化資料寫入操作與中繼資料寫入操作以避免發生系統損壞時的可能不一致性。舉例而言,使用一異動資料庫系統,以使得若將欄位值儲存於緩衝器360中,則即使基礎系統在該兩個步驟之間損壞,亦會保證中繼資料結構365得以相應地更新。
在某一時間(參見下文),控制系統355基於中繼資料結構365及緩衝器360之內容產生資料塊350(440)。具體言之,針對每一緩衝器產生一個塊。不同塊可具有不同大小。塊大小可歸因於(例如)儲存於一塊中之欄位值之類型(及應用於該等欄位值之壓縮演算法,於下文論述)及使該塊產生的觸發之類型(亦於下文論述)而不同。在一實施例中,可規定一最大塊大小。
在一實施例中,每一塊包括中繼資料結構365、相關聯緩衝器之內容、一塊識別符(ChunkID)、一條帶識別符(StripeID)及一索引位置識別符(IndexLocationID)集合。應注意,與一塊之中繼資料部分有關的感興趣欄位及與緩衝器相關聯之與一塊之「有效負載」部分有關的欄位不必為同一欄位。ChunkID相對於其他塊唯一地識別該塊。在塊之集合之間共用的StripeID用於使該等塊彼此相關聯(因為所有該等塊與同一事件集合有關)。當下一次控制系統355產生資料塊350(440)時,該等塊將與一不同事件集合有關,因此將使用一不同的StripeID。該IndexLocationID集合包括針對該緩衝器/塊中之每一欄位值的一個IndexLocationID。使用IndexLocationID來存取一不同塊中之一對應於同一事件的欄位值。在一實施例中,IndexLocationID包括StripeID及一偏移識別符(OffsetID)。OffsetID指示(一緩衝器/塊內的)哪一欄位值對應於所要事件。
在一實施例中,在將相關聯緩衝器360之內容儲存於塊350中之前將其壓縮。壓縮緩衝器內容使此做法成為資料之長期儲存之具成本效率之選擇。可使用任何資料壓縮演算法產生該等內容之壓縮版本。
在一實施例中,使用一欄類型特定壓縮演算法。舉例而言,一含有時間戳記的基於欄之塊(諸如,與ReceiptTime欄位相關聯之塊)可使用德耳塔編碼(delta encoding)。德耳塔編碼儲存相對於一先前值之差,而非儲存值自身。舉例而言,若原始值為一序列<88888123,88888125,88888126,88888127,88888128>,則德耳塔編碼將產生一序列<88888123,2,1,1,1>。作為另一實例,一低基數欄可使用通用串壓縮。產生一唯一的串符號表。儲存該符號表中的項目之索引,而非儲存串自身。舉例而言,若原始值為一序列<Success,Failure,Success,Failure,Success,Success,Failure>且符號表為<Success,Failure>,則通用串壓縮將產生一序列<0,1,0,1,0,0,1>。在另一實施例中,使用一不同的無損壓縮演算法,諸如,GNU壓縮(gzip)。
在一實施例中,塊350亦包括一「幻數」及一版本識別符。有時稱作檔案簽名之幻數為一短的位元組序列,其識別塊之資料類型。舉例而言,幻數在包括其他塊的其他資料及檔案格式上相當地唯一(亦即,具有一高機率之唯一)。因此,當讀取一塊時,容易判定該塊是否呈預期格式。若該塊之實際幻數不同於預期幻數,則該塊為「錯誤的」(例如,損毀的)。幻數藉此幫助偵測資料損毀且重新同步化資料塊邊界以尋回損毀之資料。(若實際幻數匹配預期幻數,則稍後在該塊中出現之資料仍可能為錯誤的。然而,匹配幻數針對大多數常見情況排除此可能性)。版本識別符致能已改變之資料及檔案格式之適應。舉例而言,當讀取一塊時,版本識別符可與幻數結合使用以指示關於資料或檔案格式之額外資訊。
在另一實施例(亦未圖示)中,控制系統355亦產生一緩衝器360之內容之一訊息摘要(message digest)。舉例而言,控制系統355將一加密雜湊函數應用於儲存於緩衝器360中之該等位元組。可使用任何加密雜湊函數,諸如,訊息摘要演算法5(MD5)或安全雜湊演算法族中之一演算法(例如,SHA-256)。在一實施例中,將摘要值儲存於塊350中。稍後可將此值用於判定儲存於該塊中之緩衝器資料(呈壓縮形式)是否已改變或經篡改。此藉由使該摘要值在事件已改變時變得明顯來幫助保證所儲存事件之完整性。又,當塊350到達儲存管理器320時,可將該摘要值與該塊之中繼資料一起儲存於塊表380中。因此,若該塊稍後在其被儲存於一資料檔案385中時被篡改(或損毀),則該經篡改塊之訊息摘要將不匹配先前儲存於塊表380中之訊息摘要。
接著重新初始化該緩衝器集合360及中繼資料結構365(440),藉此清空該等緩衝器360。在一實施例中,該緩衝器集合360包括額外緩衝器,其可用於當其他緩衝器充滿或正被清空時儲存傳入事件。
在一實施例中,當緩衝器360中之任一者充滿時執行(「觸發」)步驟440。在另一實施例中,當一特定時期(一「逾時窗」)已消逝時,執行(「觸發」)步驟440,在該特定時期期間,無事件由事件接收器310接收。
控制系統355將該等資料塊350發送至儲存管理器320(450)。
儲存管理器320接收該等塊350(460)。控制系統370將該等塊儲存於一或多個資料檔案385中(470)(參見下文)。在一實施例中,出於安全目的,在儲存一塊之前將其加密。控制系統370亦更新塊表380(470)。舉例而言,控制系統370將關於剛儲存於該或該等資料檔案385中之塊350之資訊添加至該表。
控制系統370以「附加」次序將塊350寫入於每一資料檔案385中。此寫入有時被稱為「僅寫一次日誌」。在一實施例中,該控制系統維持一指示一資料檔案內之一可寫入一塊的位置之「寫入指標」。在已將一塊寫入至一資料檔案之後,修改該寫入指標以指示同一資料檔案內之一位置(具體言之,在該剛寫入之塊的結束處)。若寫入一塊填滿一資料檔案,則修改該寫入指標以指示一可用於儲存塊之不同資料檔案內之一位置(具體言之,在開始處)。在一實施例(未圖示)中,塊寫入因為首先快取記憶體中之塊而推遲。接著將多個連續塊組合至一次寫入操作中以最佳化RAID 5磁碟儲存系統上之全條帶寫入。藉由使用諸如寫入之大的依序輸入操作,以一高速度、輸送量及同時性驅動硬體。
若存在一預先分配之資料檔案(例如,如上述自由清單中所列出),則控制系統370使用該資料檔案並將該資料檔案之唯一識別符自該自由清單移除(因為該資料檔案不再可用)。若不存在預先分配之資料檔案,則控制系統370藉由定位可用空間及更新資料檔案表375來建立一新資料檔案。舉例而言,控制系統370將關於該剛建立之新資料檔案385之資訊添加至該表。在一實施例中,指派給新資料檔案385之唯一識別符等於1與相關聯於最近分配之資料檔案385之唯一識別符之和。
方法400具有許多理想特性。舉例而言,該方法高度可縮放,因為其可支援接收極大量的每秒事件(EPS)。可使用多個事件接收器310,且事件資料之寫入係快的,因為其僅包括附加操作,而不包括尋覓操作。方法400亦以高可用性為特徵,因為其提供對資料之連續存取。刪除舊事件不會將儲存媒體片段化,此意謂不需要去片段化程序,且因此不需要維護窗。不需要用於清除任務之隱式停機時間。又,因為磁碟寫入操作係高效的,所以該等操作避免額外負擔以為處置查詢留下空間。
6.儲存空間重新取得
在某一時間(於下文論述),重新取得正由一或多個資料檔案385使用之儲存空間以供未來使用。圖5為說明一種根據一實施例之用於重新取得儲存空間之方法的流程圖。在一實施例中,由儲存管理器320(例如,其控制系統370)執行圖5之方法500。
識別與一特定保留原則(於下文描述)相關聯之最舊資料檔案385(510)。因為資料檔案具有基於單調增加之號碼之唯一識別符,所以容易查詢資料檔案表375以找到與該保留原則相關聯之最舊資料檔案(亦即,具有最低唯一識別符之資料檔案)。
自塊表380移除關於經識別資料檔案385中所含有之所有該等塊350之資訊(520)。
刪除資料檔案表375中之表示經識別資料檔案385之項目(530)。
在資料檔案表375中建立一新項目(540),其具有:a)一新唯一識別符,其為比最高所用資料檔案識別符高的資料檔案識別符;及b)一路徑屬性,其指代先前最舊資料檔案(亦即,在步驟510中識別之資料檔案)之實體位置。
將新近重新取得之資料檔案385添加至可用預先分配之資料檔案之清單中(550)且該新近重新取得之資料檔案385準備好接收新塊。
在所說明之實施例中,當一資料檔案之儲存空間被重新取得時,再循環(例如,重新使用或重寫)而非刪除該資料檔案。
儲存空間重新取得演算法之細節(包括,例如,何時執行該演算法及重新取得多少儲存空間)取決於與一資料檔案385相關聯之一保留原則。保留原則基於(例如)一磁碟空間使用臨限值或一保留一塊350之最大時間來限制該塊之保留。何時執行該儲存空間重新取得演算法之實例為:當與該原則相關聯之所有該等資料檔案充滿且不再可分配資料檔案(例如,因為無儲存空間剩下)時;當已達到一特定臨限值時(例如,根據為與該保留原則相關聯之資料檔案剩下的自由儲存空間之量);當一特定時期已消逝時;當存在與該原則相關聯之特定數目個資料檔案時;及當與該原則相關聯之一資料檔案中之最舊塊已達到一臨限使用期限時。在一實施例中,在重新取得一資料檔案之空間之前,將該資料檔案備份至另一系統上。以此方式,可使較多儲存空間可用,同時仍維持現有資料。
在一實施例中,所有資料檔案385與同一保留原則相關聯。在另一實施例中,存在多個保留原則,且每一資料檔案與該多個保留原則中之任一者相關聯。多個資料檔案可與同一保留原則相關聯。保留原則可由一使用者建立並修改。在一實施例中,儲存管理器320針對每一保留原則邏輯地維持上述之儲存空間重新取得演算法的一個執行個體。舉例而言,每一資料檔案385包括指示應用於該資料檔案之保留原則之中繼資料,且一塊係儲存於對應於該塊之保留原則之資料檔案中。
若存在多個保留原則,則稍微修改圖3中所示之系統170(未圖示)。具體言之,事件接收器310針對每一保留原則包括緩衝器之一個集合360及一個中繼資料結構365。在自一事件擷取欄位值並將該等欄位值儲存於該緩衝器集合中且更新該中繼資料結構(步驟430)之前,控制系統355判定應將哪一保留原則應用於該事件。此判定係基於(例如)該特定事件之一靜態映射或一屬性。可使用任何屬性,諸如,優先權或事件源。基於此判定,控制系統355將該等事件欄位值儲存於緩衝器之適當集合中並更新適當之中繼資料結構。因此,緩衝器之一特定集合中之所有事件欄位值將與同一保留原則相關聯。
由此可見,基於該緩衝器集合產生的基於欄之塊350將與同一保留原則相關聯。在將該等塊儲存於一資料檔案385中(步驟470)之前,控制系統370判定該等塊之保留原則並將該等塊儲存於與該原則相關聯之一資料檔案中。因此,一特定資料檔案中之所有塊將與同一保留原則相關聯。
或者,與不同緩衝器360相關聯之基於欄之塊可與不同保留原則相關聯,即使該等緩衝器在儲存來自同一事件集合之欄位值亦為如此。舉例而言,儲存較常被搜尋之欄位之塊可具有一不同於儲存較不常被搜尋之欄位之塊的保留原則。在此實施例中,一來自一第一事件之第一欄位值可與一第一保留原則相關聯,且一來自同一事件之第二欄位值可與一第二(不同)保留原則相關聯。
在一實施例中,每一保留原則具有其自己的資料檔案385群組。每一資料檔案以一唯一號碼標記。該號碼決定該等檔案在一個群組內之次序。該等資料檔案係以附加次序寫入。不更新檔案,且檔案被寫入一次且以唯附加(append-only)模式操作,該模式防止日誌資料被篡改。當一個保留群組內之所有檔案被填滿時,自該群組中之第一(亦即,最舊)檔案重新取得儲存空間。在一實施例中,針對每一保留原則維持一獨立資料檔案表375,其含有已分配給該保留原則的資料檔案385之項目。若維持一自由清單,則不管存在多少保留原則,亦僅一個自由清單用於整個儲存管理器320。
7.查詢/資料擷取
回憶起一基於列之塊含有關於一事件集合之完整資訊。具有來自同一事件集合之欄位值的一基於欄之塊為該基於列之塊中所含有的該資訊之一子集。因為基於欄之塊含有比基於列之塊少的資訊,所以將基於欄之塊(例如,自一資料檔案)載入至記憶體中並搜尋基於欄之塊亦較快。因此,若一搜尋查詢項與基於欄之塊之欄位有關,則搜尋基於欄之塊比搜尋基於列之塊快。因為基於欄之塊參與搜尋,所以其有時被稱為「搜尋索引」或簡單地稱為「索引」。
在已將一塊350儲存於一資料檔案385中之後,可查詢該塊內之欄位值。可單獨地或作為處置一交互式搜尋或產生一報告之部分而執行查詢。將查詢表示為一可針對一事件進行評估之表式。該表式包括一或多個搜尋項。搜尋項與一事件之內容(具體言之,一特定欄位及該欄位之值)有關。舉例而言,搜尋項「TransportProtocol=TCP」與TransportProtocol欄位及等於「TCP」的欄位之值有關。作為另一實例,搜尋項「Priority contains'High'」與Priority欄位及等於「'High'」的欄位之值有關。一種常見類型之搜尋項包括一時間戳記欄位(例如,EventReceipt)及一時期(例如,一開始時間及一結束時間)。執行一搜尋查詢之結果常為一或多個事件之集合。舉例而言,搜尋查詢「select*from events where TransportProtocol=TCP」將傳回一事件集合,其中之每一者在其TransportProtocol欄位中具有一值「TCP」。
在一實施例中,在多個階段中發生該查詢程序。第一階段基於「感興趣欄位」資訊(當儲存於一塊之中繼資料中時)篩選資料塊350。第二階段基於欄位值(當儲存於一塊之「有效負載」中時)篩選資料塊350。第三階段組譯滿足該查詢之該等事件。第一階段因此充當用於識別哪些資料塊(及其對應事件)應加以進一步調查及哪些資料塊(及其對應事件)應被忽略之一「粗選(rough cut)」。在大多數情況下,當查詢或擷取事件時,不考慮指派給一塊之保留原則,因為對將哪一保留原則應用於一含有一事件之塊不感興趣。
在第一階段中,識別該查詢內之與中繼資料結構365中所含有之資訊有關的搜尋項(當該等事件欄位值儲存於緩衝器360中而非作為一資料塊350之部分儲存於一資料檔案385中時返回)。此中繼資料資訊包括相關聯事件接收器之唯一識別符及針對每一感興趣欄位之一最小值及一最大值,該最小值及該最大值一起反映多個事件(最初,欄位值儲存於同一緩衝器中之事件;稍後,欄位值儲存於同一資料塊中之事件)的該欄位之值的範圍。回憶起該中繼資料資訊係作為一塊150之部分傳輸至儲存管理器320。接著,將該中繼資料資訊儲存於塊表380中。因此,為了基於此中繼資料搜尋該等事件,使用「中繼資料搜尋項」來搜尋塊表380。此將產生哪些塊(若存在)可含有一滿足該等中繼資料搜尋項之事件。以此方式,可基於事件接收器及/或感興趣欄位之特定值(或值的範圍)來約束一搜尋(因為此等值係儲存於塊表380中之中繼資料中)。
因為將「感興趣欄位」中繼資料表示為值之一範圍,所以一塊滿足一中繼資料搜尋項的事實未必意謂著該塊含有一滿足該中繼資料搜尋項之事件。舉例而言,若該中繼資料搜尋項為一欄位值10且該塊含有欄位值分別為5及15之事件,則10將落入該範圍內,且將該塊識別為滿足該中繼資料搜尋項。然而,該塊可能不含有一具有一欄位值10之事件。(此係在多個階段中發生查詢的原因)。然而,始終成立的是,若一塊可能含有一滿足搜尋項之事件,則將該塊識別為滿足搜尋項。
在第二階段中,基於欄位值(當儲存於一塊之「有效負載」中時)進一步篩選由第一階段識別之資料塊350。具體言之,識別該查詢內之與值係儲存於一基於欄之塊350中之欄位(亦即,「經索引」欄位)有關的搜尋項。舉例而言,若一搜尋項與SourceIPAddress欄位有關,則識別與SourceIPAddress欄位相關聯之一基於欄之塊。(此識別可藉由檢查該塊之IndexID來進行)。接著在該經識別塊內搜尋該搜尋項之請求值(例如,一特定IP位址)。若該塊之有效負載部分(亦即,欄位值之集合)呈壓縮格式,則在關於該搜尋項之請求值搜尋該有效負載部分之前將該部分解壓縮。
在第三階段中,組譯滿足該查詢之該等事件。繼續先前實例,假設已識別與SourceIPAddress欄位相關聯之一特定的基於欄之塊。進一步假設,已識別該塊內之一特定欄位值項目匹配該搜尋項之請求值。該特定欄位值項目與一IndexLocationID相關聯。現使用該IndexLocationID獲得該事件之剩餘欄位值。
回憶起該IndexLocationID包括一StripeID及一OffsetID。StripeID用於識別與同一事件集合有關的其他基於欄之塊。(在一實施例中,儲存管理器320維持StripeID至與該StripeID相關聯之ChunkID的清單之一映射)。一旦識別彼等其他基於欄之塊,即使用OffsetID獲得適當欄位值(亦即,屬於與基於SourceIPAddress欄位識別之事件相同的事件之彼等欄位值)。
作為一實例,考慮一事件集合,其中之每一者包括一DeviceVendor欄位、一TransportProtocol欄位及一Priority欄位。搜尋查詢「select*from events where TransportProtocol=TCP and Priority='Very High'」將傳回一事件集合,其中之每一者在其TransportProtocol欄位中具有一值「TCP」且在其Priority欄位中具有一值「'Very High'」。搜尋查詢「select DeviceVendor from events where TransportProtocol=TCP and Priority='Very High'」將僅傳回來自該事件集合之DeviceVendor欄位值(該事件集合中之每一事件在其TransportProtocol欄位中具有一值「TCP」且在其Priority欄位中具有一值「'Very High'」)。
假設DeviceVendor、TransportProtocol及Priority不為「感興趣欄位」(且因此不具有儲存於任何塊之中繼資料部分中的值範圍)。一種用以執行此查詢之方式如下所述:1)識別與TransportProtocol欄位相關聯之基於欄之塊。搜尋欄位值等於「TCP」之彼等塊。對於每一匹配欄位值,儲存相關聯IndexLocationID。2)識別與Priority欄位相關聯之基於欄之塊。搜尋欄位值等於「'Very High'」之彼等塊。對於每一匹配欄位值,儲存相關聯IndexLocationID。3)判定儲存於(1)中之該等IndexLocationID與儲存於(2)中之該等IndexLocationID的交集(亦即,判定哪些IndexLocationID儲存於(1)與(2)兩者中)。4)識別與DeviceVendor欄位相關聯之基於欄之塊。對於(3)中之每一IndexLocationID,判定對應欄位值並傳回該值以作為搜尋結果之部分。
在一實施例(未圖示)中,以一特定次序分析該等事件。舉例而言,以升序(亦即,最舊事件最先)或降序(最新事件最先)基於事件之事件接收時間分析該等事件。以一特定次序分析事件及將匹配事件附加至搜尋結果意謂著搜尋結果中之該等事件已呈該特定次序。不需要對該等事件排序。
在第一階段中,可能無搜尋項與中繼資料結構365中所含有之資訊有關。若發生此情況,則將所有塊350識別為可能含有一滿足該等中繼資料搜尋項之事件欄位值(因為中繼資料搜尋項不存在)。
以上演算法搜尋儲存於塊350中之事件欄位值。然而,日誌記錄系統170可將尚未儲存於一塊中之額外事件欄位值包含於事件接收器310中(例如,包含於該緩衝器集合360內)。上文之演算法將不搜尋此等事件欄位值。在一實施例中,在執行演算法之前,清空該緩衝器集合360,以使得該等事件欄位值將被發送至儲存管理器320並儲存於一塊中。因此,當執行演算法時,亦將搜尋原先在該緩衝器集合中的該等事件欄位值。在另一實施例中,類似於上文所述之演算法,使用中繼資料結構365及該緩衝器集合360之內容在事件接收器310上執行一獨立搜尋。因此,將搜尋所有事件欄位值,而不管其是儲存於儲存管理器320中或是儲存於事件接收器310中。
圖6為說明一種根據一實施例之用於查詢之方法的流程圖。在一實施例中,由儲存管理器320(例如,其控制系統370)執行圖6之方法600。在方法600開始之前,接收一搜尋查詢。該搜尋查詢包括一或多個搜尋項。
識別(該接收到的搜尋查詢內之)任何中繼資料搜尋項(610)。
使用該等經識別中繼資料搜尋項搜尋塊表380(620)。回憶起塊表380中之每一項目對應於一塊350,且一項目包括儲存於該塊中之中繼資料及該塊之位置。使用該等經識別中繼資料搜尋項搜尋塊表380之中繼資料部分。
使用該塊之位置(其儲存於塊表380中)擷取中繼資料滿足該等中繼資料搜尋項之每一塊350(630)。
識別(該接收到的搜尋查詢內之)任何經索引搜尋項(640)。
(自在步驟630中擷取之塊中)識別與該等經索引搜尋項相關聯之任何塊(650)。
使用該等經識別之經索引搜尋項搜尋在步驟640中識別的該等塊之有效負載部分(660)。
組譯滿足該搜尋查詢之事件(670)。當一塊之有效負載部分中之一欄位值項目匹配該搜尋項時,判定該項目之IndexLocationID並將其用於存取該匹配事件之剩餘欄位之欄位值項目。
8.額外實施例:封存
在一實施例中,日誌記錄系統170支援針對資料檔案385之封存功能性。舉例而言,可將一資料檔案385匯入至日誌記錄系統170中及匯出至日誌記錄系統170外。作為另一實例,可將一資料檔案385備份至另一系統上且稍後將該資料檔案恢復至日誌記錄系統170中。因為事件係儲存於塊中且塊係儲存於資料檔案中,所以事件可容易地傳送至近線或離線儲存空間。在一實施例中,基於封存準則自動地封存一資料檔案,該封存準則可類似於用於查詢之準則(例如,儲存於在該資料檔案內之塊之中繼資料結構中的資訊之值)。在另一實施例中,手動地(例如,回應於一使用者命令)封存一資料檔案。
9.基於列之塊結合基於欄之塊
A.儲存
'078號申請案描述僅使用基於列之塊儲存事件資料。上文中,本申請案描述僅使用基於欄之塊儲存事件資料。一第三類型之事件儲存使用基於列之塊及基於欄之塊兩者。此類型之事件儲存將一事件儲存兩次:一次使用一基於列之塊且一次使用一或多個基於欄之塊。舉例而言,可將一事件集合儲存為一個基於列之塊。亦可將此等事件之欄位值儲存為基於欄之塊(每一欄位一個基於欄之塊)。
回憶起基於列之儲存係寫入最佳化的,而基於欄之儲存係讀取最佳化的。使用基於列之塊及基於欄之塊兩者儲存一事件之優點在於此等最佳化兩者均可得到。基於列之塊寫入較快,因此使用該架構使得能夠較迅速地儲存一事件。基於欄之塊讀取較快,因此使用該架構使得能夠較迅速地讀取(例如,查詢)一事件。
在一實施例中,在使用基於列之塊及基於欄之塊兩者時,基於列之塊的產生及儲存及基於欄之塊的產生及儲存不作為同一異動之部分執行。若事件係以一極高速率接收,則基於欄之塊的產生及儲存(「索引」)可落在基於列之塊的產生及儲存之後。無資料因索引之成本(例如,時間成本)被丟棄或延遲。應注意,即使索引落在基於列之塊的產生及儲存之後,使用者仍可使用該等基於列之塊查詢所有事件資料。
又,基於列之塊及基於欄之塊可與不同保留原則相關聯。舉例而言,儲存一事件集合的一基於列之塊可與一第一保留原則相關聯,且儲存同一事件集合的基於欄之塊可與一第二保留原則(或多個保留原則,如上所述)相關聯。只要基於列之塊存在,接著便可在必要時重新建立基於欄之塊。同樣地,只要基於欄之塊存在,接著便可在必要時重新建立基於列之塊。大體而言,將一事件集合儲存於多個基於欄之塊中所需的空間比將一事件集合儲存於一個基於列之塊中所需的空間要少。因此,在一實施例中,基於欄之塊儲存得比基於列之塊長(例如,對於同一事件集合)。
若使用基於列之塊及基於欄之塊兩者,則此未必意謂事件之所有欄(欄位)必須儲存於基於欄之塊中。考慮使用一基於列之塊儲存的一事件集合。替代將該等事件之所有該等欄儲存為基於欄之塊,僅選定欄係以此方式儲存。因為基於欄之塊查詢較快,所以可能僅將最頻繁查詢之欄儲存為基於欄之塊。應注意,即使剩餘欄未被儲存為基於欄之塊,但該等欄之欄位值仍可藉由使用基於列之塊來查詢,因為基於列之塊包括所有事件資料。
由此可見,一種用以最佳化對儲存為基於列之塊的事件之查詢之方式為針對最頻繁查詢之事件欄位建立基於欄之塊。可在事件儲存程序中之任一時間發生此等基於欄之塊之建立。舉例而言,'078號申請案描述儲存基於列之塊之資料檔案。可自該等所儲存之基於列之塊擷取事件且接著將其用於建立一或多個基於欄之塊。(應注意,若須要,可將來自多個基於列之塊的一欄之欄位值儲存於一個基於欄之塊中)。或者,當儲存管理器首先接收一塊並將該塊載入至記憶體中時,該管理器可建立一或多個基於欄之塊。因此,不必自一所儲存之基於列之塊擷取該等事件且稍後將該等事件載入至記憶體中。如上所述,另一可能性為使事件接收器建立基於欄之塊。或者,發送至事件接收器之日誌資料可能已呈基於欄之格式。
上述四種儲存類型(僅列、僅欄、列及所有欄與列及選定欄)並非互斥的。一日誌記錄系統可使用所有四種儲存類型。舉例而言,一事件集合可使用一基於列之塊儲存一第一事件集合,可使用基於欄之塊儲存一第二事件集合,可使用基於列之塊及基於欄之塊(針對所有欄)兩者儲存一第三事件集合,且可使用基於列之塊及基於欄之塊(針對選定欄)兩者儲存一第四事件集合。哪種儲存策略最佳視情況而定。雖然基於列之塊建立較快,但基於欄之塊查詢較快。
在一實施例中,基於何時接收到一事件來選擇儲存架構。舉例而言,使用基於列之塊及基於欄之塊(針對所有欄)兩者來儲存最近(諸如在過去的30天內)接收到的事件。僅使用基於列之塊(或僅使用基於欄之塊)來儲存較舊事件。若先前使用基於列之塊及基於欄之塊(針對所有欄)兩者來儲存較舊事件,則該等基於列之塊及該等基於欄之塊含有相同資訊,因此可刪除其中的任一者。若先前使用基於列之塊及基於欄之塊(針對選定欄)兩者來儲存較舊事件,則該等基於列之塊及該等基於欄之塊不含有相同資訊,且刪除該等基於列之塊將導致資訊丟失。在此情況下,刪除該等基於欄之塊可能較佳(因為該等塊所含有之資訊係冗餘的)。
在另一實施例中,基於接收到事件之事件接收器來選擇儲存架構。舉例而言,使用基於列之塊及基於欄之塊兩者來儲存由一第一接收器接收到的事件。僅使用基於列之塊(或僅使用基於欄之塊)來儲存由一第二接收器接收到的事件。
在一實施例中,日誌記錄系統170之初始化包括規定一儲存策略(例如,僅列、僅欄、列及所有欄或列及選定欄)及何時應使用該策略(例如,基於事件接收時間落入一時期內或基於事件由一特定事件接收器接收)。在另一實施例中,可在任何時間改變該儲存策略(及/或何時應使用該策略)。
B.查詢/資料擷取
'078號申請案描述關於僅使用基於列之塊儲存的事件資料之查詢及資料擷取。為了執行一查詢,識別可能含有一滿足該查詢之事件的資料塊。具體言之,識別該查詢內之含有中繼資料結構中所含有之資訊的搜尋項。使用該等「中繼資料搜尋項」來搜尋該塊表。以此方式,可基於中繼資料中所儲存之資訊的特定值來約束一搜尋。將該等經識別塊反向組譯(disassemble)成其成分事件。識別滿足該查詢之事件。
上文中,本申請案描述關於僅使用基於欄之塊儲存的事件資料之查詢及資料擷取。為了執行一查詢,首先基於「感興趣欄位」資訊(當儲存於一塊之中繼資料中時)篩選資料塊。接著基於欄位值(當儲存於一塊之「有效負載」時)篩選剩餘塊。最後,逐個欄位地組譯滿足該查詢之該等事件。
回憶起一基於欄之塊包括一索引位置識別符(IndexLocationID)集合。該IndexLocationID集合包括用於該塊中之每一欄位值的一個IndexLocationID。使用IndexLocationID來存取一不同塊中之一對應於同一事件的欄位值。當僅存在基於欄之塊時,使用IndexLocationID(逐個欄位地)編譯滿足一搜尋查詢之事件。
當存在基於列之塊及基於欄之塊兩者時,不必逐個欄位地組譯滿足一搜尋查詢之事件。實情為,可自對應的基於列之塊完整地獲得該等事件。具體言之,一基於欄之塊使用一「表位置識別符」(TableLocationID)間接地參考其相關聯之基於列之塊。在一實施例中,將一表位置識別符(TableLocationID)集合識別為其自身的基於欄之塊。該塊中之每一TableLocationID對應於一特定事件。TableLocationID包括一基於列之塊識別符(RBChunkID)及一基於列之塊偏移識別符(RBChunkOffsetID)。RBChunkID指示哪一基於列之塊含有與TableLocationID相關聯之事件。RBChunkOffsetID指示該事件(在基於列之塊內)於何處開始。只要產生基於欄之塊的集合(例如,基於一現有基於列之塊或藉由一事件接收器,如上文關於步驟440所描述),亦會產生一TableLocationID基於欄之塊。稍後,當執行一查詢且在此等基於欄之塊中找到一匹配欄位值時,使用相關聯的IndexLocationID(具體言之,OffsetID)自TableLocationID基於欄之塊存取適當之TableLocationID。以此方式,單一查詢可使用基於列之儲存及基於欄之儲存兩者。
僅描述了三種不同的查詢執行策略:僅列、僅欄與列及欄。一查詢最佳化器判定應將哪一執行策略用於一特定查詢。具體言之,該查詢最佳化器核算針對每一執行策略之一「總成本」且接著選擇具有最低成本之策略。(在一實施例中,該查詢最佳化器僅考慮僅欄策略與列及欄策略,因為僅列策略之成本可能最高)。一執行策略之總成本隨諸如CPU成本及輸入/輸出(I/O)成本之不同子成本(sub-cost)而變。該等子成本又隨該查詢之預測之選擇性及該查詢中所包括的欄(欄位)之數目(預測及所要搜尋結果兩者)而變。基於關於過去事件之欄位之統計資訊估計該選擇性。舉例而言,關於一欄位上的資料分布之資訊係由將關於一欄位之值分成k 個桶的一直方圖提供。
大體而言,選擇性愈低,該查詢最佳化器愈可能選擇僅欄策略。選擇性愈高,該查詢最佳化器愈可能選擇列及欄策略。又,欄之數目愈低,該查詢最佳化器愈可能選擇僅欄策略。欄之數目愈高,該查詢最佳化器愈可能選擇列及欄策略。
一搜尋查詢可能不請求滿足該查詢之事件之所有欄位。在此情況下,可如上所述地完整地獲得事件(使用TableLocationID及基於列之塊),且接著可在產生搜尋結果之前將不必要之欄位移除。若該搜尋查詢請求許多欄位,則此做法可能比獲得與一不同基於欄之塊分離之每一欄位快。
回憶起搜尋一基於欄之塊比搜尋一基於列之塊快。考慮與一特定事件欄位有關的一搜尋查詢項。若該欄位與一現有的基於欄之塊相關聯,則關於該所要欄位值搜尋該基於欄之塊。若不存在該基於欄之塊,則改為搜尋適當的基於列之塊。或者,可(基於該基於列之塊)建立基於欄之塊且接著加以搜尋。當將必須關於若干事件搜尋相同欄位時,建立基於欄之塊可能較佳。
C.額外實施例
在一實施例中,若使用基於列之塊及基於欄之塊兩者,則基於欄之塊產生器(「索引器」)支援檢查點尋回。具體言之,在系統損壞之情況下,該索引器可尋回最後的檢查點並自其重新開始。檢查點間隔係可組態的。該間隔愈長,該索引器之效能愈高(例如,用以產生基於欄之塊的速度愈高),但損壞尋回時間愈長。在檢查點階段期間,該索引器存留最後掃描之TableLocationID及最後建立之IndexLocationID。在尋回階段期間,該索引器在存留之TableLocationID及IndexLocationID開始且繼續索引該表中之任何剩餘資料。
可對基於列之儲存及/或基於欄之儲存執行封存。用於自動封存之封存準則在基於列之儲存與基於欄之儲存之間可不同。
包括以上描述以說明較佳實施例之操作且不意欲限制本發明之範疇。本發明之範疇僅由下文申請專利範圍限制。自上文論述,已由本發明之精神及範疇涵蓋之許多變化對熟習此項技術者而言將為顯而易見的。
100...安全資訊/事件管理(SIEM)系統
110...資料源
120...代理程式
130...管理器
140...資料庫
150...線上封存檔
160...使用者介面
170...日誌記錄系統
200...電腦
202...處理器
204...匯流排
206...記憶體
208...儲存器件
210...鍵盤
212...圖形配接器
214...指標器件
216...網路配接器
218...顯示器
310...事件接收器
320...儲存管理器
330...通信機構
340...日誌資料
350...資料塊
355...控制系統
360...緩衝器集合
365...中繼資料結構
370...控制系統
375...資料檔案表
380...塊表
385...資料檔案
圖1為說明根據一實施例之具有一安全資訊/事件管理系統之一環境的方塊圖。
圖2為說明根據一實施例之用於充當一安全資訊/事件管理系統之一日誌記錄系統之一電腦的方塊圖。
圖3為說明根據一實施例之一安全資訊/事件管理系統之一日誌記錄系統的方塊圖。
圖4為說明一種根據一實施例之用於儲存日誌資料之方法的流程圖。
圖5為說明一種根據一實施例之用於重新取得儲存空間之方法的流程圖。
圖6為說明一種根據一實施例之用於查詢之方法的流程圖。
諸圖僅出於說明目的描繪一實施例。熟習此項技術者將容易自上文描述認識到,在不脫離本文中所描述之原理的情況下,可使用本文中所說明之結構及方法之替代實施例。
(無元件符號說明)

Claims (27)

  1. 一種用於處理日誌資料之方法,其包含:接收包含複數個事件之日誌資料,其中一事件包括一欄位集合,且其中一欄位儲存一值;及針對該等複數個事件中之每一事件:將該事件儲存於一緩衝器集合中,其中該事件之每一欄位值儲存於一不同緩衝器中;識別儲存於該事件之一第一欄位中之第一值;識別一第一最小值,其指示儲存於該等緩衝器之所有該等事件之該第一欄位之一最小值,其中該第一最小值係儲存於一中繼資料結構內,該中繼資料結構包含有關該等緩衝器之內容的資訊;判定該第一最小值是否超過該第一值;以及響應於判定該第一最小值超過該第一值,藉由以該第一值取代該第一最小值來更新該中繼資料結構。
  2. 如請求項1之方法,其中關於該等緩衝器之內容之資訊進一步包括:指示儲存於該等緩衝器中的所有該等事件之該第一欄位之一最大值的一第一最大值。
  3. 如請求項1之方法,其中關於該等緩衝器之內容之資訊進一步包括:指示儲存於該等緩衝器中的所有該等事件之一第二欄位之一最小值的一第二最小值。
  4. 如請求項1之方法,其中關於該等緩衝器之內容之資訊 進一步包括:儲存於該等緩衝器中的事件之一數目。
  5. 如請求項1之方法,其進一步包含:回應於一第一觸發條件,針對該緩衝器集合中的每一緩衝器產生一個資料塊,其中該資料塊基於該中繼資料結構之內容且進一步基於該緩衝器之內容。
  6. 如請求項5之方法,其中該第一觸發條件係基於一緩衝器使用臨限值或基於一逾時窗。
  7. 如請求項5之方法,其進一步包含:回應於一第二觸發條件,重新取得由該等資料塊中之一者使用之儲存空間。
  8. 如請求項7之方法,其中該第二觸發條件係基於與該資料塊相關聯之一保留原則。
  9. 如請求項7之方法,其中該第二觸發條件係基於一磁碟空間使用臨限值或基於一保留該資料塊之最大時間。
  10. 如請求項5之方法,其進一步包含:回應於一第二觸發條件,封存該等資料塊中之一者。
  11. 如請求項10之方法,其中該第二觸發條件係基於與該資料塊相關聯之封存準則。
  12. 如請求項10之方法,其中該第二觸發條件包含一使用者命令。
  13. 如請求項1之方法,其進一步包含:針對該複數個事件中之每一事件:判定何時接收到該事件;及 將指示何時接收到該事件之一時間戳記儲存於一額外緩衝器中。
  14. 如請求項1之方法,其進一步包含針對該緩衝器集合中之每一緩衝器產生一個資料塊,其中該資料塊包括該中繼資料結構之內容及該緩衝器之內容之一壓縮版本。
  15. 如請求項14之方法,其中該資料塊進一步包括一檔案簽名或一版本識別符。
  16. 如請求項14之方法,其中該資料塊進一步包括該緩衝器之內容之一訊息摘要。
  17. 如請求項14之方法,其進一步包含:接收包括一或多個搜尋項之一集合之一搜尋查詢;自該搜尋項集合識別與該中繼資料結構中所含有之資訊有關的一或多個第一搜尋項;及藉由針對每一資料塊比較該等經識別第一搜尋項與包括於該資料塊內的該中繼資料結構之內容來搜尋一或多個資料塊。
  18. 如請求項17之方法,其進一步包含:針對滿足該等經識別第一搜尋項之每一資料塊:自該搜尋項集合識別關係到相關聯於與該資料塊相關聯之該緩衝器之欄位的一或多個第二搜尋項;比較該等經識別第二搜尋項與包括於該資料塊內的該緩衝器之內容之一未壓縮版本。
  19. 如請求項18之方法,其進一步包含: 針對滿足該等經識別第二搜尋項之每一欄位值:識別與該欄位值相關聯之一索引位置識別符;針對該緩衝器集合中之每一緩衝器:存取與該緩衝器相關聯之該資料塊;及識別該資料塊中之匹配該索引位置識別符之一欄位值;及將該等經識別欄位值組譯成一事件。
  20. 一種用於處理日誌資料之電腦程式產品,該電腦程式產品包含一含有用於執行一方法之電腦程式碼之機器可讀儲存媒體,該方法包含:接收包含複數個事件之日誌資料,其中一事件包括一欄位集合,且其中一欄位儲存一值;及針對該等複數個事件中之每一事件:將該事件儲存於一緩衝器集合中,其中該事件之每一欄位值儲存於一不同緩衝器中;識別儲存於該事件之一第一欄位中之第一值;識別一第一最小值,其指示儲存於該等緩衝器之所有該等事件之該第一欄位之一最小值,其中該第一最小值係儲存於一中繼資料結構內,該中繼資料結構包含有關該等緩衝器之內容的資訊;判定該第一最小值是否超過該第一值;以及響應於判定該第一最小值超過該第一值,藉由以該第一值取代該第一最小值來更新該中繼資料結構。
  21. 一種用於處理日誌資料之系統,其包含:一含有用於執行一方法之電腦程式碼之機器可讀儲存媒體,該方法包含:接收包含複數個事件之日誌資料,其中一事件包括一欄位集合,且其中一欄位儲存一值;及針對該複數個事件中之每一事件:將該事件儲存於一緩衝器集合中,其中該事件之每一欄位值儲存於一不同緩衝器;識別儲存於該事件之一第一欄位中之第一值;識別一第一最小值,其指示儲存於該等緩衝器之所有該等事件之該第一欄位之一最小值,其中該第一最小值係儲存於一中繼資料結構內,該中繼資料結構包含有關該等緩衝器之內容的資訊;判定該第一最小值是否超過該第一值;以及響應於判定該第一最小值超過該第一值,藉由以該第一值取代該第一最小值來更新該中繼資料結構;及一處理器,其經組態以執行由該機器可讀媒體儲存之該電腦程式碼。
  22. 一種用於處理事件之方法,其中一事件包括多個欄位,且其中一欄位儲存一值,該方法包含:接收一事件集合;產生包括該事件集合及關於該事件集合之中繼資料的一基於列之塊;及 產生包括關於該事件集合之中繼資料及針對該事件集合中之每一事件的唯一特定欄位之一值的一基於欄之塊,其中關於該事件集合之該中繼資料包括指示該事件集合中之所有該等事件的一第一欄位之一最小值的一第一最小值。
  23. 如請求項22之方法,其進一步包含產生包括關於該事件集合之中繼資料及針對該事件集合中之每一事件的唯一額外欄位之一值的一第二基於欄之塊。
  24. 一種用於處理事件之方法,其中一事件包括多個欄位,且其中一欄位儲存一值,該方法包含:接收一第一事件集合;產生包括該第一事件集合及關於該第一事件集合之中繼資料的一基於列之塊,其中關於該第一事件集合之該中繼資料包括指示該第一事件集合中之所有該等事件的一第一欄位之一最小值的一第一最小值;接收一第二事件集合;及產生包括關於該第二事件集合之中繼資料及關於該第二事件集合中之每一事件的唯一特定欄位之一值的一基於欄之塊,其中關於該第二事件集合之該中繼資料包括指示該第二事件集合中之所有該等事件的一第二欄位之一最小值的一第二最小值。
  25. 如請求項24之方法,其中關於該第一事件集合之該中繼資料進一步包括:指示該第一事件集合中之所有該等事 件的該第一欄位之一最大值的一第一最大值。
  26. 如請求項24之方法,其中關於該第一事件集合之該中繼資料進一步包括:指示該第一事件集合中之所有該等事件的一第三欄位之一最小值的一第三最小值。
  27. 如請求項24之方法,其進一步包含產生包括關於該第二事件集合之中繼資料及針對該第二事件集合中之每一事件的唯一額外欄位之一值的一第二基於欄之塊,其中關於該第二事件集合之該中繼資料包括指示該第二事件集合中之所有該等事件的一第二欄位之一最小值的一第二最小值。
TW098130163A 2008-09-05 2009-09-07 當支援查詢時有效地儲存日誌資料 TWI406152B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US9476208P 2008-09-05 2008-09-05
PCT/US2009/056090 WO2010028279A1 (en) 2008-09-05 2009-09-04 Storing log data efficiently while supporting querying
US12/554,541 US9166989B2 (en) 2006-12-28 2009-09-04 Storing log data efficiently while supporting querying

Publications (2)

Publication Number Publication Date
TW201015371A TW201015371A (en) 2010-04-16
TWI406152B true TWI406152B (zh) 2013-08-21

Family

ID=41797521

Family Applications (1)

Application Number Title Priority Date Filing Date
TW098130163A TWI406152B (zh) 2008-09-05 2009-09-07 當支援查詢時有效地儲存日誌資料

Country Status (5)

Country Link
US (2) US9166989B2 (zh)
EP (1) EP2340476A4 (zh)
CN (1) CN102239472B (zh)
TW (1) TWI406152B (zh)
WO (1) WO2010028279A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI735845B (zh) * 2018-04-04 2021-08-11 開曼群島商創新先進技術有限公司 資料同步的方法、裝置及設備
TWI798743B (zh) * 2021-01-21 2023-04-11 瑞昱半導體股份有限公司 用來進行多系統日誌存取管理之方法、系統單晶片積體電路以及非暫態計算機可讀取媒體

Families Citing this family (177)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003207495A1 (en) * 2002-01-08 2003-07-24 Seven Networks, Inc. Connection architecture for a mobile network
US8438633B1 (en) 2005-04-21 2013-05-07 Seven Networks, Inc. Flexible real-time inbox access
WO2006136660A1 (en) 2005-06-21 2006-12-28 Seven Networks International Oy Maintaining an ip connection in a mobile network
KR101451640B1 (ko) * 2006-12-28 2014-10-16 휴렛-팩커드 디벨롭먼트 컴퍼니, 엘.피. 컴퓨터 네트워크 보안을 보조하기 위한, 로그 데이터의 효과적인 저장과 질의의 지원
US8805425B2 (en) * 2007-06-01 2014-08-12 Seven Networks, Inc. Integrated messaging
US9002828B2 (en) * 2007-12-13 2015-04-07 Seven Networks, Inc. Predictive content delivery
WO2013081650A1 (en) 2011-11-28 2013-06-06 Hewlett-Packard Development Company, L. P. Clustering event data by multiple time dimensions
US8862657B2 (en) 2008-01-25 2014-10-14 Seven Networks, Inc. Policy based content service
US20090193338A1 (en) 2008-01-28 2009-07-30 Trevor Fiatal Reducing network and battery consumption during content delivery and playback
US9251212B2 (en) * 2009-03-27 2016-02-02 Business Objects Software Ltd. Profiling in a massive parallel processing environment
US9667269B2 (en) 2009-04-30 2017-05-30 Oracle International Corporation Technique for compressing XML indexes
US8645337B2 (en) * 2009-04-30 2014-02-04 Oracle International Corporation Storing compression units in relational tables
US8762348B2 (en) * 2009-06-09 2014-06-24 Emc Corporation Segment deduplication system with compression of segments
US8731190B2 (en) 2009-06-09 2014-05-20 Emc Corporation Segment deduplication system with encryption and compression of segments
US8024462B1 (en) * 2009-10-05 2011-09-20 Mcafee, Inc. System, method, and computer program product for preventing communication of unwanted network traffic by holding only a last portion of the network traffic
EP2499562A4 (en) * 2009-11-09 2016-06-01 Arcsight Inc POSSIBILITY OF FASTER FULL TEXT SEARCH USING A STRUCTURED DATA CENTER
US8832142B2 (en) 2010-08-30 2014-09-09 Oracle International Corporation Query and exadata support for hybrid columnar compressed data
US8548986B2 (en) 2010-03-19 2013-10-01 Microsoft Corporation Adaptive row-batch processing of database data
EP2577545A4 (en) 2010-05-25 2014-10-08 Hewlett Packard Development Co SAFETY EVENTS ASSOCIATED SAFETY IDENTIFICATION DETECTION AND ACTUATOR CATEGORY MODEL
CN102300165B (zh) * 2010-06-24 2014-08-20 中兴通讯股份有限公司 一种多周期多用户的快速定位方法和装置
US9384112B2 (en) 2010-07-01 2016-07-05 Logrhythm, Inc. Log collection, structuring and processing
US8838783B2 (en) 2010-07-26 2014-09-16 Seven Networks, Inc. Distributed caching for resource and mobile network traffic management
EP2599003B1 (en) 2010-07-26 2018-07-11 Seven Networks, LLC Mobile network traffic coordination across multiple applications
US9191323B2 (en) 2010-09-03 2015-11-17 Tibco Software Inc. Adaptive data transmission
US9152683B2 (en) * 2010-10-05 2015-10-06 International Business Machines Corporation Database-transparent near online archiving and retrieval of data
WO2012060995A2 (en) 2010-11-01 2012-05-10 Michael Luna Distributed caching in a wireless network of content delivered for a mobile application over a long-held request
US8843153B2 (en) 2010-11-01 2014-09-23 Seven Networks, Inc. Mobile traffic categorization and policy for network use optimization while preserving user experience
US9189549B2 (en) * 2010-11-08 2015-11-17 Microsoft Technology Licensing, Llc Presenting actions and providers associated with entities
JP5395834B2 (ja) * 2011-03-16 2014-01-22 株式会社東芝 映像収録再生装置及び動作履歴ログ管理方法
US8738768B2 (en) * 2011-03-31 2014-05-27 Meas, Llc Multiple destinations for mainframe event monitoring
CN102737033B (zh) 2011-03-31 2015-02-04 国际商业机器公司 数据处理设备及其数据处理方法
US8661456B2 (en) 2011-06-01 2014-02-25 Hewlett-Packard Development Company, L.P. Extendable event processing through services
US8904531B1 (en) * 2011-06-30 2014-12-02 Emc Corporation Detecting advanced persistent threats
EP2737741A4 (en) * 2011-07-27 2015-01-21 Seven Networks Inc SURVEILLANCE OF MOBILE APPLICATION ACTIVITIES IN SEARCH OF MALICIOUS TRAFFIC ON A MOBILE DEVICE
US9031997B2 (en) * 2011-10-25 2015-05-12 International Business Machines Corporation Log file compression
EP2774064A4 (en) * 2011-11-04 2015-04-29 Hewlett Packard Development Co TREATMENT OF DISTRIBUTED EVENTS
US9392010B2 (en) 2011-11-07 2016-07-12 Netflow Logic Corporation Streaming method and system for processing network metadata
US9843488B2 (en) 2011-11-07 2017-12-12 Netflow Logic Corporation Method and system for confident anomaly detection in computer network traffic
US20140075557A1 (en) 2012-09-11 2014-03-13 Netflow Logic Corporation Streaming Method and System for Processing Network Metadata
US20130117313A1 (en) * 2011-11-08 2013-05-09 Microsoft Corporation Access control framework
CN102364474B (zh) * 2011-11-17 2014-08-20 中国科学院计算技术研究所 用于机群文件系统的元数据存储系统和管理方法
US9535961B2 (en) 2011-11-18 2017-01-03 Hewlett Packard Enterprise Development Lp Query summary generation using row-column data storage
WO2013086225A1 (en) 2011-12-06 2013-06-13 Seven Networks, Inc. A mobile device and method to utilize the failover mechanisms for fault tolerance provided for mobile traffic management and network/device resource conservation
US9208123B2 (en) 2011-12-07 2015-12-08 Seven Networks, Llc Mobile device having content caching mechanisms integrated with a network operator for traffic alleviation in a wireless network and methods therefor
US8875158B2 (en) * 2012-03-26 2014-10-28 Nec Laboratories America, Inc. Method for request profiling in service systems with kernel events
US8812695B2 (en) 2012-04-09 2014-08-19 Seven Networks, Inc. Method and system for management of a virtual network connection without heartbeat messages
WO2013172780A2 (en) * 2012-05-16 2013-11-21 Unomaly Ab Method, apparatus and computer program for analysing events in a computer system
US8856257B1 (en) * 2012-06-29 2014-10-07 Emc Corporation Sending alerts from cloud computing systems
CN102929936B (zh) * 2012-09-26 2016-08-24 东软集团股份有限公司 日志记录方法、日志查询方法及系统
US10057726B2 (en) * 2012-10-02 2018-08-21 Razer (Asia-Pacific) Pte. Ltd. Managing user data on an electronic device
CN103902537B (zh) * 2012-12-25 2017-02-08 重庆新媒农信科技有限公司 多业务的日志数据存储处理和查询系统及其方法
US8874761B2 (en) 2013-01-25 2014-10-28 Seven Networks, Inc. Signaling optimization in a wireless network for traffic utilizing proprietary and non-proprietary protocols
US9326185B2 (en) 2013-03-11 2016-04-26 Seven Networks, Llc Mobile network congestion recognition for optimization of mobile traffic
US9811525B1 (en) * 2013-03-14 2017-11-07 Facebook, Inc. Message and attachment deletion
US9218379B2 (en) 2013-03-15 2015-12-22 Informatica Llc Method, apparatus, and computer-readable medium for efficiently performing operations on distinct data values
TW201437940A (zh) * 2013-03-30 2014-10-01 Ibm 提供一交易處理伺服器有效率之資料複製的方法、支援伺服器與電腦程式產品
US10089472B2 (en) 2013-04-23 2018-10-02 Hewlett-Packard Development Company, L.P. Event data structure to store event data
WO2014175867A1 (en) 2013-04-23 2014-10-30 Hewlett-Packard Development Company, L.P. Verifying controller code and system boot code
US9065765B2 (en) 2013-07-22 2015-06-23 Seven Networks, Inc. Proxy server associated with a mobile carrier for enhancing mobile traffic management in a mobile network
US10394848B2 (en) 2013-07-29 2019-08-27 Amazon Technologies, Inc. Generating a multi-column index for relational databases by interleaving data bits for selectivity
TWI499238B (zh) * 2013-09-16 2015-09-01 A method of cross - platform record traceability
EP2908195B1 (de) * 2014-02-13 2017-07-05 Siemens Aktiengesellschaft Verfahren zur Überwachung der Sicherheit in einem Automatisierungsnetzwerk sowie Automatisierungsnetzwerk
CN103902669B (zh) * 2014-03-17 2017-06-16 华中科技大学 一种基于不同存储介质的分离式文件系统
US9633073B1 (en) * 2014-03-24 2017-04-25 Amazon Technologies, Inc. Distributed data store for hierarchical data
US9436972B2 (en) * 2014-03-27 2016-09-06 Intel Corporation System coherency in a distributed graphics processor hierarchy
US9626414B2 (en) * 2014-04-14 2017-04-18 International Business Machines Corporation Automatic log record segmentation
CN105022751B (zh) * 2014-04-28 2019-03-05 深圳华智融科技股份有限公司 日志记录方法和系统、以及日志再现方法和系统
CN105302827B (zh) * 2014-06-30 2018-11-20 华为技术有限公司 一种事件的搜索方法和设备
US10296616B2 (en) 2014-07-31 2019-05-21 Splunk Inc. Generation of a search query to approximate replication of a cluster of events
CN104283719A (zh) * 2014-10-28 2015-01-14 北京国双科技有限公司 一种日志的处理方法、装置及服务器
US10366068B2 (en) 2014-12-18 2019-07-30 International Business Machines Corporation Optimization of metadata via lossy compression
US9917738B2 (en) * 2015-01-13 2018-03-13 Accenture Global Services Limited Intelligent device data router
US9922069B2 (en) * 2015-03-16 2018-03-20 International Business Machines Corporation Establishing a chain of trust in a system log
US10749734B2 (en) * 2015-07-07 2020-08-18 International Business Machines Corporation Management of events and moving objects
US11609958B1 (en) * 2015-07-17 2023-03-21 EMC IP Holding Company LLC System and method for managing log records of elements of a distributed computing environment
US10241979B2 (en) * 2015-07-21 2019-03-26 Oracle International Corporation Accelerated detection of matching patterns
US10983957B2 (en) * 2015-07-27 2021-04-20 Sas Institute Inc. Distributed columnar data set storage
US10057142B2 (en) * 2015-08-19 2018-08-21 Microsoft Technology Licensing, Llc Diagnostic framework in computing systems
US10255316B2 (en) * 2015-11-18 2019-04-09 Sap Se Processing of data chunks using a database calculation engine
TWI613557B (zh) * 2015-11-19 2018-02-01 神雲科技股份有限公司 系統日誌查詢方法
US11468053B2 (en) 2015-12-30 2022-10-11 Dropbox, Inc. Servicing queries of a hybrid event index
US10649991B2 (en) * 2016-04-26 2020-05-12 International Business Machines Corporation Pruning of columns in synopsis tables
US10536476B2 (en) 2016-07-21 2020-01-14 Sap Se Realtime triggering framework
US10482241B2 (en) 2016-08-24 2019-11-19 Sap Se Visualization of data distributed in multiple dimensions
US10542016B2 (en) * 2016-08-31 2020-01-21 Sap Se Location enrichment in enterprise threat detection
US10630705B2 (en) 2016-09-23 2020-04-21 Sap Se Real-time push API for log events in enterprise threat detection
US10673879B2 (en) 2016-09-23 2020-06-02 Sap Se Snapshot of a forensic investigation for enterprise threat detection
US11294941B1 (en) 2016-09-26 2022-04-05 Splunk Inc. Message-based data ingestion to a data intake and query system
US11599541B2 (en) 2016-09-26 2023-03-07 Splunk Inc. Determining records generated by a processing task of a query
US11550847B1 (en) 2016-09-26 2023-01-10 Splunk Inc. Hashing bucket identifiers to identify search nodes for efficient query execution
US11461334B2 (en) 2016-09-26 2022-10-04 Splunk Inc. Data conditioning for dataset destination
US20180089324A1 (en) 2016-09-26 2018-03-29 Splunk Inc. Dynamic resource allocation for real-time search
US11003714B1 (en) 2016-09-26 2021-05-11 Splunk Inc. Search node and bucket identification using a search node catalog and a data store catalog
US11126632B2 (en) 2016-09-26 2021-09-21 Splunk Inc. Subquery generation based on search configuration data from an external data system
US11874691B1 (en) 2016-09-26 2024-01-16 Splunk Inc. Managing efficient query execution including mapping of buckets to search nodes
US10776355B1 (en) 2016-09-26 2020-09-15 Splunk Inc. Managing, storing, and caching query results and partial query results for combination with additional query results
US11620336B1 (en) 2016-09-26 2023-04-04 Splunk Inc. Managing and storing buckets to a remote shared storage system based on a collective bucket size
US11567993B1 (en) 2016-09-26 2023-01-31 Splunk Inc. Copying buckets from a remote shared storage system to memory associated with a search node for query execution
US11243963B2 (en) 2016-09-26 2022-02-08 Splunk Inc. Distributing partial results to worker nodes from an external data system
US11232100B2 (en) 2016-09-26 2022-01-25 Splunk Inc. Resource allocation for multiple datasets
US11580107B2 (en) 2016-09-26 2023-02-14 Splunk Inc. Bucket data distribution for exporting data to worker nodes
US11163758B2 (en) 2016-09-26 2021-11-02 Splunk Inc. External dataset capability compensation
US11023463B2 (en) 2016-09-26 2021-06-01 Splunk Inc. Converting and modifying a subquery for an external data system
US11604795B2 (en) 2016-09-26 2023-03-14 Splunk Inc. Distributing partial results from an external data system between worker nodes
US11269939B1 (en) 2016-09-26 2022-03-08 Splunk Inc. Iterative message-based data processing including streaming analytics
US11314753B2 (en) 2016-09-26 2022-04-26 Splunk Inc. Execution of a query received from a data intake and query system
US11442935B2 (en) 2016-09-26 2022-09-13 Splunk Inc. Determining a record generation estimate of a processing task
US11222066B1 (en) 2016-09-26 2022-01-11 Splunk Inc. Processing data using containerized state-free indexing nodes in a containerized scalable environment
US10353965B2 (en) 2016-09-26 2019-07-16 Splunk Inc. Data fabric service system architecture
US11321321B2 (en) 2016-09-26 2022-05-03 Splunk Inc. Record expansion and reduction based on a processing task in a data intake and query system
US11586627B2 (en) 2016-09-26 2023-02-21 Splunk Inc. Partitioning and reducing records at ingest of a worker node
US11250056B1 (en) 2016-09-26 2022-02-15 Splunk Inc. Updating a location marker of an ingestion buffer based on storing buckets in a shared storage system
US11860940B1 (en) 2016-09-26 2024-01-02 Splunk Inc. Identifying buckets for query execution using a catalog of buckets
US11106734B1 (en) 2016-09-26 2021-08-31 Splunk Inc. Query execution using containerized state-free search nodes in a containerized scalable environment
US12013895B2 (en) 2016-09-26 2024-06-18 Splunk Inc. Processing data using containerized nodes in a containerized scalable environment
US11593377B2 (en) 2016-09-26 2023-02-28 Splunk Inc. Assigning processing tasks in a data intake and query system
US11663227B2 (en) 2016-09-26 2023-05-30 Splunk Inc. Generating a subquery for a distinct data intake and query system
US11562023B1 (en) 2016-09-26 2023-01-24 Splunk Inc. Merging buckets in a data intake and query system
US10956415B2 (en) 2016-09-26 2021-03-23 Splunk Inc. Generating a subquery for an external data system using a configuration file
US10984044B1 (en) 2016-09-26 2021-04-20 Splunk Inc. Identifying buckets for query execution using a catalog of buckets stored in a remote shared storage system
US11281706B2 (en) 2016-09-26 2022-03-22 Splunk Inc. Multi-layer partition allocation for query execution
US10977260B2 (en) * 2016-09-26 2021-04-13 Splunk Inc. Task distribution in an execution node of a distributed execution environment
US11615104B2 (en) 2016-09-26 2023-03-28 Splunk Inc. Subquery generation based on a data ingest estimate of an external data system
US10534908B2 (en) 2016-12-06 2020-01-14 Sap Se Alerts based on entities in security information and event management products
CN108228322B (zh) * 2016-12-12 2022-03-25 阿里巴巴集团控股有限公司 一种分布式链路跟踪、分析方法及服务器、全局调度器
US10530792B2 (en) 2016-12-15 2020-01-07 Sap Se Using frequency analysis in enterprise threat detection to detect intrusions in a computer system
US10534907B2 (en) 2016-12-15 2020-01-14 Sap Se Providing semantic connectivity between a java application server and enterprise threat detection system using a J2EE data
US11470094B2 (en) 2016-12-16 2022-10-11 Sap Se Bi-directional content replication logic for enterprise threat detection
US10552605B2 (en) 2016-12-16 2020-02-04 Sap Se Anomaly detection in enterprise threat detection
US10764306B2 (en) 2016-12-19 2020-09-01 Sap Se Distributing cloud-computing platform content to enterprise threat detection systems
US10628278B2 (en) 2017-01-26 2020-04-21 International Business Machines Corporation Generation of end-user sessions from end-user events identified from computer system logs
US10440037B2 (en) * 2017-03-31 2019-10-08 Mcafee, Llc Identifying malware-suspect end points through entropy changes in consolidated logs
CN107025175A (zh) * 2017-05-12 2017-08-08 北京理工大学 一种模糊测试种子用例变长字段修剪方法
CN107193731B (zh) * 2017-05-12 2020-10-27 北京理工大学 使用控制变异的模糊测试覆盖率改进方法
US10546488B2 (en) 2017-06-21 2020-01-28 International Business Machines Corporation Management of mobile objects
US10600322B2 (en) 2017-06-21 2020-03-24 International Business Machines Corporation Management of mobile objects
US10504368B2 (en) 2017-06-21 2019-12-10 International Business Machines Corporation Management of mobile objects
US10540895B2 (en) 2017-06-21 2020-01-21 International Business Machines Corporation Management of mobile objects
US10535266B2 (en) 2017-06-21 2020-01-14 International Business Machines Corporation Management of mobile objects
US10530794B2 (en) 2017-06-30 2020-01-07 Sap Se Pattern creation in enterprise threat detection
US11989194B2 (en) 2017-07-31 2024-05-21 Splunk Inc. Addressing memory limits for partition tracking among worker nodes
US11921672B2 (en) 2017-07-31 2024-03-05 Splunk Inc. Query execution at a remote heterogeneous data store of a data fabric service
CN107609133A (zh) * 2017-09-18 2018-01-19 郑州云海信息技术有限公司 日志文件转存方法、装置、设备及其计算机可读存储介质
US11151137B2 (en) 2017-09-25 2021-10-19 Splunk Inc. Multi-partition operation in combination operations
US10896182B2 (en) 2017-09-25 2021-01-19 Splunk Inc. Multi-partitioning determination for combination operations
US10681064B2 (en) 2017-12-19 2020-06-09 Sap Se Analysis of complex relationships among information technology security-relevant entities using a network graph
US10986111B2 (en) 2017-12-19 2021-04-20 Sap Se Displaying a series of events along a time axis in enterprise threat detection
TWI696080B (zh) * 2018-03-05 2020-06-11 劉國良 基於檢核資料庫日誌檔的資訊安全管控系統及其實施方法
CN108846002B (zh) * 2018-04-20 2021-06-29 广东数果科技有限公司 标签实时更新方法及系统
US11334543B1 (en) 2018-04-30 2022-05-17 Splunk Inc. Scalable bucket merging for a data intake and query system
US11210312B2 (en) 2018-06-08 2021-12-28 Microsoft Technology Licensing, Llc Storing data items and identifying stored data items
CN110674387B (zh) * 2018-06-15 2023-09-22 伊姆西Ip控股有限责任公司 用于数据搜索的方法、装置和计算机存储介质
US11397832B2 (en) * 2018-12-04 2022-07-26 Dhiraj Sharan Virtual data lake system created with browser-based decentralized data access and analysis
US10846342B2 (en) * 2018-12-04 2020-11-24 Dhiraj Sharan Artificial intelligence-assisted information technology data management and natural language playbook system
CN109542733B (zh) * 2018-12-05 2020-05-01 焦点科技股份有限公司 一种高可靠的实时日志收集及可视化检索方法
US11921571B2 (en) * 2018-12-20 2024-03-05 Koninklijke Philips N.V. Method to efficiently evaluate a log pattern
US10733213B2 (en) * 2018-12-31 2020-08-04 Iguazio Systems Ltd. Structuring unstructured machine-generated content
US11418335B2 (en) 2019-02-01 2022-08-16 Hewlett-Packard Development Company, L.P. Security credential derivation
US11520662B2 (en) 2019-02-11 2022-12-06 Hewlett-Packard Development Company, L.P. Recovery from corruption
US20200293654A1 (en) * 2019-03-12 2020-09-17 Universal City Studios Llc Security appliance extension
EP3712721A1 (de) * 2019-03-19 2020-09-23 Siemens Aktiengesellschaft Sicherheitsrelevante diagnosemeldungen
WO2020220216A1 (en) 2019-04-29 2020-11-05 Splunk Inc. Search time estimate in data intake and query system
US11715051B1 (en) 2019-04-30 2023-08-01 Splunk Inc. Service provider instance recommendations using machine-learned classifications and reconciliation
EP3971738A4 (en) 2019-09-30 2022-07-20 Huawei Cloud Computing Technologies Co., Ltd. METHOD AND DEVICE FOR MESSAGE SYNCHRONIZATION FOR A DISTRIBUTED SYSTEM
US11494380B2 (en) 2019-10-18 2022-11-08 Splunk Inc. Management of distributed computing framework components in a data fabric service system
CN111008183B (zh) * 2019-11-19 2023-09-15 武汉极意网络科技有限公司 一种用于业务风控日志数据的存储方法及系统
CN113051121B (zh) * 2019-12-26 2023-07-28 百度在线网络技术(北京)有限公司 日志信息检索方法、装置、电子设备和介质
US11922222B1 (en) 2020-01-30 2024-03-05 Splunk Inc. Generating a modified component for a data intake and query system using an isolated execution environment image
US11695787B2 (en) 2020-07-01 2023-07-04 Hawk Network Defense, Inc. Apparatus and methods for determining event information and intrusion detection at a host device
US11474921B2 (en) 2020-07-13 2022-10-18 Micron Technology, Inc. Log compression
US11704313B1 (en) 2020-10-19 2023-07-18 Splunk Inc. Parallel branch operation using intermediary nodes
CN112799593A (zh) * 2021-02-01 2021-05-14 联想(北京)有限公司 一种处理方法、装置和电子设备
CN113423079B (zh) * 2021-06-18 2022-11-01 中国农业银行股份有限公司 信息编码方法、装置、设备、存储介质及程序产品
TWI835203B (zh) * 2021-07-20 2024-03-11 奧義智慧科技股份有限公司 具有自適應叢集化功能的日誌分類裝置與相關的電腦程式產品
US11748299B2 (en) 2021-09-16 2023-09-05 Cohesity, Inc. Managing objects stored at a remote storage
US12001391B2 (en) * 2021-09-16 2024-06-04 Cohesity, Inc. Managing objects stored at a remote storage
CN114706861B (zh) * 2022-06-08 2022-09-16 天津南大通用数据技术股份有限公司 一种在列存储引擎中按列动态分组存储的方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039773B2 (en) * 2003-04-29 2006-05-02 Oracle International Corporation Method and mechanism for efficient implementation of ordered records
US20080162592A1 (en) * 2006-12-28 2008-07-03 Arcsight, Inc. Storing log data efficiently while supporting querying to assist in computer network security

Family Cites Families (64)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0275176B1 (en) * 1987-01-12 1994-05-18 Fujitsu Limited Data transferring buffer circuits for data exchange
US5537541A (en) * 1994-08-16 1996-07-16 Digital Equipment Corporation System independent interface for performance counters
JPH08106408A (ja) 1994-10-04 1996-04-23 Nippon Telegr & Teleph Corp <Ntt> 運用情報アクセスログ収集管理システム及び運用情報アクセスログ収集管理方法
BR9612333B1 (pt) 1995-12-29 2009-08-11 sistema e método de distribuição com identificação de cliente de radiofreqüência.
US5787249A (en) 1996-04-30 1998-07-28 International Business Machines Coporation Method for managing membership of a group of processors in a distributed computing environment
US6125368A (en) * 1997-02-28 2000-09-26 Oracle Corporation Fault-tolerant timestamp generation for multi-node parallel databases
JP3884821B2 (ja) * 1997-03-27 2007-02-21 株式会社日立製作所 分散情報の統合方法及び装置
US5964857A (en) 1997-05-30 1999-10-12 Quality Semiconductor, Inc. Priority encoder for a content addressable memory system
US5999929A (en) 1997-09-29 1999-12-07 Continuum Software, Inc World wide web link referral system and method for generating and providing related links for links identified in web pages
US7581077B2 (en) * 1997-10-30 2009-08-25 Commvault Systems, Inc. Method and system for transferring data in a storage operation
US6067565A (en) 1998-01-15 2000-05-23 Microsoft Corporation Technique for prefetching a web page of potential future interest in lieu of continuing a current information download
US6363372B1 (en) * 1998-04-22 2002-03-26 Zenith Electronics Corporation Method for selecting unique identifiers within a range
JPH11327966A (ja) 1998-05-15 1999-11-30 Nec Eng Ltd イベントデータ蓄積管理検索システム
US6606645B1 (en) 1998-10-29 2003-08-12 At&T Corp. Method for preconnecting to a server on a network
US6728748B1 (en) 1998-12-01 2004-04-27 Network Appliance, Inc. Method and apparatus for policy based class of service and adaptive service level management within the context of an internet and intranet
US6516350B1 (en) 1999-06-17 2003-02-04 International Business Machines Corporation Self-regulated resource management of distributed computer resources
JP2001229051A (ja) 2000-02-16 2001-08-24 Hitachi Ltd シーケンス図表示方式
US6601101B1 (en) 2000-03-15 2003-07-29 3Com Corporation Transparent access to network attached devices
US6826613B1 (en) 2000-03-15 2004-11-30 3Com Corporation Virtually addressing storage devices through a switch
CA2415888C (en) 2000-08-04 2008-10-21 Avaya Technology Corporation Intelligent demand driven recognition of url objects in connection oriented transactions
US6959327B1 (en) * 2000-08-29 2005-10-25 International Business Machines Corporation System and method for dispatching and scheduling network transmissions with feedback
US6807572B1 (en) 2000-08-31 2004-10-19 Intel Corporation Accessing network databases
US6996615B1 (en) 2000-09-29 2006-02-07 Cisco Technology, Inc. Highly scalable least connections load balancing
US6956836B2 (en) 2001-05-17 2005-10-18 Ericsson, Inc. Asymmetric frequency allocation for packet channels in a wireless network
US6744729B2 (en) 2001-08-17 2004-06-01 Interactive Sapience Corp. Intelligent fabric
US20030135593A1 (en) 2001-09-26 2003-07-17 Bernard Lee Management system
JP2003131960A (ja) 2001-10-26 2003-05-09 Hitachi Ltd データ中継方法
JP4050497B2 (ja) 2001-11-06 2008-02-20 インフォサイエンス株式会社 ログ情報管理装置及びログ情報管理プログラム
US7249118B2 (en) 2002-05-17 2007-07-24 Aleri, Inc. Database system and methods
US7509418B2 (en) 2002-06-25 2009-03-24 Hewlett-Packard Development Company, L.P. Automatic management of e-services
US7152242B2 (en) 2002-09-11 2006-12-19 Enterasys Networks, Inc. Modular system for detecting, filtering and providing notice about attack events associated with network security
US7650638B1 (en) 2002-12-02 2010-01-19 Arcsight, Inc. Network security monitoring system employing bi-directional communication
US7376969B1 (en) 2002-12-02 2008-05-20 Arcsight, Inc. Real time monitoring and analysis of events from multiple network security devices
US7607169B1 (en) 2002-12-02 2009-10-20 Arcsight, Inc. User interface for network security console
US7788722B1 (en) 2002-12-02 2010-08-31 Arcsight, Inc. Modular agent for network security intrusion detection system
US7219239B1 (en) 2002-12-02 2007-05-15 Arcsight, Inc. Method for batching events for transmission by software agent
US8176527B1 (en) 2002-12-02 2012-05-08 Hewlett-Packard Development Company, L. P. Correlation engine with support for time-based rules
US7260844B1 (en) 2003-09-03 2007-08-21 Arcsight, Inc. Threat detection in a network security system
US7333999B1 (en) 2003-10-30 2008-02-19 Arcsight, Inc. Expression editor
US7284153B2 (en) * 2003-11-17 2007-10-16 International Business Machines Corporation Apparatus, method, and system for logging diagnostic information
US20050114321A1 (en) 2003-11-26 2005-05-26 Destefano Jason M. Method and apparatus for storing and reporting summarized log data
KR100693578B1 (ko) 2003-11-27 2007-03-14 엘지전자 주식회사 냉장고용 아이스 메이커
US7565696B1 (en) 2003-12-10 2009-07-21 Arcsight, Inc. Synchronizing network security devices within a network security system
US20050209876A1 (en) * 2004-03-19 2005-09-22 Oversight Technologies, Inc. Methods and systems for transaction compliance monitoring
US8528077B1 (en) 2004-04-09 2013-09-03 Hewlett-Packard Development Company, L.P. Comparing events from multiple network security devices
US7509677B2 (en) 2004-05-04 2009-03-24 Arcsight, Inc. Pattern discovery in a network security system
US8108429B2 (en) * 2004-05-07 2012-01-31 Quest Software, Inc. System for moving real-time data events across a plurality of devices in a network for simultaneous data protection, replication, and access services
IL161874A (en) * 2004-05-07 2012-09-24 Yves Villaret System and method for searching strings of records
US8090691B2 (en) * 2004-08-13 2012-01-03 Computer Associates Think, Inc. System and method for variable block logging with log-ahead buffers
US7516114B2 (en) * 2004-10-22 2009-04-07 International Business Machines Corporation Visual structuring of multivariable data
US9100422B1 (en) 2004-10-27 2015-08-04 Hewlett-Packard Development Company, L.P. Network zone identification in a network security system
WO2006063057A2 (en) * 2004-12-06 2006-06-15 Agilix Labs Applying multiple compression algorithms in a database system
US7809131B1 (en) 2004-12-23 2010-10-05 Arcsight, Inc. Adjusting sensor time in a network security system
US7774304B2 (en) * 2005-01-31 2010-08-10 International Business Machines Corporation Method, apparatus and program storage device for managing buffers during online reorganization
US7369954B2 (en) * 2005-03-17 2008-05-06 International Business Machines Corporation Event tracing with time stamp compression and history buffer based compression
US7653836B1 (en) * 2005-06-10 2010-01-26 American Megatrends, Inc Logging metadata modifications in a data storage system
US7447865B2 (en) * 2005-09-13 2008-11-04 Yahoo ! Inc. System and method for compression in a distributed column chunk data store
US20070100911A1 (en) 2005-11-03 2007-05-03 International Business Machines Corporation Apparatus and method for materialized query table journaling in a computer database system
US7464247B2 (en) * 2005-12-19 2008-12-09 Yahoo! Inc. System and method for updating data in a distributed column chunk data store
US7437359B2 (en) 2006-04-05 2008-10-14 Arcsight, Inc. Merging multiple log entries in accordance with merge properties and mapping properties
US20080059412A1 (en) 2006-08-31 2008-03-06 Tarin Stephen A Value-instance connectivity computer-implemented database
CN100596353C (zh) * 2006-12-05 2010-03-31 阿里巴巴集团控股有限公司 提供日志服务的方法及系统
US9014666B2 (en) * 2006-12-15 2015-04-21 Avaya Inc. Authentication based on geo-location history
CN101022662A (zh) * 2007-02-26 2007-08-22 华为技术有限公司 一种呼叫日志服务器、系统及其方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7039773B2 (en) * 2003-04-29 2006-05-02 Oracle International Corporation Method and mechanism for efficient implementation of ordered records
US20080162592A1 (en) * 2006-12-28 2008-07-03 Arcsight, Inc. Storing log data efficiently while supporting querying to assist in computer network security
TW200836080A (en) * 2006-12-28 2008-09-01 Arcsight Inc Storing log data efficiently while supporting querying to assist in computer network security

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI735845B (zh) * 2018-04-04 2021-08-11 開曼群島商創新先進技術有限公司 資料同步的方法、裝置及設備
TWI798743B (zh) * 2021-01-21 2023-04-11 瑞昱半導體股份有限公司 用來進行多系統日誌存取管理之方法、系統單晶片積體電路以及非暫態計算機可讀取媒體

Also Published As

Publication number Publication date
CN102239472A (zh) 2011-11-09
CN102239472B (zh) 2017-04-12
US20100011031A1 (en) 2010-01-14
EP2340476A4 (en) 2012-05-09
US20150381647A1 (en) 2015-12-31
TW201015371A (en) 2010-04-16
WO2010028279A1 (en) 2010-03-11
EP2340476A1 (en) 2011-07-06
US9166989B2 (en) 2015-10-20
US9762602B2 (en) 2017-09-12

Similar Documents

Publication Publication Date Title
TWI406152B (zh) 當支援查詢時有效地儲存日誌資料
EP2097824B1 (en) Storing log data efficiently while supporting querying to assist in computer network security
US9009139B2 (en) Query pipeline
US10122575B2 (en) Log collection, structuring and processing
US9853986B2 (en) Clustering event data by multiple time dimensions
US9495379B2 (en) Locality aware, two-level fingerprint caching
US20110314148A1 (en) Log collection, structuring and processing
AU2006315555B2 (en) Log collection, structuring and processing
US20120246303A1 (en) Log collection, structuring and processing
US20120221576A1 (en) Compressed journaling in event tracking files for metadata recovery and replication

Legal Events

Date Code Title Description
MM4A Annulment or lapse of patent due to non-payment of fees