Enterprise .NET Windows Service

AVIcode.DotNet.SystemCenter.WinServiceApplication.Template (Template)

This template allows you to monitor a .NET Windows Service. You can choose from a list of applications and supply a monitoring configuration for the selected application.

Source Code:

<Template ID="AVIcode.DotNet.SystemCenter.WinServiceApplication.Template">
<Configuration>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="TypeId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Name" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ApplicationName" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="Description" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="LocaleId" type="xsd:string"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="DiscoveryInterval" type="xsd:unsignedInt"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="ThresholdResponseTimeInMiliseconds" type="xsd:unsignedInt"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="SensitivityThreshold" type="xsd:unsignedInt"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="PerformanceCountersSampleInterval" type="xsd:unsignedInt"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IsConnectivityAlertCollectionEnabled" type="xsd:boolean"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IsSecurityAlertCollectionEnabled" type="xsd:boolean"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IsAppFailureAlertCollectionEnabled" type="xsd:boolean"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="IsPerformanceAlertCollectionEnabled" type="xsd:boolean"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CollectAvgExecTime" type="xsd:boolean"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CollectRequest" type="xsd:boolean"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CollectExceptions" type="xsd:boolean"/>
<xsd:element xmlns:xsd="http://www.w3.org/2001/XMLSchema" name="CollectPerformance" type="xsd:boolean"/>
</Configuration>
<References>
<Reference ID="System"/>
<Reference ID="SC"/>
<Reference ID="SCDW"/>
<Reference ID="Windows"/>
<Reference ID="Self"/>
<Reference ID="Performance"/>
<Reference ID="Health"/>
<Reference ID="IISCommon"/>
<Reference ID="NTService"/>
<Reference ID="ServiceDesigner"/>
</References>
<Implementation>
<TypeDefinitions>
<EntityTypes>
<ClassTypes>
<ClassType ID="$TemplateConfig/TypeId$" Base="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication" Abstract="false" Accessibility="Internal" Hosted="true"/>
<ClassType ID="$TemplateConfig/TypeId$.ApplicationMonitoring" Base="$Reference/Self$AVIcode.DotNet.SystemCenter.ApplicationMonitoring" Accessibility="Public" Abstract="false" Hosted="true" Singleton="false"/>
<ClassType ID="$TemplateConfig/TypeId$.DistributedApplication" Base="$Reference/Self$AVIcode.DotNet.SystemCenter.DistributedApplication.DotNetWinServiceApplication" Accessibility="Internal" Abstract="false" Hosted="false" Singleton="true"/>
<ClassType ID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup" Base="$Reference/ServiceDesigner$Microsoft.SystemCenter.ServiceDesigner.ServiceComponentGroup" Accessibility="Public" Abstract="false" Hosted="false" Singleton="true"/>
</ClassTypes>
<RelationshipTypes>
<RelationshipType ID="$TemplateConfig/TypeId$Hosts$TemplateConfig/TypeId$.ApplicationMonitoring" Accessibility="Public" Abstract="false" Base="$Reference/System$System.Hosting">
<Source>$TemplateConfig/TypeId$</Source>
<Target>$TemplateConfig/TypeId$.ApplicationMonitoring</Target>
</RelationshipType>
<RelationshipType ID="DistributedApplicationContainment.$TemplateConfig/TypeId$.ApplicationMonitoringGroup" Accessibility="Public" Abstract="false" Base="$Reference/System$System.Containment">
<Source>$TemplateConfig/TypeId$.DistributedApplication</Source>
<Target>$TemplateConfig/TypeId$.ApplicationMonitoringGroup</Target>
</RelationshipType>
<RelationshipType ID="ApplicationMonitoringGroupContain.$TemplateConfig/TypeId$.ApplicationMonitoring" Accessibility="Public" Abstract="false" Base="$Reference/System$System.Containment">
<Source>$TemplateConfig/TypeId$.ApplicationMonitoringGroup</Source>
<Target>$TemplateConfig/TypeId$.ApplicationMonitoring</Target>
</RelationshipType>
</RelationshipTypes>
</EntityTypes>
<ModuleTypes/>
<MonitorTypes/>
</TypeDefinitions>
<Monitoring>
<Discoveries>
<Discovery ID="$TemplateConfig/TypeId$.DistributedApplicationDiscovery" Enabled="true" Target="$TemplateConfig/TypeId$.DistributedApplication" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="DistributedApplicationContainment.$TemplateConfig/TypeId$.ApplicationMonitoringGroup"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="$Reference/SC$Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="$TemplateConfig/TypeId$.ApplicationMonitoringGroup"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="DistributedApplicationContainment.$TemplateConfig/TypeId$.ApplicationMonitoringGroup"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="$TemplateConfig/TypeId$.ApplicationMonitoringGroupDiscovery" Enabled="true" Target="$TemplateConfig/TypeId$.ApplicationMonitoringGroup" ConfirmDelivery="false" Remotable="true" Priority="Normal">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryRelationship TypeID="ApplicationMonitoringGroupContain.$TemplateConfig/TypeId$.ApplicationMonitoring"/>
</DiscoveryTypes>
<DataSource ID="DS" TypeID="$Reference/SC$Microsoft.SystemCenter.GroupPopulator">
<RuleId>$MPElement$</RuleId>
<GroupInstanceId>$Target/Id$</GroupInstanceId>
<MembershipRules>
<MembershipRule>
<MonitoringClass>$MPElement[Name="$TemplateConfig/TypeId$.ApplicationMonitoring"]$</MonitoringClass>
<RelationshipClass>$MPElement[Name="ApplicationMonitoringGroupContain.$TemplateConfig/TypeId$.ApplicationMonitoring"]$</RelationshipClass>
</MembershipRule>
</MembershipRules>
</DataSource>
</Discovery>
<Discovery ID="$TemplateConfig/TypeId$.DotNetWinServiceApplication.Rule" Enabled="true" Target="$Reference/Windows$Microsoft.Windows.Computer" Remotable="false">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="$TemplateConfig/TypeId$">
<Property TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication" PropertyID="ApplicationName"/>
<Property TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication" PropertyID="Monitor"/>
<Property TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication" PropertyID="AlertingThreshold"/>
<Property TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication" PropertyID="SensitivityThreshold"/>
<Property TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication" PropertyID="ExceptionDiagnostic"/>
<Property TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication" PropertyID="PerformanceDiagnostic"/>
<Property TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication" PropertyID="SEViewerComputerDetail"/>
<Property TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication" PropertyID="SEViewerApplicationDetail"/>
</DiscoveryClass>
</DiscoveryTypes>
<DataSource ID="Discovery" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication.DiscoveryMapper.DataSource">
<Frequency>$TemplateConfig/DiscoveryInterval$</Frequency>
<ServiceName>$TemplateConfig/ApplicationName$</ServiceName>
<AlertingThreshold>$TemplateConfig/ThresholdResponseTimeInMiliseconds$</AlertingThreshold>
<SensitivityThreshold>$TemplateConfig/SensitivityThreshold$</SensitivityThreshold>
<ClassId>$MPElement[Name="$TemplateConfig/TypeId$"]$</ClassId>
<TimeoutSeconds>300</TimeoutSeconds>
<SafeEnable>false</SafeEnable>
<DiscoveryEnable>false</DiscoveryEnable>
<InstanceSettings>
<Settings>
<Setting>
<Name>$MPElement[Name="$Reference/Windows$Microsoft.Windows.Computer"]/PrincipalName$</Name>
<Value>$Target/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/PrincipalName$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication"]/ApplicationName$</Name>
<Value>$Data/Property[@Name='ApplicationName']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/NTService$Microsoft.SystemCenter.NTService"]/ServiceName$</Name>
<Value>$Data/Property[@Name='ServiceName']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/NTService$Microsoft.SystemCenter.NTService"]/ServiceProcessName$</Name>
<Value>$Data/Property[@Name='ServiceProcessName']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Name>
<Value>$Data/Property[@Name='DisplayName']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/NTService$Microsoft.SystemCenter.NTService"]/Description$</Name>
<Value>$Data/Property[@Name='Description']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication"]/AlertingThreshold$</Name>
<Value>$Data/Property[@Name='AlertingThreshold']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication"]/SensitivityThreshold$</Name>
<Value>$Data/Property[@Name='SensitivityThreshold']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication"]/Monitor$</Name>
<Value>$Data/Property[@Name='Monitor']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication"]/ExceptionDiagnostic$</Name>
<Value>$Data/Property[@Name='ExceptionDiagnostic']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication"]/PerformanceDiagnostic$</Name>
<Value>$Data/Property[@Name='PerformanceDiagnostic']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication"]/SEViewerComputerDetail$</Name>
<Value>$Data/Property[@Name='SEViewerComputerDetail']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetWinServiceApplication"]/SEViewerApplicationDetail$</Name>
<Value>$Data/Property[@Name='SEViewerApplicationDetail']$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/System$System.Entity"]/DisplayName$</Name>
<Value>$TemplateConfig/Name$</Value>
</Setting>
</Settings>
</InstanceSettings>
</DataSource>
</Discovery>
<Discovery ID="$TemplateConfig/TypeId$.ApplicationMonitoring.Rule" Enabled="true" Target="$TemplateConfig/TypeId$" Remotable="false">
<Category>Discovery</Category>
<DiscoveryTypes>
<DiscoveryClass TypeID="$TemplateConfig/TypeId$.ApplicationMonitoring"/>
</DiscoveryTypes>
<DataSource ID="Discovery" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.ApplicationMonitoring.DiscoveryMapper">
<IntervalSeconds>$TemplateConfig/DiscoveryInterval$</IntervalSeconds>
<ClassId>$MPElement[Name="$TemplateConfig/TypeId$.ApplicationMonitoring"]$</ClassId>
<InstanceSettings>
<Settings>
<Setting>
<Name>$MPElement[Name="$Reference/Windows$Microsoft.Windows.Computer"]/PrincipalName$</Name>
<Value>$Target/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/PrincipalName$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/System$System.Entity"]/DisplayName$</Name>
<Value>Application monitoring: $TemplateConfig/Name$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/NTService$Microsoft.SystemCenter.NTService"]/ServiceName$</Name>
<Value>$Target/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/ServiceName$</Value>
</Setting>
<Setting>
<Name>$MPElement[Name="$Reference/Self$AVIcode.DotNet.SystemCenter.ApplicationMonitoring"]/Path$</Name>
<Value>$Target/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/PrincipalName$</Value>
</Setting>
</Settings>
</InstanceSettings>
</DataSource>
</Discovery>
</Discoveries>
<Rules>
<!-- Discovery rule -->
<Rule ID="$TemplateConfig/TypeId$.InitializeDiscovery" Enabled="true" Target="$Reference/Windows$Microsoft.Windows.Computer" ConfirmDelivery="true" Remotable="false">
<Category>Custom</Category>
<DataSources>
<DataSource ID="Scheduler" TypeID="$Reference/System$System.SimpleScheduler">
<IntervalSeconds>$TemplateConfig/DiscoveryInterval$</IntervalSeconds>
<SyncTime/>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="RaiseEvent" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.InitiateApplicationDiscovery">
<TimeoutSeconds>600</TimeoutSeconds>
<ApplicationName>$TemplateConfig/ApplicationName$</ApplicationName>
</WriteAction>
</WriteActions>
</Rule>
<!-- Event Rules -->
<Rule ID="$TemplateConfig/TypeId$.CollectLOBExceptionEvents" Enabled="$TemplateConfig/IsAppFailureAlertCollectionEnabled$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" ConfirmDelivery="false" Remotable="false" Priority="Normal">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="$TemplateConfig/TypeId$.WmiEventSource" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetEventProvider">
<NameSpace>root\cimv2</NameSpace>
<Query>SELECT eventData, constructionString, eventClass, eventClassVersion, eventSource, computerName FROM NetMonitorEvent</Query>
<Name>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Name>
<Source>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Source>
<PollInterval>300</PollInterval>
<aspectType>applicationfailure</aspectType>
<EventNumber>9999</EventNumber>
<EventLevel>1</EventLevel>
<Channel>.NET Exception event provider</Channel>
<LoggingComputer>$Target/Host/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/PrincipalName$</LoggingComputer>
</DataSource>
</DataSources>
<ConditionDetection ID="LobFilterEvent" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.EventExceptionFilter"/>
<WriteActions>
<WriteAction ID="$TemplateConfig/TypeId$CollectEvent" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectEvent"/>
</WriteActions>
</Rule>
<Rule ID="$TemplateConfig/TypeId$.CollectLOBPerformanceEvents" Enabled="$TemplateConfig/IsPerformanceAlertCollectionEnabled$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" ConfirmDelivery="false" Remotable="false" Priority="Normal">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="$TemplateConfig/TypeId$.WmiEventSource" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetEventProvider">
<NameSpace>root\cimv2</NameSpace>
<Query>SELECT eventData, constructionString, eventClass, eventClassVersion, eventSource, computerName FROM NetMonitorEvent</Query>
<Name>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Name>
<Source>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Source>
<PollInterval>300</PollInterval>
<aspectType>performance</aspectType>
<EventNumber>9998</EventNumber>
<EventLevel>2</EventLevel>
<Channel>.NET Performance event provider</Channel>
<LoggingComputer>$Target/Host/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/PrincipalName$</LoggingComputer>
</DataSource>
</DataSources>
<ConditionDetection ID="LobFilterEvent" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.EventPerformanceFilter"/>
<WriteActions>
<WriteAction ID="$TemplateConfig/TypeId$CollectEvent" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectEvent"/>
</WriteActions>
</Rule>
<Rule ID="$TemplateConfig/TypeId$.CollectLOBConnectivityEvents" Enabled="$TemplateConfig/IsConnectivityAlertCollectionEnabled$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" ConfirmDelivery="false" Remotable="false" Priority="Normal">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="$TemplateConfig/TypeId$.WmiEventSource" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetEventProvider">
<NameSpace>root\cimv2</NameSpace>
<Query>SELECT eventData, constructionString, eventClass, eventClassVersion, eventSource, computerName FROM NetMonitorEvent</Query>
<Name>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Name>
<Source>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Source>
<PollInterval>300</PollInterval>
<aspectType>connectivity</aspectType>
<EventNumber>9997</EventNumber>
<EventLevel>1</EventLevel>
<Channel>.NET Connectivity event provider</Channel>
<LoggingComputer>$Target/Host/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/PrincipalName$</LoggingComputer>
</DataSource>
</DataSources>
<ConditionDetection ID="LobFilterEvent" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.EventExceptionFilter"/>
<WriteActions>
<WriteAction ID="$TemplateConfig/TypeId$CollectEvent" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectEvent"/>
</WriteActions>
</Rule>
<Rule ID="$TemplateConfig/TypeId$.CollectLOBSecurityEvents" Enabled="$TemplateConfig/IsSecurityAlertCollectionEnabled$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" ConfirmDelivery="false" Remotable="false" Priority="Normal">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="$TemplateConfig/TypeId$.WmiEventSource" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.DotNetEventProvider">
<NameSpace>root\cimv2</NameSpace>
<Query>SELECT eventData, constructionString, eventClass, eventClassVersion, eventSource, computerName FROM NetMonitorEvent</Query>
<Name>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Name>
<Source>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Source>
<PollInterval>300</PollInterval>
<aspectType>security</aspectType>
<EventNumber>9996</EventNumber>
<EventLevel>1</EventLevel>
<Channel>.NET Security event provider</Channel>
<LoggingComputer>$Target/Host/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/PrincipalName$</LoggingComputer>
</DataSource>
</DataSources>
<ConditionDetection ID="LobFilterEvent" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.EventExceptionFilter"/>
<WriteActions>
<WriteAction ID="$TemplateConfig/TypeId$CollectEvent" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectEvent"/>
</WriteActions>
</Rule>
<!--Alert rules -->
<Rule ID="$TemplateConfig/TypeId$.PerformanceExceptionAlert" Enabled="$TemplateConfig/IsPerformanceAlertCollectionEnabled$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" Remotable="false">
<Category>Custom</Category>
<DataSources>
<DataSource ID="WmiEventSource" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.LobDataProvider">
<NameSpace>root\cimv2</NameSpace>
<Query>SELECT eventData, constructionString, eventClass, eventClassVersion, eventSource, computerName FROM NetMonitorEvent</Query>
<Name>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Name>
<PollInterval>300</PollInterval>
<aspectType>performance</aspectType>
</DataSource>
</DataSources>
<ConditionDetection ID="LobFilterEvent" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.PerformanceFilter"/>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.GeneratePerformanceAspectAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AspectName>Performance</AspectName>
<AlertName>.NET Windows Service Performance Exception Generated</AlertName>
<AlertDescription>'$data/EventData/problemDescription$' exceeded configured alerting threshold for application $TemplateConfig/Name$.</AlertDescription>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>
<Rule ID="$TemplateConfig/TypeId$.ExceptionAlert" Enabled="$TemplateConfig/IsAppFailureAlertCollectionEnabled$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" Remotable="false">
<Category>Custom</Category>
<DataSources>
<DataSource ID="WmiEventSource" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.LobDataProvider">
<NameSpace>root\cimv2</NameSpace>
<Query>SELECT eventData, constructionString, eventClass, eventClassVersion, eventSource, computerName FROM NetMonitorEvent</Query>
<Name>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Name>
<PollInterval>300</PollInterval>
<aspectType>applicationfailure</aspectType>
</DataSource>
</DataSources>
<ConditionDetection ID="LobFilterEvent" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.ExceptionFilter"/>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.GenerateAspectAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AspectName>Application Failure</AspectName>
<AlertName>.NET Windows Service Exception Generated</AlertName>
<AlertDescription>$data/EventData/problemDescription$</AlertDescription>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>
<Rule ID="$TemplateConfig/TypeId$.ConnectivityExceptionAlert" Enabled="$TemplateConfig/IsConnectivityAlertCollectionEnabled$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" Remotable="false">
<Category>Custom</Category>
<DataSources>
<DataSource ID="WmiEventSource" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.LobDataProvider">
<NameSpace>root\cimv2</NameSpace>
<Query>SELECT eventData, constructionString, eventClass, eventClassVersion, eventSource, computerName FROM NetMonitorEvent</Query>
<Name>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Name>
<PollInterval>300</PollInterval>
<aspectType>connectivity</aspectType>
</DataSource>
</DataSources>
<ConditionDetection ID="LobFilterEvent" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.ExceptionFilter"/>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.GenerateAspectAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AspectName>Connectivity</AspectName>
<AlertName>.NET Windows Service Connectivity Exception Generated</AlertName>
<AlertDescription>$data/EventData/problemDescription$</AlertDescription>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>
<Rule ID="$TemplateConfig/TypeId$.SecurityExceptionAlert" Enabled="$TemplateConfig/IsSecurityAlertCollectionEnabled$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" Remotable="false">
<Category>Custom</Category>
<DataSources>
<DataSource ID="WmiEventSource" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.LobDataProvider">
<NameSpace>root\cimv2</NameSpace>
<Query>SELECT eventData, constructionString, eventClass, eventClassVersion, eventSource, computerName FROM NetMonitorEvent</Query>
<Name>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</Name>
<PollInterval>300</PollInterval>
<aspectType>security</aspectType>
</DataSource>
</DataSources>
<ConditionDetection ID="LobFilterEvent" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.ExceptionFilter"/>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="$Reference/Self$AVIcode.DotNet.SystemCenter.GenerateAspectAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AspectName>Security</AspectName>
<AlertName>.NET Windows Service Security Exception Generated</AlertName>
<AlertDescription>$data/EventData/problemDescription$</AlertDescription>
<Suppression>
<SuppressionValue>$Data/EventData/eventConsolidationHash$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>
<!-- Performance Counters Rules -->
<Rule ID="$TemplateConfig/TypeId$.NetApps.AvgRequestTime.Rule" Enabled="$TemplateConfig/CollectAvgExecTime$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="$Reference/Performance$System.Performance.OptimizedDataProvider">
<ComputerName>$Target/Host/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Avg. Request Time</CounterName>
<ObjectName>.NET Apps</ObjectName>
<InstanceName>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$TemplateConfig/PerformanceCountersSampleInterval$</Frequency>
<Tolerance>0</Tolerance>
<ToleranceType>Absolute</ToleranceType>
<MaximumSampleSeparation>1</MaximumSampleSeparation>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="$Reference/SCDW$Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>
<Rule ID="$TemplateConfig/TypeId$.NetApps.ExceptionEvents.Rule" Enabled="$TemplateConfig/CollectExceptions$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="$Reference/Performance$System.Performance.OptimizedDataProvider">
<ComputerName>$Target/Host/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Exception Events/sec</CounterName>
<ObjectName>.NET Apps</ObjectName>
<InstanceName>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$TemplateConfig/PerformanceCountersSampleInterval$</Frequency>
<Tolerance>0</Tolerance>
<ToleranceType>Absolute</ToleranceType>
<MaximumSampleSeparation>1</MaximumSampleSeparation>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="$Reference/SCDW$Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>
<Rule ID="$TemplateConfig/TypeId$.NetApps.MonitoredRequests.Rule" Enabled="$TemplateConfig/CollectRequest$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="$Reference/Performance$System.Performance.OptimizedDataProvider">
<ComputerName>$Target/Host/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Monitored Requests/sec</CounterName>
<ObjectName>.NET Apps</ObjectName>
<InstanceName>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$TemplateConfig/PerformanceCountersSampleInterval$</Frequency>
<Tolerance>0</Tolerance>
<ToleranceType>Absolute</ToleranceType>
<MaximumSampleSeparation>1</MaximumSampleSeparation>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="$Reference/SCDW$Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>
<Rule ID="$TemplateConfig/TypeId$.NetApps.PerformanceEvents.Rule" Enabled="$TemplateConfig/CollectPerformance$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="$Reference/Performance$System.Performance.OptimizedDataProvider">
<ComputerName>$Target/Host/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>Performance Events/sec</CounterName>
<ObjectName>.NET Apps</ObjectName>
<InstanceName>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$TemplateConfig/PerformanceCountersSampleInterval$</Frequency>
<Tolerance>0</Tolerance>
<ToleranceType>Absolute</ToleranceType>
<MaximumSampleSeparation>1</MaximumSampleSeparation>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="$Reference/SCDW$Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>
<Rule ID="$TemplateConfig/TypeId$.AspAppsEmulated.ExceptionsRate.Rule" Enabled="$TemplateConfig/CollectExceptions$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="$Reference/Performance$System.Performance.OptimizedDataProvider">
<ComputerName>$Target/Host/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Exception Events/sec</CounterName>
<ObjectName>.NET Apps</ObjectName>
<InstanceName>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$TemplateConfig/PerformanceCountersSampleInterval$</Frequency>
<Tolerance>0</Tolerance>
<ToleranceType>Absolute</ToleranceType>
<MaximumSampleSeparation>1</MaximumSampleSeparation>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="$Reference/SCDW$Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>
<Rule ID="$TemplateConfig/TypeId$.AspAppsEmulated.PerformanceRate.Rule" Enabled="$TemplateConfig/CollectPerformance$" Target="$TemplateConfig/TypeId$.ApplicationMonitoring" ConfirmDelivery="false" Remotable="false" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="$Reference/Performance$System.Performance.OptimizedDataProvider">
<ComputerName>$Target/Host/Host/Property[Type="$Reference/Windows$Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>% Performance Events/sec</CounterName>
<ObjectName>.NET Apps</ObjectName>
<InstanceName>$Target/Host/Property[Type="$Reference/NTService$Microsoft.SystemCenter.NTService"]/DisplayName$</InstanceName>
<AllInstances>false</AllInstances>
<Frequency>$TemplateConfig/PerformanceCountersSampleInterval$</Frequency>
<Tolerance>0</Tolerance>
<ToleranceType>Absolute</ToleranceType>
<MaximumSampleSeparation>1</MaximumSampleSeparation>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="$Reference/SC$Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="$Reference/SCDW$Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>
</Rules>
<Monitors>
<DependencyMonitor ID="$TemplateConfig/TypeId$.DependencyMonitor1" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$.DistributedApplication" ParentMonitorID="$Reference/Health$System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="DistributedApplicationContainment.$TemplateConfig/TypeId$.ApplicationMonitoringGroup" MemberMonitor="$Reference/Health$System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
<DependencyMonitor ID="$TemplateConfig/TypeId$.DependencyMonitor2" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$.DistributedApplication" ParentMonitorID="$Reference/Health$System.Health.ConfigurationState" Remotable="true" Priority="Normal" RelationshipType="DistributedApplicationContainment.$TemplateConfig/TypeId$.ApplicationMonitoringGroup" MemberMonitor="$Reference/Health$System.Health.ConfigurationState">
<Category>ConfigurationHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
<DependencyMonitor ID="$TemplateConfig/TypeId$.DependencyMonitor3" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$.DistributedApplication" ParentMonitorID="$Reference/Health$System.Health.SecurityState" Remotable="true" Priority="Normal" RelationshipType="DistributedApplicationContainment.$TemplateConfig/TypeId$.ApplicationMonitoringGroup" MemberMonitor="$Reference/Health$System.Health.SecurityState">
<Category>SecurityHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
<DependencyMonitor ID="$TemplateConfig/TypeId$.DependencyMonitor4" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$.DistributedApplication" ParentMonitorID="$Reference/Health$System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="DistributedApplicationContainment.$TemplateConfig/TypeId$.ApplicationMonitoringGroup" MemberMonitor="$Reference/Health$System.Health.PerformanceState">
<Category>PerformanceHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
<DependencyMonitor ID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor1" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$.ApplicationMonitoringGroup" ParentMonitorID="$Reference/Health$System.Health.AvailabilityState" Remotable="true" Priority="Normal" RelationshipType="ApplicationMonitoringGroupContain.$TemplateConfig/TypeId$.ApplicationMonitoring" MemberMonitor="$Reference/Health$System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
<DependencyMonitor ID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor2" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$.ApplicationMonitoringGroup" ParentMonitorID="$Reference/Health$System.Health.ConfigurationState" Remotable="true" Priority="Normal" RelationshipType="ApplicationMonitoringGroupContain.$TemplateConfig/TypeId$.ApplicationMonitoring" MemberMonitor="$Reference/Health$System.Health.ConfigurationState">
<Category>ConfigurationHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
<DependencyMonitor ID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor3" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$.ApplicationMonitoringGroup" ParentMonitorID="$Reference/Health$System.Health.SecurityState" Remotable="true" Priority="Normal" RelationshipType="ApplicationMonitoringGroupContain.$TemplateConfig/TypeId$.ApplicationMonitoring" MemberMonitor="$Reference/Health$System.Health.SecurityState">
<Category>SecurityHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
<DependencyMonitor ID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor4" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$.ApplicationMonitoringGroup" ParentMonitorID="$Reference/Health$System.Health.PerformanceState" Remotable="true" Priority="Normal" RelationshipType="ApplicationMonitoringGroupContain.$TemplateConfig/TypeId$.ApplicationMonitoring" MemberMonitor="$Reference/Health$System.Health.PerformanceState">
<Category>PerformanceHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
<DependencyMonitor ID="$TemplateConfig/TypeId$.ApplicationMonitoring.AvailabilityState" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$" ParentMonitorID="$Reference/Health$System.Health.AvailabilityState" Remotable="false" Priority="Normal" RelationshipType="$TemplateConfig/TypeId$Hosts$TemplateConfig/TypeId$.ApplicationMonitoring" MemberMonitor="$Reference/Health$System.Health.AvailabilityState">
<Category>AvailabilityHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
<DependencyMonitor ID="$TemplateConfig/TypeId$.ApplicationMonitoring.ConfigurationState" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$" ParentMonitorID="$Reference/Health$System.Health.ConfigurationState" Remotable="false" Priority="Normal" RelationshipType="$TemplateConfig/TypeId$Hosts$TemplateConfig/TypeId$.ApplicationMonitoring" MemberMonitor="$Reference/Health$System.Health.ConfigurationState">
<Category>ConfigurationHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
<DependencyMonitor ID="$TemplateConfig/TypeId$.ApplicationMonitoring.SecurityState" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$" ParentMonitorID="$Reference/Health$System.Health.SecurityState" Remotable="false" Priority="Normal" RelationshipType="$TemplateConfig/TypeId$Hosts$TemplateConfig/TypeId$.ApplicationMonitoring" MemberMonitor="$Reference/Health$System.Health.SecurityState">
<Category>SecurityHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
<DependencyMonitor ID="$TemplateConfig/TypeId$.ApplicationMonitoring.PerformanceState" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$" ParentMonitorID="$Reference/Health$System.Health.PerformanceState" Remotable="false" Priority="Normal" RelationshipType="$TemplateConfig/TypeId$Hosts$TemplateConfig/TypeId$.ApplicationMonitoring" MemberMonitor="$Reference/Health$System.Health.PerformanceState">
<Category>PerformanceHealth</Category>
<Algorithm>WorstOf</Algorithm>
<MemberUnAvailable>Error</MemberUnAvailable>
</DependencyMonitor>
</Monitors>
<Overrides>
<DiscoveryConfigurationOverride ID="$TemplateConfig/TypeId$.DotNetWinServiceApplication.Rule.OverrideForGroup" Context="$Reference/Self$AVIcode.DotNet.SystemCenter.ComputersGroup" Enforced="true" Discovery="$TemplateConfig/TypeId$.DotNetWinServiceApplication.Rule" Parameter="SafeEnable" Module="Discovery">
<Value>true</Value>
</DiscoveryConfigurationOverride>
</Overrides>
</Monitoring>
<Presentation>
<Views>
<View ID="$TemplateConfig/TypeId$.MonitoredRequestsPerformanceView" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$" TypeID="$Reference/SC$Microsoft.SystemCenter.PerformanceViewType" Visible="false">
<Category>Operations</Category>
<Criteria>
<Object>.NET Apps</Object>
<Instance/>
<Counter>/sec</Counter>
</Criteria>
<Presentation/>
<Target/>
</View>
<View ID="$TemplateConfig/TypeId$.AvgRequestTimePerformanceView" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$" TypeID="$Reference/SC$Microsoft.SystemCenter.PerformanceViewType" Visible="false">
<Category>Operations</Category>
<Criteria>
<Object>.NET Apps</Object>
<Instance/>
<Counter>Avg. Request Time</Counter>
</Criteria>
<Presentation/>
<Target/>
</View>
<View ID="$TemplateConfig/TypeId$.AlertView" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$" TypeID="$Reference/SC$Microsoft.SystemCenter.AlertViewType" Visible="false">
<Category>Operations</Category>
<Criteria>
<ResolutionState>
<StateRange Operator="NotEquals">255</StateRange>
</ResolutionState>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="30" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Icon</Name>
<Id>Icon</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Name</Name>
<Id>Name</Id>
</ColumnInfo>
<ColumnInfo Index="2" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Path</Name>
<Id>MonitoringObjectPath</Id>
</ColumnInfo>
<ColumnInfo Index="3" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Severity</Name>
<Id>Severity</Id>
</ColumnInfo>
<ColumnInfo Index="4" SortIndex="-1" Width="300" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Description</Name>
<Id>Description</Id>
</ColumnInfo>
<ColumnInfo Index="5" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Repeat Count</Name>
<Id>RepeatCount</Id>
</ColumnInfo>
<ColumnInfo Index="6" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Last Modified</Name>
<Id>LastModified</Id>
</ColumnInfo>
<ColumnInfo Index="7" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Age</Name>
<Id>Age</Id>
</ColumnInfo>
<ColumnInfo Index="8" SortIndex="1" Width="100" Grouped="false" Sorted="true" IsSortable="true" Visible="true" SortOrder="Descending">
<Name>Created</Name>
<Id>TimeRaised</Id>
</ColumnInfo>
</Presentation>
<Target/>
</View>
<View ID="$TemplateConfig/TypeId$.StateView" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$" TypeID="$Reference/SC$Microsoft.SystemCenter.StateViewType" Visible="false">
<Category>Operations</Category>
<Criteria>
<InMaintenanceMode>false</InMaintenanceMode>
</Criteria>
<Presentation>
<ColumnInfo Index="0" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>State</Name>
<Id>$TemplateConfig/TypeId$</Id>
</ColumnInfo>
<ColumnInfo Index="1" SortIndex="-1" Width="100" Grouped="false" Sorted="false" IsSortable="true" Visible="true" SortOrder="Ascending">
<Name>Path</Name>
<Id>Path</Id>
</ColumnInfo>
</Presentation>
<Target/>
</View>
<View ID="$TemplateConfig/TypeId$.DashboardView" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$" TypeID="$Reference/SC$Microsoft.SystemCenter.DashboardViewType" Visible="true">
<Category>Operations</Category>
<PanelConfiguration Columns="2" Rows="3">
<Cell Row="1" Column="1" ViewID="$TemplateConfig/TypeId$.MonitoredRequestsPerformanceView"/>
<Cell Row="1" Column="2" ViewID="$TemplateConfig/TypeId$.AvgRequestTimePerformanceView"/>
<Cell Row="2" Column="1" ColumnSpan="2" ViewID="$TemplateConfig/TypeId$.StateView"/>
<Cell Row="3" Column="1" ColumnSpan="2" ViewID="$TemplateConfig/TypeId$.AlertView"/>
</PanelConfiguration>
</View>
<View ID="$TemplateConfig/TypeId$.DiagramView" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$.DistributedApplication" TypeID="$Reference/SC$Microsoft.SystemCenter.DiagramViewType" Visible="true">
<Category>Operations</Category>
</View>
<View ID="$TemplateConfig/TypeId$.PerformanceView" Accessibility="Public" Enabled="true" Target="$TemplateConfig/TypeId$.DistributedApplication" TypeID="$Reference/SC$Microsoft.SystemCenter.PerformanceViewType" Visible="true">
<Category>Operations</Category>
</View>
</Views>
<Folders>
<Folder ID="$TemplateConfig/TypeId$.ApplicationFolder" Accessibility="Public" ParentFolder="$Reference/Self$AVIcode.DotNet.SystemCenter.ApplicationMonitoring.Applications"/>
<Folder ID="$TemplateConfig/TypeId$.TransactionFolder" Accessibility="Public" ParentFolder="$TemplateConfig/TypeId$.ApplicationFolder"/>
</Folders>
<FolderItems>
<FolderItem ElementID="$TemplateConfig/TypeId$.DiagramView" Folder="$TemplateConfig/TypeId$.ApplicationFolder"/>
<FolderItem ElementID="$TemplateConfig/TypeId$.MonitoredRequestsPerformanceView" Folder="$TemplateConfig/TypeId$.ApplicationFolder"/>
<FolderItem ElementID="$TemplateConfig/TypeId$.AvgRequestTimePerformanceView" Folder="$TemplateConfig/TypeId$.ApplicationFolder"/>
<FolderItem ElementID="$TemplateConfig/TypeId$.AlertView" Folder="$TemplateConfig/TypeId$.ApplicationFolder"/>
<FolderItem ElementID="$TemplateConfig/TypeId$.StateView" Folder="$TemplateConfig/TypeId$.ApplicationFolder"/>
<FolderItem ElementID="$TemplateConfig/TypeId$.DashboardView" Folder="$TemplateConfig/TypeId$.ApplicationFolder"/>
<FolderItem ElementID="$TemplateConfig/TypeId$.PerformanceView" Folder="$TemplateConfig/TypeId$.ApplicationFolder"/>
<FolderItem ElementID="$TemplateConfig/TypeId$.AlertView" Folder="$TemplateConfig/TypeId$.TransactionFolder"/>
</FolderItems>
</Presentation>
<LanguagePacks>
<LanguagePack ID="$TemplateConfig/LocaleId$">
<DisplayStrings>
<!-- Classes -->
<DisplayString ElementID="$TemplateConfig/TypeId$">
<Name>.NET Windows Service: $TemplateConfig/Name$</Name>
<Description>$TemplateConfig/Description$</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.DistributedApplication">
<Name>$TemplateConfig/Name$</Name>
<Description>$TemplateConfig/Description$</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup">
<Name>$TemplateConfig/Name$ Application Monitoring Group</Name>
<Description>$TemplateConfig/Name$ Application Monitoring Group</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoring">
<Name>$TemplateConfig/Name$ Application Monitoring</Name>
<Description>$TemplateConfig/Name$ Application Monitoring</Description>
</DisplayString>
<!-- Discovery -->
<DisplayString ElementID="$TemplateConfig/TypeId$.DotNetWinServiceApplication.Rule">
<Name>.NET Windows Service $TemplateConfig/Name$ Discovery</Name>
<Description>Discovery of .NET Windows Service $TemplateConfig/Name$</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoring.Rule">
<Name>$TemplateConfig/Name$ Application Monitoring Discovery</Name>
<Description>Discovery of $TemplateConfig/Name$ Application Monitoring</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.DistributedApplicationDiscovery">
<Name>$TemplateConfig/Name$ Distributed Application Discovery</Name>
<Description>Discovery of $TemplateConfig/Name$ Distributed Application</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoringGroupDiscovery">
<Name>$TemplateConfig/Name$ Application Monitoring Group Discovery</Name>
<Description>Discovery of $TemplateConfig/Name$ Application Monitoring Group</Description>
</DisplayString>
<!-- Event rules -->
<DisplayString ElementID="$TemplateConfig/TypeId$.CollectLOBExceptionEvents">
<Name>$TemplateConfig/Name$ exception events collection</Name>
<Description>Collection rule for exception events for $TemplateConfig/Name$</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.CollectLOBPerformanceEvents">
<Name>$TemplateConfig/Name$ performance events collection</Name>
<Description>Collection rule for performance events for $TemplateConfig/Name$</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.CollectLOBConnectivityEvents">
<Name>$TemplateConfig/Name$ connectivity events collection</Name>
<Description>Collection rule for connectivity events for $TemplateConfig/Name$</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.CollectLOBSecurityEvents">
<Name>$TemplateConfig/Name$ security events collection</Name>
<Description>Collection rule for security events for $TemplateConfig/Name$</Description>
</DisplayString>
<!-- Alert Rules -->
<DisplayString ElementID="$TemplateConfig/TypeId$.PerformanceExceptionAlert">
<Name>$TemplateConfig/Name$ performance alert</Name>
<Description>Collection rule for performance alerts for $TemplateConfig/Name$</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ExceptionAlert">
<Name>$TemplateConfig/Name$ exception alert</Name>
<Description>Collection rule for exception alerts for $TemplateConfig/Name$</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ConnectivityExceptionAlert">
<Name>$TemplateConfig/Name$ connectivity exception alert</Name>
<Description>Collection rule for connectivity exception alerts for $TemplateConfig/Name$</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.SecurityExceptionAlert">
<Name>$TemplateConfig/Name$ security exception alert</Name>
<Description>Collection rule for security exception alerts for $TemplateConfig/Name$</Description>
</DisplayString>
<!-- Performance rules -->
<DisplayString ElementID="$TemplateConfig/TypeId$.AspAppsEmulated.ExceptionsRate.Rule">
<Name>Collect .NET Apps % Exception Events/sec</Name>
<Description>Collection rule for % Exception Events/sec performance counter for $TemplateConfig/Name$. This counter records the rate of of exception events generated when the AVIcode Intercept Agent is configured for Operations Mode Monitoring.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.AspAppsEmulated.PerformanceRate.Rule">
<Name>Collect .NET Apps % Performance Events/sec</Name>
<Description>Collection rule for % Performance Events/sec performance counter for $TemplateConfig/Name$. This counter records the rate of performance events generated when the AVIcode Intercept Agent is configured for Operations Mode Monitoring.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.NetApps.AvgRequestTime.Rule">
<Name>Collect .NET Apps Avg. Request Time</Name>
<Description>Collection rule for Avg. Request Time performance counter for $TemplateConfig/Name$. The counter records the average time (in seconds) that it takes for a request to be processed by .NET applications configured for operations monitoring.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.NetApps.ExceptionEvents.Rule">
<Name>Collect .NET Apps Exception events</Name>
<Description>Collection rule for Exception events performance counter for $TemplateConfig/Name$. This counter records the number of exception events per second generated when the AVIcode Intercept Agent is configured for Operations Mode Monitoring.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.NetApps.MonitoredRequests.Rule">
<Name>Collect .NET Apps Monitored requests</Name>
<Description>Collection rule for Monitored requests performance counter for $TemplateConfig/Name$. The counter records the number of requests per second that are being processed by .NET applications configured for operations monitoring.</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.NetApps.PerformanceEvents.Rule">
<Name>Collect .NET Apps Performance events</Name>
<Description>Collection rule for Performance events performance counter for $TemplateConfig/Name$. This counter records the number of performance events per second generated when the AVIcode Intercept Agent is configured for Operations Mode Monitoring.</Description>
</DisplayString>
<!-- Monitor -->
<DisplayString ElementID="$TemplateConfig/TypeId$.DependencyMonitor1">
<Name>Application Monitoring Group Availability Rollup Monitor</Name>
<Description>Application Monitoring Group Availability Rollup Monitor</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.DependencyMonitor2">
<Name>Application Monitoring Group Configuration Rollup Monitor</Name>
<Description>Application Monitoring Group Configuration Rollup Monitor</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.DependencyMonitor3">
<Name>Application Monitoring Group Security Rollup Monitor</Name>
<Description>Application Monitoring Group Security Rollup Monitor</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.DependencyMonitor4">
<Name>Application Monitoring Group Performance Rollup Monitor</Name>
<Description>Application Monitoring Group Performance Rollup Monitor</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor1">
<Name>Application Monitoring Availability Rollup Monitor</Name>
<Description>Application Monitoring Availability Rollup Monitor</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor2">
<Name>Application Monitoring Configuration Rollup Monitor</Name>
<Description>Application Monitoring Configuration Rollup Monitor</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor3">
<Name>Application Monitoring Security Rollup Monitor</Name>
<Description>Application Monitoring Security Rollup Monitor</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor4">
<Name>Application Monitoring Performance Rollup Monitor</Name>
<Description>Application Monitoring Performance Rollup Monitor</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoring.AvailabilityState">
<Name>Application Monitoring Availability Rollup Monitor</Name>
<Description>Application Monitoring Availability Rollup Monitor</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoring.ConfigurationState">
<Name>Application Monitoring Configuration Rollup Monitor</Name>
<Description>Application Monitoring Configuration Rollup Monitor</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoring.SecurityState">
<Name>Application Monitoring Security Rollup Monitor</Name>
<Description>Application Monitoring Security Rollup Monitor</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationMonitoring.PerformanceState">
<Name>Application Monitoring Performance Rollup Monitor</Name>
<Description>Application Monitoring Performance Rollup Monitor</Description>
</DisplayString>
<!-- Presentation-->
<DisplayString ElementID="$TemplateConfig/TypeId$.ApplicationFolder">
<Name>$TemplateConfig/Name$</Name>
<Description>$TemplateConfig/Name$ application folder</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.MonitoredRequestsPerformanceView">
<Name>Monitored Requests Performance View</Name>
<Description>$TemplateConfig/Name$ monitored requests performance view</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.AvgRequestTimePerformanceView">
<Name>Avg. Request Time (ms) Performance View</Name>
<Description>$TemplateConfig/Name$ avg. request time performance view</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.AlertView">
<Name>Alert View</Name>
<Description>$TemplateConfig/Name$ alert view</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.StateView">
<Name>State View</Name>
<Description>$TemplateConfig/Name$ state view</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.DashboardView">
<Name>State Summary</Name>
<Description>$TemplateConfig/Name$ dashboard view</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.DiagramView">
<Name>Diagram</Name>
<Description>$TemplateConfig/Name$ diagram view</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.PerformanceView">
<Name>Performance</Name>
<Description>$TemplateConfig/Name$ performance view</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.TransactionFolder">
<Name>Transactions</Name>
<Description>$TemplateConfig/Name$ transactions folder</Description>
</DisplayString>
<!-- Relationships -->
<DisplayString ElementID="$TemplateConfig/TypeId$Hosts$TemplateConfig/TypeId$.ApplicationMonitoring">
<Name>$TemplateConfig/Name$ Hosts $TemplateConfig/Name$ ApplicationMonitoring</Name>
<Description>$TemplateConfig/Name$ Hosts $TemplateConfig/Name$ ApplicationMonitoring</Description>
</DisplayString>
<DisplayString ElementID="DistributedApplicationContainment.$TemplateConfig/TypeId$.ApplicationMonitoringGroup">
<Name>DistributedApplication Contains $TemplateConfig/Name$ ApplicationMonitoringGroup</Name>
<Description>DistributedApplication Contains $TemplateConfig/Name$ ApplicationMonitoringGroup</Description>
</DisplayString>
<DisplayString ElementID="ApplicationMonitoringGroupContain.$TemplateConfig/TypeId$.ApplicationMonitoring">
<Name>ApplicationMonitoringGroup Contains $TemplateConfig/Name$ ApplicationMonitoring</Name>
<Description>ApplicationMonitoringGroup Contains $TemplateConfig/Name$ ApplicationMonitoring</Description>
</DisplayString>
<DisplayString ElementID="$TemplateConfig/TypeId$.InitializeDiscovery">
<Name>Initiate application discovery</Name>
<Description>Initiate application discovery</Description>
</DisplayString>
</DisplayStrings>
<KnowledgeArticles>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor4" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for performance monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor performance.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring performance. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor3" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for security monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor security.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring security. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor2" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for conguration monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor configuration.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring configuration. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ApplicationMonitoringGroup.DependencyMonitor1" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for availability monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor availability.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring availability. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.DependencyMonitor4" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for performance monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor performance.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring performance. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.DependencyMonitor3" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for security monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor security.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring security. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.DependencyMonitor2" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for conguration monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor configuration.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring configuration. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.DependencyMonitor1" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for availability monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor availability.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring availability. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ApplicationMonitoring.PerformanceState" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for performance monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor performance.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring performance. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ApplicationMonitoring.SecurityState" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for security monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor security.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring security. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ApplicationMonitoring.ConfigurationState" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for conguration monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor configuration.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring configuration. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ApplicationMonitoring.AvailabilityState" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This monitor is the rollup monitor for availability monitoring for this object. If the state is unknown, either monitoring has not begun for this object or there are no monitors defined that monitor availability.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>An unhealthy state for this monitor indicates some problem with another monitor running against this object and monitoring availability. View all current alerts from this object using this link:</maml:para>
<maml:para>
<maml:navigationLink>
<maml:linkText>View Alerts</maml:linkText>
<maml:uri condition="View" href="Microsoft.SystemCenter.AlertView&amp;viewtarget={$TARGET$}" uri="MOM.Console.Exe"/>
</maml:navigationLink>
</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Use the health explorer to drill down and find the cause of the unhealthy state. Use the knowledge on the specific monitor causing the issue to troubleshoot and fix the problem.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ConnectivityExceptionAlert" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The instance state becomes unhealthy if the total number of connectivity events per predefined escalation time period exceeds an escalation threshold.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>Connectivity alerts are generated as a result of connectivity errors from the application that prevent normal application flow. The alert details field displays a description that contains the name of the failed function for a resource access and operations context for troubleshooting the issue. Configuration exceptions are due to problems that typically could be solved by environment or configuration changes without accessing the source code. This kind of problem could be related to an inaccessible or incorrect database server, web service, non-existed file resource etc.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Connectivity alerts arise from unhandled exceptions due to problems accessing external resources. To resolve these problems, check</maml:para>
<maml:para>1) the description of the alert and events,</maml:para>
<maml:para>2) operation targets, for example SQL server,</maml:para>
<maml:para>3) method in the action that tried to execute over resource, for example connection to the server and</maml:para>
<maml:para>4) security context connection and execution identity details. After this review update the environment and the configuration and ensure the external resource availability.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ExceptionAlert" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The instance state becomes unhealthy if the total number of application failure events per predefined escalation time period exceeds an escalation threshold.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>Application exception alerts result from unhandled and top-level exceptions that prevent the application from completing a task. The alert details display the type of exception thrown and the resulting call stack. Application exceptions are due to actual errors in the application code and require analyzing the stack trace and data values used in functions.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Application failure alerts arise from unhandled exceptions. To resolve these exceptions, check the exception type and the function that the exception was thrown from. Resolution of these types of problems typically requires access to application source code.</maml:para>
<maml:para>To access details about this alert from the Alerts list, right-click the alert in the list and select Open -&gt; Event View from the menu. From the list of events related to this alert, select an event to load the event details in the lower pane of the window.</maml:para>
<maml:para>Another way to access details about this alert is from the Alert Details view. Click on the View additional knowledge... link, and select the Alert Context tab. Additional event details will be available from the Click here link at the top of the Alert Context tab.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.PerformanceExceptionAlert" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The instance state becomes unhealthy if the total number of performance events per predefined escalation time period exceeds an escalation threshold.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>Application performance alerts are generated when the execution time exceeds the configured Alerting Threshold. The alert details break down the execution time by percentage spent in various types of resource calls and in internal code execution. Excessively long SQL, Oracle, ODBC, DB2 or OLEDB calls may be due to either a problem with the database server or with the structure and complexity of the database query. Long file I/O times may be due to problems with the file server. Web Services performance issues may occur because the web service or the server it resides on is down or there is a problem in the Web Service code. Long internal execution times for applications may result from a complex or inefficient code.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Application performance alerts are generated when the execution time exceeds the configured threshold. Typical application performance degradation causes could be due to a long database call, long web service call, slow .NET Remote call or COM+ call, or inefficient application code.</maml:para>
<maml:para>To access details about this alert from the Alerts list, right-click the alert in the list and select Open -&gt; Event View from the menu. From the list of events related to this alert, select an event to load the event details in the lower pane of the window.</maml:para>
<maml:para>Another way to access details about this alert is from the Alert Details view. Click on the View additional knowledge... link, and select the Alert Context tab. Additional event details will be available from the Click here link at the top of the Alert Context tab.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.SecurityExceptionAlert" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>The instance state becomes unhealthy if the total number of security events per predefined escalation time period exceeds an escalation threshold.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Causes</maml:title>
<maml:para>Security alerts are generated as a result of authorization/authentication/permission problems accessing an external resource of the application that prevent normal application flow. The alert details field displays a description that contains the name of the failed function of the resource accessed and operation context for troubleshooting the issue. Security exceptions are due to problems that typically could be solved by environment or configuration changes without accessing the source code. This kind of problem could be due to authentication/authorization/permission problems accessing the Database server, web service, IO resource, Active Directory etc.</maml:para>
</maml:section>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Resolutions</maml:title>
<maml:para>Security alerts arise from unhandled exceptions due to problems accessing external resources. To resolve these problems check</maml:para>
<maml:para>1) the description of the alert and events;</maml:para>
<maml:para>2) operation targets, for example SQL server;</maml:para>
<maml:para>3) action - a method that was targeted to execute over a resource, for example connection to the server;</maml:para>
<maml:para>4) security context - connection, user and identity details. After this review, update the account, password or permissions either in the application configuration or on the server/domain side.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.AspAppsEmulated.ExceptionsRate.Rule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rule collects .NET Apps % Exception Events/sec performance counter for $TemplateConfig/Name$.</maml:para>
<maml:para>This counter records the rate of of exception events generated when the AVIcode Intercept Agent is configured for Operations Mode Monitoring. The number of events recorded by this counter is based on the agent configuration, critical vs. all exceptions, customized exception handlers, etc. This counter may be larger than the rate of exception events reported to SE-Viewer, because it also includes events that are suppressed by Event Throttling.</maml:para>
<maml:para>This counter is only available when AVIcode Operations Monitoring is enabled.</maml:para>
<maml:para>The counter is incremented when an unhandled exceptions occur. To resolve these exceptions, check the exception type and the function that the exception was thrown from. Resolution of these types of problems typically requires access to application source code.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.NetApps.ExceptionEvents.Rule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rule collects .NET Apps Exception events performance counter for $TemplateConfig/Name$.</maml:para>
<maml:para>This counter records the number of exception events per second generated when the AVIcode Intercept Agent is configured for Operations Mode Monitoring. The number of events recorded by this counter is based on the agent configuration, critical vs. all exceptions, customized exception handlers, etc. This counter may be larger than the number of exception events reported to SE-Viewer, because it also includes events that are suppressed by Event Throttling.</maml:para>
<maml:para>This counter is only available when AVIcode Operations Monitoring is enabled.</maml:para>
<maml:para>The counter is incremented when an unhandled exceptions occur. To resolve these exceptions, check the exception type and the function that the exception was thrown from. Resolution of these types of problems typically requires access to application source code.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.AspAppsEmulated.PerformanceRate.Rule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rule collects .NET Apps % Performance Events/sec performance counter for $TemplateConfig/Name$</maml:para>
<maml:para>This counter records the rate of performance events generated when the AVIcode Intercept Agent is configured for Operations Mode Monitoring. The number of events recorded by this counter is based on the agent configuration, threshold levels, enabled namespaces, etc. This counter may be larger than the rate of performance events reported to SE-Viewer, because it also includes events that are suppressed by Event Throttling.</maml:para>
<maml:para>This counter is only available when AVIcode Operations Monitoring is enabled.</maml:para>
<maml:para>Excessively long SQL, Oracle, ODBC, DB2 or OLEDB calls may be due to either a problem with the database server or with the structure and complexity of the database query. Long file I/O times may be due to problems with the file server. Web Services performance issues may occur because the Web Service or the server it resides on is down or there is a problem in the Web Service code. Long internal execution times for applications may result from a complex or inefficient code.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.NetApps.AvgRequestTime.Rule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rule collects .NET Apps Avg. Request Time performance counter for $TemplateConfig/Name$</maml:para>
<maml:para>The counter records the average time (in seconds) that it takes for a request to be processed by .NET applications configured for operations monitoring. The timing of each request begins from when it triggers an entrypoint configured for the process, and is stopped when the request completes successfully or fails somewhere in the code. The sum of these times is averaged across the total number of requests being monitored in Operations mode. If this time consistently exceeds 10000 ms, it indicates a bottleneck that should be investigated.</maml:para>
<maml:para>This counter is only available when AVIcode Operations Monitoring is enabled.</maml:para>
<maml:para>Excessively long SQL, Oracle, ODBC, DB2 or OLEDB calls may be due to either a problem with the database server or with the structure and complexity of the database query. Long file I/O times may be due to problems with the file server. Web Services performance issues may occur because the Web Service or the server it resides on is down or there is a problem in the Web Service code. Long internal execution times for applications may result from a complex or inefficient code.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.NetApps.MonitoredRequests.Rule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rule collects .NET Apps Monitored requests performance counter for $TemplateConfig/Name$</maml:para>
<maml:para>The counter records the number of requests per second that are being processed by .NET applications configured for operations monitoring. This counter is incremented when the request triggers an entrypoint configured for the process.</maml:para>
<maml:para>This counter is only available when AVIcode Operations Monitoring is enabled.</maml:para>
<maml:para>Excessively long SQL, Oracle, ODBC, DB2 or OLEDB calls may be due to either a problem with the database server or with the structure and complexity of the database query. Long file I/O times may be due to problems with the file server. Web Services performance issues may occur because the Web Service or the server it resides on is down or there is a problem in the Web Service code. Long internal execution times for applications may result from a complex or inefficient code.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.NetApps.PerformanceEvents.Rule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rule collects .NET Apps Performance events performance counter for $TemplateConfig/Name$</maml:para>
<maml:para>This counter records the number of performance events per second generated when the AVIcode Intercept Agent is configured for Operations Mode Monitoring. The number of events recorded by this counter is based on the agent configuration, threshold levels, enabled namespaces, etc. This counter may be larger than the number of performance events reported to SE-Viewer, because it also includes events that are suppressed by Event Throttling.</maml:para>
<maml:para>This counter is only available when AVIcode Operations Monitoring is enabled.</maml:para>
<maml:para>Excessively long SQL, Oracle, ODBC, DB2 or OLEDB calls may be due to either a problem with the database server or with the structure and complexity of the database query. Long file I/O times may be due to problems with the file server. Web Services performance issues may occur because the Web Service or the server it resides on is down or there is a problem in the Web Service code. Long internal execution times for applications may result from a complex or inefficient code.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.CollectLOBConnectivityEvents" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rule collects connectivity events for $TemplateConfig/Name$.</maml:para>
<maml:para>Connectivity events arise from unhandled exceptions due to problems accessing external resources. To resolve these problems, check:</maml:para>
<maml:para>1) the description of the alert and events,</maml:para>
<maml:para>2) operation targets, for example SQL server,</maml:para>
<maml:para>3) the method in the action that tried to execute over the resource, for example connection to the server and</maml:para>
<maml:para>4) security context connection and execution identity details. After this review, update the environment and the configuration and ensure the external resource availability.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.CollectLOBExceptionEvents" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rule collects exception events for $TemplateConfig/Name$.</maml:para>
<maml:para>Application failure events arise from unhandled exceptions. To resolve these exceptions, check the exception type and the function that the exception was thrown from. Resolution of these types of problems typically requires access to application source code.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.CollectLOBPerformanceEvents" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rule collects performance events for $TemplateConfig/Name$.</maml:para>
<maml:para>Application performance events are generated when the execution time exceeds the configured threshold. Typical application performance degradation could be due to a long database call, long web service call, slow .NET Remoting call or COM+ call, or inefficient application code.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.CollectLOBSecurityEvents" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>This rule collects security events for $TemplateConfig/Name$.</maml:para>
<maml:para>Security alerts arise from unhandled exceptions due to problems accessing external resources. To resolve these problems check:</maml:para>
<maml:para>1) the description of the alert and events;</maml:para>
<maml:para>2) operation targets, for example SQL server;</maml:para>
<maml:para>3) action - a method that was targeted to execute over a resource, for example the connection to the server;</maml:para>
<maml:para>4) security context - connection, user and identity details. After this review, update the account, password or permissions either in the application configuration or on the server/domain side.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.DistributedApplicationDiscovery" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>As a result of this discovery containment relationship between Distributed Application and Application Monitoring Group will be created.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ApplicationMonitoringGroupDiscovery" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>As a result of this discovery containment relationship between Application Monitoring Group and Application Monitoring will be created.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.DotNetWinServiceApplication.Rule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>As a result of this discovery application instance '$TemplateConfig/Name$' will be created.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
<KnowledgeArticle ElementID="$TemplateConfig/TypeId$.ApplicationMonitoring.Rule" Visible="true">
<MamlContent>
<maml:section xmlns:maml="http://schemas.microsoft.com/maml/2004/10">
<maml:title>Summary</maml:title>
<maml:para>As a result of this discovery Application Monitoring instance will be created.</maml:para>
</maml:section>
</MamlContent>
</KnowledgeArticle>
</KnowledgeArticles>
</LanguagePack>
</LanguagePacks>
</Implementation>
</Template>