应用程序组件的空目标组监视器

Microsoft.SystemCenter.Apm.ApplicationComponentGroup.EmptyApplicationComponentsMonitor (UnitMonitor)

应用程序组件的空目标组监视器检查是否有不包含任何承载应用程序的服务器的目标组。

Knowledge Base article:

摘要

如果应用程序组件的作用域为空目标组,则实例状态将变为不正常。

原因

.NET 应用程序性能监视模板允许你指定一个目标组,该目标组将监视范围限制为该计算机组的成员。目标组可在应用程序组级别设置,或通过自定义设置对话框针对个别应用程序组件具体设置。如果目标组为空或未包含任何承载应用程序组件的服务器,则不会监视应用程序组件。

解决方法

在你将不正常应用程序组件的目标组更新为包含承载应用程序的服务器的计算机组后,此问题将解决。要将目标组更新为有效的计算机组,请使用操作控制台,转到创作空间,并使用以下步骤:

Element properties:

TargetMicrosoft.SystemCenter.ApplicationMonitoring.Net.ApplicationComponentGroup
Parent MonitorSystem.Health.ConfigurationState
CategoryConfigurationHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Windows.2SingleEventLog2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
应用程序组件的空目标组
{0} 中包括的应用程序组件 {1} 的作用域由不包含任何承载应用程序的服务器的目标组确定。在更新目标组以包括承载应用程序的服务器之前,将不会监视这些应用程序组件。
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.Apm.ApplicationComponentGroup.EmptyApplicationComponentsMonitor" Accessibility="Public" Enabled="true" ParentMonitorID="Health!System.Health.ConfigurationState" Target="ApplicationMonitoring!Microsoft.SystemCenter.ApplicationMonitoring.Net.ApplicationComponentGroup" TypeID="Windows!Microsoft.Windows.2SingleEventLog2StateMonitorType" Remotable="true" Priority="Normal" ConfirmDelivery="false">
<Category>ConfigurationHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.Apm.ApplicationComponentGroup.EmptyApplicationComponentsMonitor.AlertMessageResourceID">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Target/Property[Type="ApplicationMonitoring!Microsoft.SystemCenter.ApplicationMonitoring.Net.ApplicationComponentGroup"]/ApplicationName$</AlertParameter1>
<AlertParameter2>$Data/Context/DataItem/Params/Param[5]$</AlertParameter2>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="Success" MonitorTypeStateID="SecondEventRaised" HealthState="Success"/>
<OperationalState ID="Warning" MonitorTypeStateID="FirstEventRaised" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<FirstComputerName>.</FirstComputerName>
<FirstLogName>Operations Manager</FirstLogName>
<FirstExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">.NET app monitoring</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">34433</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[4]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Id$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</FirstExpression>
<SecondComputerName>.</SecondComputerName>
<SecondLogName>Operations Manager</SecondLogName>
<SecondExpression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">.NET app monitoring</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="UnsignedInteger">EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="UnsignedInteger">34416</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Params/Param[4]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Id$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</SecondExpression>
</Configuration>
</UnitMonitor>