共用方式為


使用 Azure 監視器代理程式收集 Windows 事件

Windows 事件資料收集規則 (DCR) 中使用的其中一個資料來源。 使用 Azure 監視器代理程式收集資料 提供建立 DCR 的詳細資料。 本文提供 Windows 事件資料來源類型的其他詳細資料。

Windows 事件記錄檔是 Windows 機器 Azure 監視器代理程式 最常見的資料來源之一,因為它是 Windows 操作系統及其上執行應用程式的常見健康情況和資訊來源。 您可以從標準記錄 (例如系統和應用程式) 以及所需監視應用程式建立的任何自訂記錄中收集事件。

必要條件

設定 Windows 事件資料來源

在 DCR 的 [收集並傳遞] 步驟中,從 [資料來源類型] 下拉式清單中選取 [ Windows 事件記錄]。 從一組要收集的記錄和嚴重性等級中選取。

顯示資料收集規則中 Windows 事件資料來源設定的螢幕擷取畫面。

選取 [自訂],以 使用 XPath 查詢篩選事件。 您便可指定 XPath 以收集任何特定值。

顯示資料收集規則中 Windows 事件資料來源自訂設定的螢幕擷取畫面。

安全性事件

有兩種方法可使用 Azure 監視器代理程式收集安全性事件:

  • 選取 DCR 中的安全性事件記錄檔,就像系統和應用程式記錄一樣。 這些事件將與其他事件傳送到 Log Analytics 工作區中的 Event 資料表。
  • 在工作區上啟用 Microsoft Sentinel,該工作區也會使用 Azure 監視器代理程式收集事件。 安全性事件會傳送至 SecurityEvent

使用 XPath 查詢篩選事件

Log Analytics 工作區中收集的任何資料皆須付費。 因此,您應該僅收集所需的事件資料。 Azure 入口網站中的基本設定提供您篩選事件的有限功能。 若要指定其他篩選條件,則須使用自訂設定,並指定 XPath 以篩選出不需要的事件。

XPath 項目是以格式 LogName!XPathQuery 撰寫。 例如,您可能只想從應用程式事件記錄檔傳回事件識別碼為 1035 的事件。 這些事件的 XPathQuery 會是 *[System[EventID=1035]]。 因為您要擷取應用程式事件記錄檔的事件,所以 XPath 為 Application!*[System[EventID=1035]]

提示

如需降低 Azure 監視器成本的策略,請參閱成本最佳化和 Azure 監視器

注意

AMA 會使用 EvtSubscribe 系統 API 來訂閱 Windows 事件記錄檔。 Windows OS 不允許訂閱類型為 Analytic/Debug 通道的 Windows 事件記錄檔。 因此,您無法從分析和偵錯通道收集或匯出數據至Log Analytics工作區。

從 Windows 事件檢視器擷取 XPath 查詢

在 Windows 中,您可以使用事件查看器來擷取 XPath 查詢,如下列螢幕擷取畫面所示。

將 XPath 查詢貼至 [新增資料來源] 畫面上的欄位時,如步驟 5 所示,您必須附加後面加上驚嘆號 (!) 的記錄類型類別。

螢幕擷取畫面顯示在 Windows 事件檢視器中建立 XPath 查詢的步驟。

提示

您可以使用 PowerShell Cmdlet Get-WinEvent 搭配 FilterXPath 參數,先在本機電腦上測試 XPath 查詢的有效性。 如需詳細資訊,請參閱 Windows 代理程式型連線指示中提供的提示。 Get-WinEvent PowerShell Cmdlet 最多可支援 23 個運算式。 Azure 監視器資料收集規則支援多達 20 個項目。 下列指令碼即為範例:

$XPath = '*[System[EventID=1035]]'
Get-WinEvent -LogName 'Application' -FilterXPath $XPath
  • 在上述 cmdlet 中,-LogName 參數值為 XPath 查詢的初始部分 (到驚嘆號 (!) 為止)。 XPath 查詢的其餘部分會進入 $XPath 參數。
  • 若指令碼傳回事件,則查詢有效。
  • 如果您收到「找不到符合指定選擇準則的事件」訊息,查詢可能有效,但本機電腦上沒有相符的事件。
  • 如果您收到訊息內容為「指定的查詢無效」,則查詢語法無效。

使用自訂 XPath 來篩選事件的範例:

描述 XPath
僅收集事件識別碼 = 4648 的系統事件 System!*[System[EventID=4648]]
收集安全性記錄事件,事件識別碼 = 4648,且處理序名稱為 consent.exe Security!*[System[(EventID=4648)]] and *[EventData[Data[@Name='ProcessName']='C:\Windows\System32\consent.exe']]
從系統事件記錄檔收集所有嚴重、錯誤、警告和資訊事件,但事件識別碼 = 6 (驅動程式載入) 的事件除外 System!*[System[(Level=1 or Level=2 or Level=3) and (EventID != 6)]]
收集所有成功和失敗的安全性事件,但事件識別碼 4624 (成功登入) 的事件除外 Security!*[System[(band(Keywords,13510798882111488)) and (EventID != 4624)]]

注意

如需 Windows 事件記錄檔支援的 XPath 限制清單,請參閱 XPath 1.0 限制。 例如,您可以在查詢中使用「position」、「Band」和「timediff」函數,但目前不支援「start-with」和「contains」等其他函數。

目的地

Windows 事件資料可以傳送至下列位置。

Destination 資料表/命名空間
Log Analytics 工作區 事件

顯示資料收集規則中 Azure 監視器記錄目的地設定的螢幕擷取畫面。

下一步