Wenn es sich hierbei um eine geclusterte Instanz von MSMQ handelt, dann liegt dies an einer Einschränkung beim Lesen von Leistungsindikatoren aus geclusterten Instanzen. Der folgende Artikel enthält weitere Informationen zu diesem Problem http://support.microsoft.com/kb/884975.
Fügen Sie den folgenden Registrierungsunterschlüssel hinzu, um nur eine geclusterte Instanz von Message Queuing zu überwachen: HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters\<NetNameForPerfCounters>
Gehen Sie wie folgt vor, um einen Registrierungsunterschlüssel hinzuzufügen:
1. | Klicken Sie auf Start, geben Sie regedit ein, und klicken Sie dann auf OK. |
2. | Suchen Sie im Registrierungs-Editor den folgenden Registrierungsunterschlüssel: HKEY_LOCAL_MACHINE\Software\Microsoft\MSMQ\Parameters |
3. | Klicken Sie mit der rechten Maustaste auf Parameters, zeigen Sie auf Neu, und klicken Sie dann auf Zeichenfolgenwert. |
4. | Ersetzen Sie im rechten Bereich "Neuer Wert" durch "NetNameForPerfCounters". "NetNameForPerfCounters" ist der Netzwerkname der geclusterten Instanz von Message Queuing, die Sie überwachen möchten. Geben Sie den Namen in Großbuchstaben ein. |
Nachdem Sie den Registrierungsunterschlüssel hinzugefügt haben, müssen Sie Message Queuing neu starten.
Target | Microsoft.MSMQ.6.3.Servers | ||
Category | ConfigurationHealth | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Operations Manager |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DS | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.MSMQ.6.3.Rule.Alert.PerformanceCountersNotAvailable" Enabled="true" Target="Microsoft.MSMQ.6.3.Servers" ConfirmDelivery="true" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>ConfigurationHealth</Category>
<DataSources>
<DataSource ID="DS" TypeID="Windows!Microsoft.Windows.EventProvider">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Operations Manager</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>Health Service Modules</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>10102</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Params/Param[3]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>Params/Param[5]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>MSMQ Service</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertOwner/>
<AlertMessageId>$MPElement[Name="Microsoft.MSMQ.6.3.Rule.Alert.PerformanceCountersNotAvailable.AlertName"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventDisplayNumber$</SuppressionValue>
<SuppressionValue>$Data/LoggingComputer$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>