Monitor HostQ Size – BizTalk Server Application

Microsoft.BizTalk.Library.BizTalkServer.HostQueuesize (UnitMonitor)

The Queue size for the BizTalk Host - BizTalkServerApplication

Knowledge Base article:

Summary

The threshold for the “BizTalk:Message Box:Host Counters\Host Queue - Length” counter has been exceeded.

Configuration

This monitor watches the value of the “BizTalk:Message Box:Host Counters\Host Queue - Length”” counter for a given system. If the value exceeds the preset threshold, which is set to 100 by default, then the state will change from healthy to critical. This monitoring is configured by default to generate an alert when the state is changed to critical.

Causes

Potential causes include the following:

Resolutions

Verify that the systems are keeping up with load, healthy, that purge jobs are enabled and running without errors and that the SQL Agent service is running on all message boxes.

External

Message Box Performance counters: http://technet.microsoft.com/en-us/library/aa560410.aspx

Identifying Performance Bottlenecks: http://msdn2.microsoft.com/en-us/library/aa578679.aspx

Element properties:

TargetMicrosoft.BizTalk.2006.BizTalkServer.LocalApplication
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Instance NameBizTalk:Message Box:Host Counters
Counter NameHost Queue - Length
Frequency300
Alert GenerateTrue
Alert SeverityWarning
Alert PriorityNormal
Alert Auto ResolveFalse
Monitor TypeSystem.Performance.ThresholdMonitorType
RemotableTrue
AccessibilityInternal
Alert Message
The Queue size for the BizTalk Host - BizTalkServerApplication exceed the threshold.
{0}
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.BizTalk.Library.BizTalkServer.HostQueuesize" Accessibility="Internal" Enabled="false" Target="BZLib!Microsoft.BizTalk.2006.BizTalkServer.LocalApplication" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Perf!System.Performance.ThresholdMonitorType" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.BizTalk.Library.BizTalkServer.HostQueuesize.AlertMessage">
<AlertOnState>Error</AlertOnState>
<AutoResolve>false</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="OverThreshold" MonitorTypeStateID="OverThreshold" HealthState="Error"/>
<OperationalState ID="UnderThreshold" MonitorTypeStateID="UnderThreshold" HealthState="Success"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/PrincipalName$</ComputerName>
<CounterName>Host Queue - Length</CounterName>
<ObjectName>BizTalk:Message Box:Host Counters</ObjectName>
<AllInstances>true</AllInstances>
<Frequency>300</Frequency>
<Threshold>100</Threshold>
</Configuration>
</UnitMonitor>