共用方式為


在 Windows Server 2012 R2 中設定 EventLog 轉送的最佳做法

本文介紹在 Windows Server 2012 R2 大型環境中設定 EventLog 轉送的最佳做法。

原始 KB 編號: 4494356

摘要

在 2020 年 2 月 25 日累積更新中,已推出至 Windows Server 2016、Windows Server 2019 的重要延展性修正。

請參閱下列兩篇文章中的「改善事件轉送延展性,以確保線程安全性並增加資源」。

事件延遲

在用戶端上產生事件之後,事件轉送機制會花一些時間將事件轉送至收集器。

此延遲可能是由訂用帳戶設定所造成,例如 DeliveryMaxLatency 參數、收集器效能、轉寄站或網路。

注意

在轉送事件之前,請確定用戶端上不會覆寫事件。 只有在客戶端產生大量事件時,我們通常必須管理此問題,例如忙碌的伺服器或將安全性記錄轉送的 DC。

限制和系統需求

您可以在大型環境中部署 EventLog 轉送。 例如,您會將 40,000 部部署到 100,000 部來源電腦。 在此情況下,我們建議您部署一個以上的收集器,每個收集器有 2,000 個至不超過 4,000 個用戶端。

此外,建議您在收集器上安裝至少 16 GB 的 RAM 和四個 (4) 處理器,以支援已設定一或兩個訂用帳戶的平均負載為 2,000 到 4,000 個用戶端。

建議使用快速磁碟,而 ForwardedEvents 記錄檔可以放在另一個磁碟上,以提升效能。

Windows 事件收集器服務的記憶體使用量取決於用戶端收到的連線數目。 線上數目取決於下列因素:

  • 連接的頻率
  • 訂用帳戶數目
  • 用戶端數目
  • 用戶端的作業系統

例如,針對 4,000 個用戶端和 5 到 7 個訂用帳戶的預設值,Windows 事件收集器服務所使用的記憶體可能會快速超過 4 GB,並繼續成長。 這可讓電腦沒有回應。

用戶端連線的頻率

三個參數可控制用戶端連線的頻率:

  • Refresh= (在 GPO 的組態 URL 中指定)
  • DeliveryMaxLatency (訂用帳戶中指定的)
  • HeartbeatInterval (訂用帳戶中指定)

GPO 中的 Refresh= 參數

此參數是以秒為單位來測量。 它會控制用戶端連線至 /WEC URL 的頻率,以列舉可用的訂用帳戶。

收集器會提供為客戶端啟用的訂用帳戶清單來回應。 回應包含每個通道和 Xpath 查詢的書籤。 一旦用戶端收到資訊,就會開始將事件或活動訊號封包傳送至 /Subscriptions URL。 如果訂用帳戶不常變更,則可以將此參數設定為每隔幾個小時或更不常檢查一次。

DeliveryMaxLatency

控制客戶端連線的頻率。 針對大型部署,您可以建立緊急事件的訂用帳戶,將緊急事件設定為 5 分鐘的頻率,另一個則針對較不緊急的事件設定為 2 小時的頻率。

HeartbeatInterval

控制主控台[執行時間狀態] 視窗中的 [非使用中] 狀態。 可以設定為與 DeliveryMaxLatency 相同的值或較大的值,以在用戶端標示為非使用中之前提供額外的時間。

自訂參數

若要設定自定義參數,您必須使用命令行來執行 Wecutil。 如需詳細資訊,請參閱 Wecutil.exe

  • 您可以設定的訂用帳戶 wecutil es列為 。

  • 您必須先將訂用帳戶切換為 「自訂」:

    wecutil ss <SubscriptionName> /cm:"Custom"
    
  • 然後,設定 DeliveryMaxLatency 參數:

    wecutil ss <SubscriptionName> /dmlt:7200000
    

    (值以毫秒為單位:7200000 = 2 小時)

  • 將活動訊號Interval 調整為相同的值。 這個設定會影響控制台中每個用戶端的「非使用中」狀態:

    wecutil ss <SubscriptionName> /hi:7200000
    

訂用帳戶傳遞優化

用戶端會將事件傳送至 /subscriptions URL。 這些連接對於收集器記憶體使用量非常重要。

有下列預先設定的模式可供使用。

  • Normal

    • 提供可靠的事件傳遞,而且不會嘗試節省頻寬。
    • 除非您需要更嚴格地控制頻寬使用量,或要求儘快傳遞轉送事件,否則適當的選擇。
    • 使用提取傳遞模式,一次批處理五個專案,並設定批次逾時 15 分鐘。
  • 將頻寬降到最低

    • 請確定嚴格控制使用網路頻寬傳遞事件。
    • 如果您想要限制傳遞事件的網路連線頻率,則為適當的選擇。
    • 使用推送傳遞模式,並設定批次逾時 6 小時和活動訊號間隔 6 小時。
  • 將延遲降到最低

    • 請確定事件會以最少的延遲來傳遞。
    • 如果您收集警示或重大事件,則為適當的選擇。
    • 使用推送傳遞模式,並設定批次逾時 30 秒。

用戶端會以指定的頻率連接到收集器,以傳送事件或傳送活動訊號。 預設的「一般」設定可能會讓每個收集器有 2,000 到 4,000 個用戶端,而導致記憶體使用量過高。

設定收集器名稱

您可以藉由設定下列群組策略物件 (GPO) 在用戶端上設定收集器名稱:
計算機設定/管理範本/Windows 元件/事件轉送/設定目標訂用帳戶管理員

或者,您可以在下列子機碼中設定登錄:
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\EventLog\EventForwarding\SubscriptionManager

您可以使用 GPO 本身或 WMI 篩選上的安全性設定,篩選將收集器指派給每個用戶端的 GPO。 例如,如果計算機名稱一律以數字結尾(例如 computer1、computer2 等等),我們可以建立 GPO,將用戶端指向 10 個不同的收集器。

訂用帳戶的合併

設定多個訂用帳戶會增加連線數目。 本文稍早討論的考慮適用於每個訂用帳戶。

建議您編輯 Xpath 查詢,並將多個查詢放入相同的訂用帳戶,以設定訂用帳戶。