Microsoft Dynamics NAV 2013 Server Instance Tenant Event Monitor

Microsoft.Dynamics.Nav.2013.TenantEventMonitor (UnitMonitor)

Monitors errors produced by a Microsoft Dynamics NAV 2013 Server instance tenant over a specified time interval.

Knowledge Base article:

Summary

This monitor detects when a tenant on a specific Microsoft Dynamics NAV 2013 Server instance writes errors in the Application event log. When this condition occurs x times within n seconds, the monitor generates an alert. After this condition expires, the monitor returns to a healthy state. The default values are x=3 and n=300.

Causes

A problem has occurred with a Microsoft Dynamics NAV 2013 Server instance tenant.

Resolutions

To troubleshoot this issue, investigate the detailed error description in the event log entries for the specific Microsoft Dynamics NAV 2013 Server instance tenant.

Element properties:

TargetMicrosoft.Dynamics.Nav.2013.Tenant
Parent MonitorSystem.Health.AvailabilityState
CategoryAvailabilityHealth
EnabledTrue
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.Dynamics.Nav.2013.RepeatedEventLogTimer2StateMonitorType
RemotableTrue
AccessibilityPublic
Alert Message
Microsoft Dynamics NAV 2013 Server Instance Tenant Errors.
Multiple errors were reported by a Microsoft Dynamics NAV 2013 Server instance tenant.
RunAsMicrosoft.Dynamics.Nav.2013.DefaultAccount

Source Code:

<UnitMonitor ID="Microsoft.Dynamics.Nav.2013.TenantEventMonitor" Accessibility="Public" Enabled="true" Target="Microsoft.Dynamics.Nav.2013.Tenant" ParentMonitorID="Health!System.Health.AvailabilityState" Remotable="true" Priority="Normal" TypeID="Microsoft.Dynamics.Nav.2013.RepeatedEventLogTimer2StateMonitorType" ConfirmDelivery="false" RunAs="Microsoft.Dynamics.Nav.2013.DefaultAccount">
<Category>AvailabilityHealth</Category>
<AlertSettings AlertMessage="Microsoft.Dynamics.Nav.2013.TenantEventMonitor.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState ID="RepeatedEventRaised" MonitorTypeStateID="RepeatedEventRaised" HealthState="Warning"/>
<OperationalState ID="TimerEventRaised" MonitorTypeStateID="TimerEventRaised" HealthState="Success"/>
</OperationalStates>
<Configuration>
<RepeatedComputerName>$Target/Host/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</RepeatedComputerName>
<RepeatedLogName>Application</RepeatedLogName>
<RepeatedExpression>
<And>
<!-- Eventlog errors -->
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="Integer">EventLevel</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="Integer">1</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">EventSourceName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">$Target/Host/Property[Type="Service!Microsoft.SystemCenter.NTService"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDescription</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>Server instance: $Target/Property[Type="Microsoft.Dynamics.Nav.2013.Tenant"]/ServerInstance$</Pattern>
</RegExExpression>
</Expression>
<Expression>
<RegExExpression>
<ValueExpression>
<XPathQuery>EventDescription</XPathQuery>
</ValueExpression>
<Operator>ContainsSubstring</Operator>
<Pattern>Tenant ID: $Target/Property[Type="Microsoft.Dynamics.Nav.2013.Tenant"]/TenantId$</Pattern>
</RegExExpression>
</Expression>
</And>
</RepeatedExpression>
<RepeatNTimes>3</RepeatNTimes>
<RepeatNTimesInXSeconds>300</RepeatNTimesInXSeconds>
<AutoResetInterval>300</AutoResetInterval>
</Configuration>
</UnitMonitor>