Monitor de flujos de trabajo de Linking Framework
Normalmente, se pueden producir errores de flujos de trabajo de vinculación por alguno de los siguientes motivos. La vista Alertas activas tendrá una alerta asociada con este error. La información de la alerta indicará la causa específica del error.
1. Un flujo de trabajo de Linking Framework no se ha ejecutado nunca: Esta advertencia indica que el conector no se ha ejecutado desde que se creó. Es posible que el conector esté deshabilitado, que el servicio de mantenimiento no esté generando flujos de trabajo o que el conector esté mal configurado.
2. Un flujo de trabajo de Linking Framework finalizó con errores: Error de sincronización en el conector de Linking Framework. Hay varias causas posibles. La causa exacta depende del origen.
2. Estado desconocido de un flujo de trabajo de Linking Framework: El conector de Linking Framework tiene un estado desconocido. El flujo de trabajo no actualizó el estado.
Si un flujo de trabajo de Linking Framework no se ha ejecutado nunca:
En la consola de Service Manager, asegúrese de que el conector está habilitado.
Compruebe las configuraciones del conector, la disponibilidad del servidor, los permisos, la programación, etc. Compruebe el registro de eventos para obtener información más detallada o instrucciones.
Reinicie el servicio de mantenimiento en el servidor de administración que debe ejecutar los flujos de trabajo y compruebe el registro de eventos de Operations Manager por si hay errores con el servicio LFX.
Si un flujo de trabajo de Linking Framework finalizó con errores:
Compruebe el registro de eventos de Operations Manager en el servidor de administración de Service Manager y busque errores en el servicio LFX. La descripción del error explicará los problemas con el flujo de trabajo.
Si un flujo de trabajo de Linking Framework tiene un estado desconocido:
Reinténtelo ejecutando el conector desde la consola de Service Manager.
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>