Hiermit wird der Integritätsdienst neu gestartet, wenn der Schwellenwert "Prozess\Private Bytes" vom Prozess "MonitoringHost.exe" überschritten wird.
Mit dieser Regel wird die Verwendung der verarbeiteten\privaten Bytes für alle Instanzen des Prozesses "MonitoringHost.exe" gemessen. Überschreitet sie den konfigurierten Schwellenwert, wird eine Warnung erzeugt.
Es gibt verschiedene Schwellenwerte, je nachdem, für welche Rolle der Integritätsdienst konfiguriert wurde. Nachfolgend werden die Standardschwellenwerte zusammengefasst:
Integritätsdienstrolle | Schwellenwert für private Bytes |
Agent | 100 MB |
Verwaltungsserver | 1.500 MB |
Unten steht die Konfiguration für die Antwort, die versucht, den Integritätsdienst neu zu starten:
Integritätsdienstrolle | Neustart-Antwortverhalten |
Agent | Aktiviert |
Verwaltungsserver | Keine Neustartantwort |
Im Folgenden finden Sie eine kurze Zusammenfassung der möglichen Ursachen:
Es werden zu viele Regeln und Monitore aus allen Management Packs geladen, mit denen dieser Integritätsdienst konfiguriert wurde. |
Von einer falsch konfigurierten Regel oder Überwachung werden zu viele Daten erfasst oder verarbeitet (Beispiel: mit der Leistungsindikator-Sammlungsregel werden einmal pro Sekunde Daten erfasst) |
Dies kann dadurch verursacht werden, dass vom Integritätsdienst zu viele Management Packs ausgeführt werden. Für jedes Management Pack können zahlreiche Überwachungen definiert sein, die eine geringe Anzahl von Ressourcen beanspruchen. Bei vielen Management Packs ergeben sich viele tausend Regeln und Monitore, so dass durch jede Instanz von "MonitoringHost.exe" mit der Zeit immer mehr Ressourcen belegt werden.
Je nach Art der vom Integritätsdienst ausgeführten Überwachung, kann dies auch bei diesem Integritätsdienst erwartet werden.
Eine weitere Ursache könnten eine oder mehrere Regeln und Überwachungen sein, die mit einigen der Best Practices nicht übereinstimmen. Ein Beispiel ist eine Leistungsindikatorregel, die versucht, einmal pro Sekunde Leistungsdaten zu erfassen. Bei zu vielen auf diese Art konfigurierten Regeln oder Monitoren beansprucht der Prozess "MonitoringHost.exe" mehr Ressourcen.
Die auf Verwaltungsservern durchgeführte Standardaktion für diese Regel ist eine Warnung.
Wenn die Ressourcenverwendung für den von diesem Agenten durchgeführten Überwachungsaufwand Ihrer Meinung nach angemessen ist, können Sie den Schwellenwert außer Kraft setzen oder die Wiederherstellung deaktivieren.
Nehmen der HealthService und der zugeordnete Prozess "MonitoringHost.exe" immer noch zu viele Ressourcen in Anspruch, können Sie den Windows-Dienst HealthService neu starten, um dieses Problem zu lindern.
Target | Microsoft.SystemCenter.ManagementServer | ||
Category | Maintenance | ||
Enabled | False | ||
Instance Name | Process | ||
Counter Name | Private Bytes | ||
Frequency | 120 | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
|
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DataSource | DataSource | System.Performance.DataProvider | Default |
CDAveragerThreshold | ConditionDetection | System.Performance.AverageThresholdCondition | Default |
Alert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SystemCenter.ManagementServer.MonitoringHost.PrivateBytesThreshold" Enabled="false" Target="SCLibrary!Microsoft.SystemCenter.ManagementServer" ConfirmDelivery="false" Remotable="true" Priority="High" DiscardLevel="100">
<Category>Maintenance</Category>
<DataSources>
<DataSource ID="DataSource" TypeID="Performance!System.Performance.DataProvider">
<CounterName>Private Bytes</CounterName>
<ObjectName>Process</ObjectName>
<InstanceName>MonitoringHost*</InstanceName>
<Frequency>120</Frequency>
</DataSource>
</DataSources>
<ConditionDetection ID="CDAveragerThreshold" TypeID="Performance!System.Performance.AverageThresholdCondition">
<NumSamples>5</NumSamples>
<Threshold>1610612736</Threshold>
<Operator>Greater</Operator>
</ConditionDetection>
<WriteActions>
<WriteAction ID="Alert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.SystemCenter.ManagementServer.MonitoringHost.PrivateBytesThreshold.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/InstanceName$</AlertParameter1>
<AlertParameter2>$Data/Value$</AlertParameter2>
</AlertParameters>
<Suppression>
<SuppressionValue>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>