Sentinel 為分散式系統,由分散至整個網路的多個程序組成。此外,系統中還會有一些由事件來源造成的延遲。為了調和延遲的狀況,Sentinel 程序在處理事件之前,會將事件重新排列為以時間先後順序排列的資料流。
每個事件有三個時間欄位:
事件時間: 這是所有分析引擎、搜尋、報告等所使用的事件時間。
Sentinel 程序時間: Sentinel 收集裝置資料的時間,記錄自 Collector Manager 系統時間。
觀察者事件時間: 裝置放入資料的時戳。資料不一定都會包含可靠的時戳,而且可能相當不同於 Sentinel 程序時間。例如,當裝置依批次傳送資料時。
下圖說明 Sentinel 如何在傳統儲存設定中完成此作業:
圖 18-1 Sentinel 時間
依預設,系統會將事件時間設定為 Sentinel 程序時間。不過,理想的方式是將事件時間設為觀察者事件時間 (如有,而且可靠)。若可取得正確的裝置時間,而且已經過收集器正確剖析,最好是將資料收集設成「信任事件來源時間」。收集器可將事件時間設為觀察者事件時間。
通常是由事件檢視來處理事件時間與伺服器時間差距 (包含過去和未來) 在 5 分鐘內的事件。事件時間超過未來 5 分鐘的事件不會顯示在事件檢視中,但系統會將事件插入事件儲存中。時間戳記快 5 分鐘以上以及小於 24 小時的事件仍會出現在圖表中,但不會出現在該圖表的事件資料中。您必須進行下探式操作以從事件儲存擷取這些事件。
事件會以 30 秒間隔排序,讓 Correlation Engine 可依時間順序來處理。如果事件時間比伺服器快 30 秒,Correlation Engine 便不會處理事件。
如事件時間比起 Collector Manager 的系統時間快上 5 秒,Sentinel 會直接將事件導向至事件儲存區,並繞過即時處理系統如 Correlation Engine 和安全情報。