Monitor für Verknüpfungsframework-Workflows
In der Regel treten Fehler beim Verknüpfungsworkflow aufgrund einer der folgenden Ursachen auf. In der Ansicht für aktive Warnungen ist diesem Fehler eine Warnung zugeordnet. In den Warnungsinformationen ist die spezifische Ursache für den Fehler angegeben.
1.Verknüpfungsframework-Workflow niemals ausgeführt: Diese Warnung weist darauf hin, dass der Connector seit seiner Erstellung nicht mehr ausgeführt wurde. Möglicherweise ist der Connector deaktiviert, der Integritätsdienst erstellt keine Workflows, oder der Connector ist falsch konfiguriert.
2.Verknüpfungsframework-Workflow mit Fehlern abgeschlossen: Beim Verknüpfungsframework-Connector ist ein Fehler bei der Synchronisierung aufgetreten. Mehrere Gründe sind möglich, der genaue Grund hängt von der Quelle ab.
2.Status des Verknüpfungsframework-Workflows unbekannt: Der Verknüpfungsframework-Connector weist einen unbekannten Status auf. Der Workflowstatus wurde vom Workflow nicht aktualisiert.
Verknüpfungsframework-Workflow niemals ausgeführt:
Stellen Sie mithilfe der Service Manager-Konsole sicher, dass der Connector aktiviert ist.
Prüfen Sie die Konfigurationen des Connectors, die Serververfügbarkeit, Berechtigungen, Zeitplan usw. Suchen Sie im Ereignisprotokoll nach detaillierteren Informationen oder einer Anleitung.
Führen Sie einen Neustart des Integritätsdiensts auf dem Verwaltungsserver durch, auf dem die Workflows ausgeführt werden sollen, und prüfen Sie das Operations Manager-Ereignisprotokoll auf Fehler beim LFX-Dienst.
Verknüpfungsframework-Workflow mit Fehlern abgeschlossen:
Prüfen Sie das Operations Manager-Ereignisprotokoll auf dem Service Manager-Verwaltungsserver, und suchen Sie nach Fehlern im LFX-Dienst. Die Probleme mit dem Workflow werden in der Fehlerbeschreibung erläutert.
Status des Verknüpfungsframework-Workflows unbekannt:
Versuchen Sie, den Connector von der Service Manager-Konsole aus erneut auszuführen.
Target | Microsoft.SystemCenter.ServiceManager.SmManagementServer |
Parent Monitor | Microsoft.ServiceManager.Workflows.AvailabilityHealthRollup |
Category | AvailabilityHealth |
Enabled | True |
Alert Generate | False |
Alert Auto Resolve | True |
Monitor Type | Microsoft.SystemCenter.ServiceManager.Workflows.OLEDB.Monitoring.DBProbeMonitorType |
Remotable | True |
Accessibility | Public |
RunAs | Default |
<UnitMonitor ID="Microsoft.SystemCenter.ServiceManager.LfxWorkflows.Monitor" Accessibility="Public" Enabled="true" Target="SM!Microsoft.SystemCenter.ServiceManager.SmManagementServer" ParentMonitorID="Microsoft.ServiceManager.Workflows.AvailabilityHealthRollup" Remotable="true" Priority="Normal" TypeID="Microsoft.SystemCenter.ServiceManager.Workflows.OLEDB.Monitoring.DBProbeMonitorType" ConfirmDelivery="false">
<Category>AvailabilityHealth</Category>
<OperationalStates>
<OperationalState ID="ComponentUnhealthy" MonitorTypeStateID="State1" HealthState="Warning"/>
<OperationalState ID="ComponentHealthy" MonitorTypeStateID="State2" HealthState="Success"/>
</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>
declare @TableName sysname;
declare @StatusColumn sysname;
declare @StartTimeColumn sysname;
declare @Query varchar(max);
select @TableName = MT.ManagedTypeTableName,
@StatusColumn = MTP1.ColumnName,@StartTimeColumn = MTP2.ColumnName from ManagedType MT
inner join ManagedTypeProperty MTP1
on MT.ManagedTypeId = MTP1.ManagedTypeId
inner join ManagedTypeProperty MTP2
on MT.ManagedTypeId = MTP2.ManagedTypeId
where MT.TypeName = N'Microsoft.SystemCenter.LinkingFramework.SyncStatus'
and MTP1.ManagedTypePropertyName = N'Status'
and MTP2.ManagedTypePropertyName = N'LastRunStartTime'
SET @Query = N'select CONVERT(varchar,COUNT(*))' +
' from dbo.EnumType Etype join ' + @TableName +
' SyncStatus on Etype.EnumTypeId = SyncStatus.' + @StatusColumn +
' join dbo.Relationship Rel on Rel.TargetEntityId = SyncStatus.BaseManagedEntityId join dbo.BaseManagedEntity BME '+
'on BME.BaseManagedEntityId = Rel.SourceEntityId ' +
' WHERE (' + @StatusColumn + ' like ''%FinishedwithError%'') OR ' +
'(' + @StatusColumn + ' like ''%Unknown%'') OR ' +
'(' + @StatusColumn + ' like ''%NeverRun%'' AND ' +
'('+ ' DATEDIFF(MINUTE,' + @StartTimeColumn + ', GETUTCDATE()) >= 5))'
EXEC(@Query)
</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>