Collect Message Queue Length

Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.Rule.Collect.MessageQueueLength (Rule)

Collects the number of jobs in the queue

Knowledge Base article:

Summary

Collects the Job Queue length which indicates the number of jobs waiting to be processed by the Service Management Automation Worker server.

This queue is stored in the Service Management Automation database, so the monitor must be configured to have access to the database. See the Configuration section for information.

Configuration

For this monitor to work correctly, it must have permission to read the Service Management Automation database. Create a Run As Account that has read permissions to the database and add it to the Run As Profile called Microsoft Service Management Automation Database Account.

The following options can be configured on this rule:

Option

Definition

Default

CounterName

Name of the performance counter. This value should not be overridden except by a language pack.

MessageQueueLength

Enabled

Specifies whether the monitor should run.

True

Frequency

Number of seconds between times that the rule is run.

600

MaximumSampleSeparation

The maximum number of samples within the Tolerance setting that are skipped before a new sample is collected.

4

ObjectName

Name of the performance object. This value should not be overridden except by a language pack.

Orchestrator Worker Performance Counters

Tolerance

The amount that the value of the sample must differ from the previously collected value in order for the sample to be collected.

5

Element properties:

TargetMicrosoft.SystemCenter.ServiceManagementAutomation.2012R2.Server.Worker
CategoryPerformanceCollection
EnabledTrue
Alert GenerateFalse
RemotableTrue

Member Modules:

ID Module Type TypeId RunAs 
DS DataSource Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.DataSource.MessageQueueLength Default
WriteToDB WriteAction Microsoft.SystemCenter.CollectPerformanceData Default
WriteToDW WriteAction Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData Default

Source Code:

<Rule ID="Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.Rule.Collect.MessageQueueLength" Target="Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.Server.Worker" Enabled="true" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>PerformanceCollection</Category>
<DataSources>
<DataSource ID="DS" TypeID="Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.DataSource.MessageQueueLength">
<Interval>900</Interval>
<DatabaseServer>$Target/Property[Type="SMA!Microsoft.SystemCenter.ServiceManagementAutomation.Server"]/DatabaseServerName$</DatabaseServer>
<DatabaseInstance>$Target/Property[Type="SMA!Microsoft.SystemCenter.ServiceManagementAutomation.Server"]/DatabaseServerInstance$</DatabaseInstance>
<DatabaseName>$Target/Property[Type="SMA!Microsoft.SystemCenter.ServiceManagementAutomation.Server"]/DatabaseName$</DatabaseName>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="WriteToDB" TypeID="SC!Microsoft.SystemCenter.CollectPerformanceData"/>
<WriteAction ID="WriteToDW" TypeID="SCDW!Microsoft.SystemCenter.DataWarehouse.PublishPerformanceData"/>
</WriteActions>
</Rule>