傳送佇列 \% 已使用

Microsoft.SystemCenter.HealthService.CollectionRule.Performance.SendQueuePercentUsedMonitor (UnitMonitor)

此監視會測量健全狀況服務的 [Health Service Management Groups\Send Queue \% Used] 計數器。

Knowledge Base article:

摘要

此監視會測量 [Health Service Management Groups\Send Queue % Used] 並產生下列狀態:

監視狀態

Send Queue % Used Threshold

警告

50 %

重大

60 %

原因

這可能是由此 System Center 管理健全狀況服務連線到其父系管理伺服器的連線頻寬過低或延遲過長所造成。這也可能是收集的資料較父系管理伺服器處理量更多的規則所造成,尤其是當父系管理伺服器有多個向其報告的代理程式傳送大量資料時。

解決方式

如果從 System Center 管理健全狀況服務到父系管理伺服器的網路連線已飽和,請連絡您的網路系統管理員。如果發生這種情形,您可能需要升級您的網路以容納流量。

如果您無法升級網路 (例如您的 System Center 管理健全狀況服務或閘道伺服器位於遠端的分公司),您可以停用不必要的集合規則。以下為您可以停用的規則類型及停用相關影響的清單:

規則類型

規則用途

停用影響

效能集合

收集效能資料到操作資料庫、資料倉儲或兩者

當效能集合規則停用時,任何顯示該效能資料之檢視將不再有資料可供檢視。如果規則是收集資料到資料倉儲,依存該效能的報表將不再呈現任何資料。

事件集合

收集事件資料以供診斷。在某些情況下,為事件產生警示可能沒有幫助,但對於研究疑難排解或近即時疑難排解則很有幫助。

當事件集合規則停用時,任何顯示該事件資料之檢視將不再有資料可供檢視。如果規則是收集資料到資料倉儲,依存該事件的報表將不再呈現任何資料。

最後,如果您仍需要該資料,另一個可以於系統中實作以嘗試減少網路傳輸資料量的選項,是使用最佳化的效能計數器集合規則和事件彙總集合規則。下表摘要列出了這些選項的優點並說明資料的摘要方式。

規則類型

優點

資料摘要方式

最佳化效能集合規則

僅於效能資料偏離前次取樣一定百分比程度時傳送效能資料範例。例如,如果上個範例為 42,且規則設為僅收集為容錯度 10% 的新範例,下個範例需要為 42 +/- 4.2 (下個範例需要大於 46.2 或小於 37.8)。

因為只有超過設定容錯度的效能資料會傳送到操作資料庫或資料倉儲,因此資料會較不精確。您的容錯度愈大,精確度就會愈低。

彙總事件集合規則

此類型的事件集合規則會在其所設定的任一參數與上次事件有差異時傳送資料。例如,您可以設定彙總集合規則針對下列項目相同的事件進行彙總:

  • 事件來源

  • 事件識別碼

  • 來源電腦

  • 描述

然後您可以設定彙總這些事件的時間範圍 (例如 10 分鐘)。如果以上準則於該 10 分鐘時間範圍內比對到任何相符事件,僅會傳送 1 個事件並遞增 [重複計數] 內容。如果此事件於單一代理程式上重複發生,代表 24 小時僅會傳送最多 144 個事件,較實際記錄到事件記錄檔中的事件數目少很多。

您需要注意進行彙總的事件參數和內容。例如在描述上進行設定,如果事件描述通常為唯一 (例如包含使用者名稱),您將仍會收到許多傳送的事件。在此例中,您需要彙總代表使用者名稱欄位的事件參數。

此外,彙總時間範圍太長會有以下影響:

  • [事件檢視] 或 [報表] 中事件的顯示會延遲 (由於資料需要進行彙總到彙總時間範圍結束為止)。

  • 代理程式上的資源使用量會較高。如果使用的彙總規則很少,則並不會造成影響。如果使用大量此類規則,加上較長的彙總時間範圍,資源使用量會相對增加。

請參閱產品說明,或移至主控台的 [撰寫中] 位置,建立上述規則類型。

Element properties:

TargetMicrosoft.SystemCenter.Agent
Parent MonitorMicrosoft.SystemCenter.HealthService.PerformanceHealthRollup
CategoryPerformanceHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityHigh
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.HealthService.ConsecutiveSampleDoubleThreshold
RemotableTrue
AccessibilityPublic
Alert Message
{0}: 此系統的健全狀況服務傳送佇列即將填滿
當 System Center 管理健全狀況服務接收資料的速度高於它能夠將資料傳送出去的速度時,它就會開始將過多的資料排入佇列。這個佇列有固定的大小,如果達到這個大小,健全狀況服務便會開始清除佇列中的資料。在產生這個警示時,此系統的 [Send Queue \% Used] 計數器為 {0}。如需可能原因與疑難排解步驟的詳細資料,請參閱相關知識。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.HealthService.CollectionRule.Performance.SendQueuePercentUsedMonitor" Accessibility="Public" Enabled="true" Target="SCLibrary!Microsoft.SystemCenter.Agent" ParentMonitorID="Microsoft.SystemCenter.HealthService.PerformanceHealthRollup" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.HealthService.ConsecutiveSampleDoubleThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.HealthService.CollectionRule.Performance.SendQueuePercentUsedMonitor_AlertMessageResourceID">
<AlertOnState>Error</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>Error</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="BelowThreshold" MonitorTypeStateID="UnderWarningThreshold" HealthState="Success"/>
<OperationalState ID="BetweenThresholds" MonitorTypeStateID="OverWarningThresholdUnderErrorThreshold" HealthState="Warning"/>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverErrorThreshold" HealthState="Error"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Send Queue % Used</CounterName>
<ObjectName>Health Service Management Groups</ObjectName>
<InstanceName>$Target/ManagementGroup/Name$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>180</Frequency>
<PercentFull>95</PercentFull>
<NumSamples>3</NumSamples>
<WarningThreshold>90</WarningThreshold>
<ErrorThreshold>95</ErrorThreshold>
</Configuration>
</UnitMonitor>