Monitorování pracovního postupu serveru Linking Framework
Chyby pracovních postupů serveru Linking Framework můžou obvykle nastat z jednoho z těchto důvodů. Zobrazení aktivních výstrah bude obsahovat výstrahu spojenou s touto chybou. Konkrétní příčina chyby bude uvedena v informacích výstrahy.
1. Pracovní postup serveru Linking Framework se nikdy nespustil: Toto upozornění poukazuje na to, že tento konektor od svého vytvoření ještě neběžel. Konektor může být zakázaný, služba Health Service možná nevytváří pracovní postupy nebo je konektor nesprávně nakonfigurovaný.
2. Pracovní postup serveru Linking Framework se dokončil s chybami: V konektoru serveru Linking Framework došlo k chybě se synchronizací. Příčiny tohoto stavu mohou být různé, konkrétní příčina závisí na zdroji.
2. Pracovní postup serveru Linking Framework – neznámý stav: Stav konektoru serveru Linking Framework je neznámý. Pracovní postup neaktualizoval svůj stav.
Pokud se pracovní postup serveru Linking Framework nikdy nespustil,
Pomocí konzoly Service Manageru se přesvědčte, že je konektor povolený.
Zkontrolujte konfigurace konektoru, dostupnost serveru, oprávnění plán apod. Podrobné informace a instrukce najdete v protokolu událostí.
Restartujte službu Health Service na serveru pro správu, na kterém by měly pracovní postupy běžet, a v protokolu událostí Operations Manageru zkontrolujte případné chyby služby LFX.
Pokud se pracovní postup serveru Linking Framework dokončil s chybami,
Zkontrolujte protokol událostí Operations Manageru na serveru pro správu Service Manageru a vyhledejte chyby služby LFX. Popis chyby obsahuje vysvětlení potíží s pracovním postupem.
Pokud je stav pracovního postupu serveru Linking Framework neznámý,
Zkuste spustit konektor znovu z konzoly Service Manageru.
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>