Monitors time outs in WF workflows.
The workflow status is showing as “Successful” but has had an exception. It should be confirmed that the expected result was obtained, and if not, the action that was performed to start the workflow, may need to be repeated.
If a workflow does not complete an activity within 25 minutes, it will time out. The workflow may be stuck in either the started or scheduled phase, and will appear in the “Need Attention” tab which can be found in the Service Manager console, in the administration/workflows/status view for that particular type of workflow. There are a multitude of causes for workflow time outs, such as running when a service is restarted, a long queue, or APIs that are taking a long time to return.
Timed out WF workflows will show up in the Service Manager console under “Need Attention” tab of the Administration/workflows/status view for the particular type of workflow. Retry the workflows to attempt to run it again, or press ignore if the issue was manually fixed.
If the workflows are stuck in a state where they are not running, restart the Health Service on the management server to try and restart all the queued workflows again.
Target | Microsoft.SystemCenter.ServiceManager.SmManagementServer | ||
Category | Custom | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
|
ID | Module Type | TypeId | RunAs |
---|---|---|---|
DBProbe | DataSource | Microsoft.SystemCenter.ServiceManager.Monitoring.OledbProbe.WWFWorkflows | Default |
Filter | ConditionDetection | System.ExpressionFilter | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SystemCenter.ServiceManager.WWF.Monitoring.RuleRunning" Enabled="true" Target="SM!Microsoft.SystemCenter.ServiceManager.SmManagementServer" ConfirmDelivery="false" Remotable="true" Priority="Normal" DiscardLevel="100">
<Category>Custom</Category>
<DataSources>
<DataSource ID="DBProbe" TypeID="Microsoft.SystemCenter.ServiceManager.Monitoring.OledbProbe.WWFWorkflows">
<IntervalSeconds>900</IntervalSeconds>
<SyncTime/>
<ConnectionString/>
<Query/>
<GetValue>true</GetValue>
<IncludeOriginalItem>true</IncludeOriginalItem>
<OneRowPerItem>true</OneRowPerItem>
</DataSource>
</DataSources>
<ConditionDetection ID="Filter" TypeID="System!System.ExpressionFilter">
<Expression>
<Or>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Columns/Column[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">0</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Columns/Column[2]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">1</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</Or>
</Expression>
</ConditionDetection>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SystemCenter.ServiceManager.WWF.Monitoring.Rule.AlertMessageRunning"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>$Data/Columns/Column[1]$</AlertParameter1>
<AlertParameter2>$Data/Columns/Column[2]$</AlertParameter2>
<AlertParameter3>$Data/Columns/Column[3]$</AlertParameter3>
<AlertParameter4>$Data/Columns/Column[4]$</AlertParameter4>
<AlertParameter5>$Data/Columns/Column[5]$</AlertParameter5>
<AlertParameter6>$Data/Columns/Column[6]$</AlertParameter6>
</AlertParameters>
<Suppression>
<SuppressionValue>$Data/Columns/Column[6]$</SuppressionValue>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>