Övervakning av arbetsflöde för länkramverk
Vanligtvis inträffar fel med rensningsarbetsflöde på grund av någon av följande orsaker. I vyn över aktiva varningar finns det en varning som hör ihop med det aktuella felet. Kan man tyda varningarna får man veta orsaken till felet.
1. Felande rensningsarbetsflöde: Arbetsflödesfel betyder att arbetsflödet har stött på ett problem som gjorde att det slutade fungera. Ett felande arbetsflöde betyder vanligen att problemet är känt.
Arbetsflöden kan fela av många olika orsaker, exempelvis anslutningsproblem till databasen, problem med databasrättigheter eller att databasservern ligger nere.
2. Tidsgräns nådd för rensningsarbetsflöde: Om ett arbetsflöde inte slutför en aktivitet inom 25 minuter når den sin tidsgräns. Undantaget är rensningsarbetsflödet för prenumerationsloggar som har en tidsgräns på 15 minuter.
Det finns flera orsaker till att arbetsflöden når sin tidsgräns. De kanske till exempel redan körs när en tjänst startas om, har lång kö eller har API:er som tar lång tid att returnera.
Om rensningsarbetsflödet misslyckas:
Kontrollera händelseloggen efter detaljerad information om felet samt tips på lösning.
Om tidsgränsen nås för rensningsarbetsflödet:
Det kan tyda på ett problem med databasen. Kontrollera händelseloggen efter detaljerad information om felet samt tips på lösning.
Target | Microsoft.SystemCenter.ServiceManager.SmManagementServer | ||
Parent Monitor | Microsoft.ServiceManager.Workflows.AvailabilityHealthRollup | ||
Category | StateCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | High | ||
Alert Auto Resolve | True | ||
Monitor Type | Microsoft.SystemCenter.ServiceManager.Workflows.OLEDB.Monitoring.DBProbeMonitorType | ||
Remotable | True | ||
Accessibility | Public | ||
Alert Message |
| ||
RunAs | Default |
<UnitMonitor ID="Microsoft.SystemCenter.ServiceManager.GroomingWorkflows.Monitor" TypeID="Microsoft.SystemCenter.ServiceManager.Workflows.OLEDB.Monitoring.DBProbeMonitorType" Accessibility="Public" Target="SM!Microsoft.SystemCenter.ServiceManager.SmManagementServer" ParentMonitorID="Microsoft.ServiceManager.Workflows.AvailabilityHealthRollup">
<Category>StateCollection</Category>
<AlertSettings AlertMessage="Microsoft.ServiceManager.GroomingWorkflows.AlertMessage">
<AlertOnState>Warning</AlertOnState>
<AutoResolve>true</AutoResolve>
<AlertPriority>High</AlertPriority>
<AlertSeverity>Warning</AlertSeverity>
</AlertSettings>
<OperationalStates>
<OperationalState MonitorTypeStateID="State1" HealthState="Warning" ID="ComponentUnhealthy"/>
<OperationalState MonitorTypeStateID="State2" HealthState="Success" ID="ComponentHealthy"/>
</OperationalStates>
<Configuration>
<IntervalSeconds>60</IntervalSeconds>
<SyncTime/>
<ConnectionString>Provider=SQLOLEDB;Server=$Target/Property[Type='SM!Microsoft.SystemCenter.ServiceManager.SmManagementServer']/SmDbHostName$;Database=$Target/Property[Type='SM!Microsoft.SystemCenter.ServiceManager.SmManagementServer']/SMDbName$;Integrated Security=SSPI</ConnectionString>
<Query>
SELECT COUNT(*)
FROM dbo.InternalJobHistory Job,
(SELECT max(timestarted) as LastTime, command
FROM dbo.InternalJobHistory
GROUP BY command) GroupJob
WHERE job.Command = GroupJob.Command
AND job.TimeStarted= GroupJob.LastTime
AND (
(job.StatusCode = '0' AND (DATEDIFF(MINUTE, job.TimeStarted , GETUTCDATE()) >= 25)) OR
(job.StatusCode = '0' AND (DATEDIFF(MINUTE, job.TimeStarted , GETUTCDATE()) >= 15) AND job.Command like '%Subscription%') OR
job.StatusCode ='2'
)
</Query>
<State1Filter>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Columns/Column[1]</XPathQuery>
</ValueExpression>
<Operator>NotEqual</Operator>
<ValueExpression>
<Value Type="String">0</Value>
</ValueExpression>
</SimpleExpression>
</State1Filter>
<State2Filter>
<SimpleExpression>
<ValueExpression>
<XPathQuery Type="String">Columns/Column[1]</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value Type="String">0</Value>
</ValueExpression>
</SimpleExpression>
</State2Filter>
</Configuration>
</UnitMonitor>