WF ワークフローでタイムアウトを監視します。
ワークフローの状態は “成功” として表示されている一方、例外が発生しています。期待される結果が得られたことを確認します。そうでない場合は、ワークフローを開始するために実行したアクションをもう一度繰り返す必要があります。
ワークフローは、25 分以内にアクティビティを完了しないとタイムアウトになります。タイムアウトになったワークフローは開始フェーズまたはスケジュールされたフェーズで停止している可能性があります。この場合、Service Manager コンソールの特定の種類のワークフローを対象とした [管理/ワークフロー/状態] ビューの [対処が必要] タブに、そのワークフローが表示されます。ワークフローがタイムアウトになる理由は、実行中のサービス再開、長いキュー、戻るまでに長い時間がかかる API など、いくつもあります。
Service Manager コンソールでは、特定の種類のワークフローを対象とした [管理/ワークフロー/状態] ビューの [対処が必要] タブに、タイムアウトになった WF ワークフローが表示されます。ワークフローを再試行して、もう一度実行してみます。問題が手動で解決された場合は [無視] を押します。
ワークフローが実行されていない状態のままになった場合、キューに入れられているすべてのワークフローが再開されるよう、管理サーバー上でヘルス サービスを再開します。
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.WWFWorkflows2 | 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.WWFWorkflows2">
<IntervalSeconds>1800</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>