監視數據連接器的健康情況
為了確保 Microsoft Sentinel 服務中完整且不間斷的數據擷取,請追蹤數據連接器的健康情況、連線能力和效能。
下列功能可讓您從 Microsoft Sentinel 內執行這項監視:
數據收集健全狀況監視活頁簿:此活頁簿提供其他監視器、偵測異常,並提供工作區數據擷取狀態的深入解析。 您可以使用活頁簿的邏輯來監視內嵌數據的一般健康情況,以及建置自定義檢視和以規則為基礎的警示。
SentinelHealth 數據表 (預覽):查詢此數據表可提供健康情況漂移的深入解析,例如每個連接器的最新失敗事件,或連接器,其變更為失敗狀態,您可以用來建立警示和其他自動化動作。 SentinelHealth 數據表目前僅支持選取的數據連接器。
重要
SentinelHealth 數據表目前處於預覽狀態。 如需適用於 Beta 版、預覽版或尚未發行至正式運作的 Azure 功能的其他法律條款,請參閱 Microsoft Azure 預覽版補充使用條款。
檢視已連線 SAP 系統的健康情況和狀態:檢閱 SAP 數據連接器下 SAP 系統的健康情況資訊,並使用警示規則範本來取得 SAP 代理程式數據收集健康情況的相關信息。
使用健康情況監視活頁簿
從 Microsoft Sentinel 入口網站中,從導覽功能表的 [內容管理] 區段選取 [內容中樞]。
在內容中 樞的搜尋列中輸入 健康 情況,然後從結果中選取 [數據收集健康情況監視 ]。
從詳細數據窗格中選取 [ 安裝 ]。 當您看到活頁簿已安裝的通知訊息,或如果 不是安裝,您會看到 [設定],請繼續進行下一個步驟。
從導覽功能表的 [威脅管理] 區段選取 [活頁簿]。
在 [ 活頁簿] 頁面中,選取 [範本 ] 索引標籤,在搜尋列中輸入 健全 狀況,然後從結果中選取 [數據收集健康情況監視 ]。
選取 [檢視範本] 直接使用活頁簿,或選取 [儲存] 以建立活頁簿的可編輯複本。 建立複本時,選取 [檢視已儲存的活頁簿]。
在活頁簿中,先選取您想要檢視的 訂 用帳戶和 工作區 ,然後定義 TimeRange 以根據您的需求篩選數據。 使用 [ 顯示說明 ] 切換來顯示活頁簿的就地說明。
此活頁簿中有三個索引標籤區段:
[概觀] 索引卷標會顯示所選工作區中數據擷取的一般狀態:磁碟區量值、EPS 速率,以及上次收到記錄的時間。
[ 資料收集異常] 索引 標籤可協助您依數據表和數據源偵測數據收集程式中的異常狀況。 每個索引標籤都會顯示特定資料表的異常狀況([ 一般 ] 索引標籤包含數據表的集合。 異常是使用傳回異常分數的 series_decompose_anomalies() 函式來計算。 深入瞭解此函式。 為函式設定要評估的下列參數:
[代理程序資訊] 索引標籤會顯示安裝在各種機器上之 Log Analytics 代理程式健康情況的相關信息,無論是 Azure VM、其他雲端 VM、內部部署 VM 或實體。 您可以監視下列專案:
使用 SentinelHealth 資料表 (公開預覽)
若要從 SentinelHealth 數據表取得數據連接器健康情況數據,您必須先開啟工作區的 Microsoft Sentinel 健康情況功能。 如需詳細資訊,請參閱 開啟 Microsoft Sentinel 的健康情況監視。
開啟健康情況功能之後, SentinelHealth 數據表會在您數據連接器產生的第一次成功或失敗事件時建立。
支援的數據連接器
SentinelHealth 資料表目前僅支援下列資料連接器:
- Amazon Web Services (CloudTrail 和 S3)
- Dynamics 365
- Office 365
- 適用於端點的 Microsoft Defender
- 威脅情報 - TAXII
- 威脅情報平臺
瞭解 SentinelHealth 數據表事件
在 SentinelHealth 資料表中會記錄下列類型的健康情況事件:
數據擷取狀態變更。 只要數據連接器狀態保持穩定,持續成功或失敗事件,就會每小時記錄一次。 只要數據連接器的狀態沒有變更,監視只會每小時運作,以防止備援稽核並減少數據表大小。 如果數據連接器的狀態發生連續失敗,則 ExtendedProperties 數據行中會包含有關失敗的其他詳細數據。
如果數據連接器的狀態變更,無論是從成功到失敗、從失敗到成功,或有失敗原因的變更,就會立即記錄事件,讓您的小組採取主動且立即的動作。
可能暫時性錯誤,例如來源服務節流,只有在持續超過 60 分鐘之後才會記錄。 這 60 分鐘可讓 Microsoft Sentinel 克服後端的暫時性問題並趕上數據,而不需要任何用戶動作。 絕對不是暫時性的錯誤會立即記錄。
失敗摘要。 每個連接器、每個工作區每小時記錄一次,並匯總失敗摘要。 只有在連接器在指定時間內發生輪詢錯誤時,才會建立失敗摘要事件。 它們包含 ExtendedProperties 數據行中提供的任何額外詳細數據,例如查詢連接器來源平台的時間週期,以及期間期間所遇到的不同失敗清單。
如需詳細資訊,請參閱 SentinelHealth 數據表數據行架構。
執行查詢來偵測健康情況漂移
在 SentinelHealth 數據表上建立查詢,以協助您偵測數據連接器中的健康情況漂移。 例如:
偵測每個連接器的最新失敗事件:
SentinelHealth
| where TimeGenerated > ago(3d)
| where OperationName == 'Data fetch status change'
| where Status in ('Success', 'Failure')
| summarize TimeGenerated = arg_max(TimeGenerated,*) by SentinelResourceName, SentinelResourceId
| where Status == 'Failure'
偵測從變更為失敗至成功狀態的連接器:
let lastestStatus = SentinelHealth
| where TimeGenerated > ago(12h)
| where OperationName == 'Data fetch status change'
| where Status in ('Success', 'Failure')
| project TimeGenerated, SentinelResourceName, SentinelResourceId, LastStatus = Status
| summarize TimeGenerated = arg_max(TimeGenerated,*) by SentinelResourceName, SentinelResourceId;
let nextToLastestStatus = SentinelHealth
| where TimeGenerated > ago(12h)
| where OperationName == 'Data fetch status change'
| where Status in ('Success', 'Failure')
| join kind = leftanti (lastestStatus) on SentinelResourceName, SentinelResourceId, TimeGenerated
| project TimeGenerated, SentinelResourceName, SentinelResourceId, NextToLastStatus = Status
| summarize TimeGenerated = arg_max(TimeGenerated,*) by SentinelResourceName, SentinelResourceId;
lastestStatus
| join kind=inner (nextToLastestStatus) on SentinelResourceName, SentinelResourceId
| where NextToLastStatus == 'Failure' and LastStatus == 'Success'
偵測從成功變更為失敗狀態的連接器:
let lastestStatus = SentinelHealth
| where TimeGenerated > ago(12h)
| where OperationName == 'Data fetch status change'
| where Status in ('Success', 'Failure')
| project TimeGenerated, SentinelResourceName, SentinelResourceId, LastStatus = Status
| summarize TimeGenerated = arg_max(TimeGenerated,*) by SentinelResourceName, SentinelResourceId;
let nextToLastestStatus = SentinelHealth
| where TimeGenerated > ago(12h)
| where OperationName == 'Data fetch status change'
| where Status in ('Success', 'Failure')
| join kind = leftanti (lastestStatus) on SentinelResourceName, SentinelResourceId, TimeGenerated
| project TimeGenerated, SentinelResourceName, SentinelResourceId, NextToLastStatus = Status
| summarize TimeGenerated = arg_max(TimeGenerated,*) by SentinelResourceName, SentinelResourceId;
lastestStatus
| join kind=inner (nextToLastestStatus) on SentinelResourceName, SentinelResourceId
| where NextToLastStatus == 'Success' and LastStatus == 'Failure'
設定健康情況問題的警示和自動化動作
雖然您可以使用 Microsoft Sentinel 分析規則在 Microsoft Sentinel 記錄中設定自動化,但如果您想要收到通知並立即採取數據連接器中健康情況漂移的動作,建議您使用 Azure 監視器警示規則。
例如:
在 Azure 監視器警示規則中,選取您的 Microsoft Sentinel 工作區作為規則範圍,然後 選取 [自定義記錄搜尋 ] 作為第一個條件。
視需要自定義警示邏輯,例如頻率或回溯持續時間,然後使用 查詢 來搜尋健康情況漂移。
針對規則動作,請選取現有的動作群組,或視需要建立新的動作,以設定推播通知或其他自動化動作,例如在您的系統中觸發邏輯應用程式、Webhook 或 Azure 函式。
如需詳細資訊,請參閱 Azure 監視器警示概觀 和 Azure 監視器警示記錄。
下一步
- 瞭解 Microsoft Sentinel 中的稽核和健康情況監視。
- 在 Microsoft Sentinel 中開啟稽核和健康情況監視 。
- 監視自動化規則和劇本的健康情況。
- 監視分析規則的健康情況和完整性。
- 請參閱 SentinelHealth 和 SentinelAudit 數據表架構的詳細資訊。