使用 Log Analytics 代理程式收集 Windows 事件記錄資料來源

Windows 事件記錄是 Windows 虛擬機器上 Log Analytics 代理程式中最常見的資料來源之一,因為許多應用程式會寫入至 Windows 事件記錄。 您可以從標準記錄 (例如系統和應用程式) 以及所需監視應用程式建立的任何自訂記錄中收集事件。

Diagram that shows the Log Analytics agent sending Windows events to the Event table in Azure Monitor.

重要

舊版 Log Analytics 代理程式將於 2024 年 8 月被取代。 在此日期之後,Microsoft 將不再提供 Log Analytics 代理程式的任何支援。 在 2024 年 8 月之前移轉至 Azure 監視器代理程式,才能繼續擷取資料。

設定 Windows 事件記錄

從 Log Analytics 工作區的舊版代理程式管理功能表設定 Windows 事件記錄。

Azure 監視器只會從設定中指定的 Windows 事件記錄收集事件。 您可以輸入記錄檔名稱並選取 +,以新增事件記錄。 針對每個記錄檔,僅會收集包含所選嚴重性的事件。 請檢查您想要收集之特定記錄檔的嚴重性。 您不能提供任何其他事件篩選準則。

輸入事件記錄檔名稱時,Azure 監視器會提供常見的事件記錄檔名稱建議。 如果您想要新增的記錄未出現在清單中,您仍然可以透過輸入記錄的完整名稱來新增該記錄。 您可以使用事件檢視器來尋找記錄檔的完整名稱。 在事件檢視器中,開啟記錄檔的 [內容] 頁面,並從 [完整名稱] 欄位複製字串。

Screenshot that shows the Windows event logs tab on the Legacy agents management screen.

重要

您無法使用 Log Analytics 代理程式,設定收集工作區的安全性事件。 您必須使用適用於雲端的 Microsoft DefenderMicrosoft Sentinel 來收集安全性事件。 Azure 監視器代理程式也可以用來收集安全性事件。

來自 Windows 事件記錄的重大事件將在 Azure 監視器記錄中具有「錯誤」的嚴重性。

資料集合

在建立事件時,Azure 監視器會從受監視的事件記錄檔收集符合所選嚴重性的每個事件。 代理程式會在它收集的每個事件記錄檔中記錄它的位置。 如果代理程式離線一段時間,便會從上次停止的地方收集事件,即使這些事件是在代理程式離線時所建立亦同。 如果事件記錄是在代理程式離線時使用未收集且已遭覆寫的事件進行包裝,可能就無法收集這些事件。

注意

Azure 監視器不會收集 SQL Server 從 MSSQLSERVER 來源用含有關鍵字 ClassicAudit Success 的事件識別碼 18453 以及用關鍵字 0xa0000000000000 所建立的稽核事件。

Windows 事件記錄屬性

Windows 事件記錄都具有事件類型以及下表中的屬性:

屬性 說明
電腦 收集事件的來源電腦名稱。
EventCategory 事件的類別。
EventData 原始格式的所有事件資料。
EventID 事件的編號。
EventLevel 數值格式的事件嚴重性。
EventLevelName 文字格式的事件嚴重性。
EventLog 收集事件的來源事件記錄檔名稱。
ParameterXml XML 格式的事件參數值。
ManagementGroupName System Center Operations Manager 代理程式的管理群組名稱。 若為其他代理程式,此值為 AOI-<workspace ID>
RenderedDescription 含參數值的事件描述。
來源 事件的來源。
SourceSystem 收集事件的來源代理程式類型。
OpsManager - Windows 代理程式,直接連接或由 Operations Manager 管理。
Linux – 所有的 Linux 代理程式。
AzureStorage – Azure 診斷。
TimeGenerated 在 Windows 中建立事件的日期和時間。
UserName 記錄此事件之帳戶的使用者名稱。

使用 Windows 事件的記錄查詢

下表提供擷取 Windows 事件記錄的不同記錄查詢範例。

查詢 描述
Event 所有的 Windows 事件。
Event | where EventLevelName == "Error" 所有 Windows 事件與錯誤的嚴重性。
Event | summarize count() by Source 依據來源的 Windows 事件計數。
Event | where EventLevelName == "Error" | summarize count() by Source 依據來源的 Windows 錯誤事件計數。

下一步