为事务连接 APM 事件生成警报

Microsoft.SystemCenter.Apm.FunctionTransaction.AlertConnectivityAspectRule (Rule)

Knowledge Base article:

摘要

如果每个指定时段内的连接事件总数超过监视器阈值,则实例状态将变为不正常。

原因

应用程序中出现的阻止正常应用程序流的连接错误会导致生成连接警报。 警报详细信息字段显示相关的说明,它包含了失败的函数的名称,以及用于解决问题的操作上下文。 配置异常由问题引起,通常无需访问源代码即可通过改变环境或配置解决这些问题。 此类问题可能与无法访问或不正确的数据库服务器、Web 服务或不存在的文件相关。

解决方法

由于访问外部资源出现问题,因此,未处理的异常会引发连接警报。 要解决这些问题,请检查

1) 警报和事件的说明,

2) 操作目标,例如 Microsoft SQL Server,

3) 尝试执行(例如连接到服务器)的方法,以及

4) 安全上下文连接和执行标识的详细信息。 通过使用此信息,验证环境和配置以确保外部资源的可用性。

Element properties:

TargetMicrosoft.SystemCenter.Apm.FunctionTransaction
CategoryAlert
EnabledFalse
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
事务连接异常
{1} 上应用程序 {0} 的事务 {5} 发生连接故障。 在“{4}”中引发了“{2}”类型的异常,而且显示消息“{3}”。 有关其他详细信息,请使用以下链接: $Url[Query='{6}']/APMEvent$

Member Modules:

ID Module Type TypeId RunAs 
LOBProvider DataSource Microsoft.SystemCenter.Apm.FunctionTransaction.LobDataProvider Default
AlertWriteAction WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SystemCenter.Apm.FunctionTransaction.AlertConnectivityAspectRule" Enabled="false" ConfirmDelivery="true" Target="Microsoft.SystemCenter.Apm.FunctionTransaction">
<Category>Alert</Category>
<DataSources>
<DataSource ID="LOBProvider" TypeID="Microsoft.SystemCenter.Apm.FunctionTransaction.LobDataProvider">
<Name>$Target/Host/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</Name>
<AspectType>connectivity</AspectType>
<RootName>$Target/Property[Type="Microsoft.SystemCenter.Apm.FunctionTransaction"]/FunctionName$</RootName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="AlertWriteAction" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertName/>
<AlertDescription/>
<AlertMessageId>$MPElement[Name='Microsoft.SystemCenter.Apm.FunctionTransaction.AlertConnectivityAspectRule.AlertMessage']$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Target/Host/Property[Type="Microsoft.SystemCenter.Apm.ApplicationInstanceBase"]/ApplicationName$</AlertParameter1>
<AlertParameter2>$Target/Host/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</AlertParameter2>
<AlertParameter3>$Data/EventData/exceptionclass$</AlertParameter3>
<AlertParameter4>$Data/EventData/message$</AlertParameter4>
<AlertParameter5>$Data/EventData/name$</AlertParameter5>
<AlertParameter6>$Target/Property[Type="Microsoft.SystemCenter.Apm.TransactionBase"]/TransactionName$</AlertParameter6>
<AlertParameter7>$Data/EventData/ViewDetail$</AlertParameter7>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
<Custom1>Connectivity</Custom1>
</WriteAction>
</WriteActions>
</Rule>