Worker Messages Processed Per Second

Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.Monitor.WorkerMessageProcessedPerSec (UnitMonitor)

Monitors performance counter Worker Messages Processed Per Second.

Knowledge Base article:

Summary

Monitors the rate at which request for running the jobs are being processed by the Runbook Worker. The actual execution rate of the job may vary depending upon the nature of the job. If this counter is consecutively zero, then it indicates a possibility that the worker is down.

Causes

The worker is overloaded and no longer picking up jobs. This issue could also be caused by an empty message queue.

Resolution

Ensure that the workers are not overloaded and there are jobs in the queue to be processed.

Configuration

The following options can be configured on this monitor:

Option

Definition

Default

Alert On State

Health state for the monitor that generates an alert.

The monitor is in a critical health state

Alert Priority

Priority of the alert generated for this monitor.

Medium

Alert Severity

Priority of the alert generated for this monitor.

Critical

Auto-Resolve Alert

Specifies whether the alert should automatically be resolved when the monitor returns to a healthy state.

True

CounterName

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

WorkerMessageProcessedPerSec

Enabled

Specifies whether the monitor should run.

True

Generates Alert

Specifies whether the monitor should generate an alert when changing to a warning or critical state.

True

Element properties:

TargetMicrosoft.SystemCenter.ServiceManagementAutomation.2012R2.Server.Worker
Parent MonitorSystem.Health.PerformanceState
CategoryPerformanceHealth
EnabledFalse
Alert GenerateTrue
Alert SeverityMatchMonitorHealth
Alert PriorityNormal
Alert Auto ResolveTrue
Monitor TypeMicrosoft.SystemCenter.ServiceManagementAutomation.2012R2.Performance.MonitorType.ConsecutiveSamplesThreshold
RemotableTrue
AccessibilityPublic
Alert Message
Worker Messages Processed Per Second
Worker Messages Processed Per Second has exceeded threshold. Last measured value is {0}.
RunAsDefault

Source Code:

<UnitMonitor ID="Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.Monitor.WorkerMessageProcessedPerSec" Accessibility="Public" Enabled="false" Target="Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.Server.Worker" ParentMonitorID="Health!System.Health.PerformanceState" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.Performance.MonitorType.ConsecutiveSamplesThreshold" ConfirmDelivery="false">
<Category>PerformanceHealth</Category>
<AlertSettings AlertMessage="Microsoft.SystemCenter.ServiceManagementAutomation.2012R2.Monitor.WorkerMessageProcessedPerSec.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>Normal</AlertPriority>
<AlertSeverity>MatchMonitorHealth</AlertSeverity>
<AlertParameters>
<AlertParameter1>$Data/Context/Value$</AlertParameter1>
</AlertParameters>
</AlertSettings>
<OperationalStates>
<OperationalState ID="ConditionTrue" MonitorTypeStateID="ConditionTrue" HealthState="Success"/>
<OperationalState ID="ConditionFalse" MonitorTypeStateID="ConditionFalse" HealthState="Warning"/>
</OperationalStates>
<Configuration>
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<CounterName>WorkerMessagesProcessedPerSec</CounterName>
<ObjectName>Orchestrator Worker Performance Counters</ObjectName>
<InstanceName/>
<AllInstances>true</AllInstances>
<Frequency>600</Frequency>
<ScaleBy>1</ScaleBy>
<Threshold>0</Threshold>
<Direction>greater</Direction>
<NumSamples>3</NumSamples>
</Configuration>
</UnitMonitor>