Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Komponenty Azure Service Fabric poskytují sestavy stavu systému pro všechny entity v clusteru již v základní konfiguraci. Zdravotní úložiště vytváří a odstraňuje entity na základě systémových hlášení. Také je uspořádá v hierarchii, která zachycuje interakce entit.
Poznámka:
Pokud chcete porozumět konceptům souvisejícím se stavem, přečtěte si další informace o modelu stavu Service Fabric.
Sestavy stavu systému poskytují přehled o funkcích clusteru a aplikací a upozorňují na problémy. U aplikací a služeb sestavy o stavu systému ověřují, že jsou entity správně implementovány a chovají se vhodně z pohledu Service Fabric. Sestavy neposkytují žádné monitorování stavu obchodní logiky služby ani zjišťování procesů, které nereagují. Uživatelské služby můžou obohatit data o stavu informacemi specifickými pro jejich logiku.
Poznámka:
Zdravotní zprávy odesílané uživatelskými nástroji pro monitorování jsou viditelné až po vytvoření entity systémovými komponenty. Když je entita odstraněna, úložiště stavu automaticky odstraní všechny související sestavy o stavu. Totéž platí při vytvoření nové instance entity. Příkladem je vytvoření nové stavové instance repliky trvalé služby. Všechny zprávy přidružené ke staré instanci jsou odstraněny a vyčištěny z úložiště.
Sestavy systémových komponent jsou identifikovány podle zdroje, který začíná předponou "System.". Watchdogs nemůže použít stejnou předponu pro své zdroje, protože sestavy s neplatnými parametry jsou odmítnuty.
Pojďme se podívat na některé systémové sestavy, abychom pochopili, co je aktivuje, a abychom se naučili, jak opravit potenciální problémy, které představují.
Poznámka:
Service Fabric průběžně přidává zprávy o podmínkách, které nás zajímají, čímž zlepšuje přehled o tom, co se děje v clusteru a aplikacích. Existující sestavy je možné vylepšit o další podrobnosti, které vám pomohou rychleji diagnostikovat problém.
Sestavy stavu systému clusteru
Entita stavu clusteru se automaticky vytvoří v úložišti pro sledování stavu. Pokud všechno funguje správně, nemá systémovou sestavu.
Ztráta sousedství
System.Federation hlásí chybu, když zjistí ztrátu okolí. Sestava pochází z jednotlivých uzlů a ID uzlu je součástí názvu vlastnosti. Pokud dojde ke ztrátě jedné čtvrti v celém okruhu Service Fabric, můžete obvykle očekávat dvě události, které představují obě strany sestavy mezery. Pokud dojde ke ztrátě více sousedství, dojde k více událostem.
Sestava určuje časový limit globálního zapůjčení jako hodnotu TTL (Time to Live). Sestava se znovu odešle každou polovinu doby trvání TTL po dobu, kdy je podmínka aktivní. Událost se automaticky odebere, jakmile vyprší její platnost. Chování odebrání po vypršení platnosti zajišťuje, že se sestava správně vyčistí z úložiště zdraví, i když je uzel pro hlášení mimo provoz.
- SourceId: System.Federation
- Vlastnost: Začíná s okolím a obsahuje informace o uzlu.
- Další kroky: Prozkoumejte, proč se okolí ztratí. Zkontrolujte například komunikaci mezi uzly clusteru.
Přestavět
Služba Správce převzetí služeb při selhání (FM) spravuje informace o clusterových uzlech. Když FM ztratí data a přejde do ztráty dat, nemůže zaručit, že obsahuje nejaktuálnější informace o uzlech clusteru. V tomto případě systém prochází opětovným sestavením a System.FM shromažďuje data ze všech uzlů v clusteru za účelem opětovného sestavení stavu. Někdy se kvůli problémům se sítěmi nebo uzly může opětovné sestavení zaseknout nebo zastavit. Totéž se může stát u služby Správce převzetí služeb při selhání (FMM). FMM je bezstavová systémová služba, která sleduje, kde jsou všechny FM v clusteru. Primárním uzlem FMM je vždy uzel s ID nejblíže 0. Pokud dojde k odstranění tohoto uzlu, spustí se opětovné sestavení. Když dojde k některé z předchozích podmínek, System.FM nebo System.FMM ji označí prostřednictvím zprávy o chybě. Opětovné sestavení může být zablokované v jedné ze dvou fází:
Čekání na vysílání: FM/FMM čeká na odpověď na vysílanou zprávu z ostatních uzlů.
- Další kroky: Zkontrolujte, jestli mezi uzly nedochází k problému s připojením k síti.
Čekání na uzly: Systém FM/FMM již obdržel odezvu na vysílání z ostatních uzlů a čeká na odpověď od konkrétních uzlů. Zpráva o stavu uvádí uzly, pro které FM/FMM čeká na odpověď.
- Další kroky: Prozkoumejte síťové připojení mezi FM/FMM a uvedenými uzly. Prozkoumejte každý uvedený uzel, kde najdete další možné problémy.
ID zdroje: System.FM nebo System.FMM
Vlastnost: Znovu sestavit.
Další kroky: Prozkoumejte síťové připojení mezi uzly a stav konkrétních uzlů uvedených v popisu zprávy o stavu.
Stav počátečního uzlu
System.FM hlásí upozornění na úrovni clusteru, pokud některé počáteční uzly nejsou v pořádku. Počáteční uzly jsou uzly, které udržují dostupnost základního clusteru. Tyto uzly pomáhají zajistit, aby cluster zůstal funkční tím, že vytvářejí leasingové smlouvy s jinými uzly a slouží jako tiebreakery během určitých druhů selhání sítě. Pokud je většina počátečních uzlů v clusteru vypnutá a nepřinesou se zpět, cluster se automaticky vypne.
Počáteční uzel není v pořádku, pokud je jeho stav uzlu nižší, odebraný nebo neznámý. Zpráva upozornění pro stav počátečního uzlu zobrazí seznam všech počátečních uzlů, které nejsou v pořádku, s podrobnými informacemi.
- ID zdroje: System.FM
- Vlastnost: SeedNodeStatus
- Další kroky: Pokud se v clusteru zobrazí toto upozornění, postupujte podle následujících pokynů a opravte ho: V případě clusteru Service Fabric verze 6.5 nebo vyšší: V případě clusteru Service Fabric v Azure se po výpadku počátečního uzlu pokusí Service Fabric automaticky změnit na jiný než počáteční uzel. Aby k tomu došlo, ujistěte se, že počet nepočátečních uzlů v primárním typu uzlu je větší nebo roven počtu nefunkčních počátečních uzlů. V případě potřeby přidejte k primárnímu typu uzlu další uzly, abyste toho dosáhli. V závislosti na stavu clusteru může nějakou dobu trvat, než problém vyřešíte. Jakmile je to hotové, hlášení upozornění se automaticky vymaže.
Pokud chcete vymazat sestavu upozornění pro samostatný cluster Service Fabric, musí být všechny počáteční uzly zdravé. V závislosti na tom, proč počáteční uzly nejsou v pořádku, je potřeba provést různé akce: pokud je počáteční uzel down, uživatelé musí tento počáteční uzel přenést nahoru; Pokud je počáteční uzel odebrán nebo Neznámý, je nutné tento počáteční uzel z clusteru odebrat. Když se všechny počáteční uzly stanou v pořádku, sestava upozornění se automaticky vymaže.
V případě clusteru se starší verzí Service Fabric než 6.5: V tomto případě musí být zpráva upozornění vymazána ručně. Uživatelé by měli před vymazáním sestavy zajistit, aby všechny počáteční uzly byly v pořádku: pokud je počáteční uzel mimo provoz, uživatelé musí tento počáteční uzel obnovit; pokud je počáteční uzel odebrán nebo neznámý, musí být tento počáteční uzel z clusteru odstraněn. Jakmile budou všechny počáteční uzly v pořádku, pomocí následujícího příkazu v PowerShellu odstraňte upozornění ze sestavy:
PS C:\> Send-ServiceFabricClusterHealthReport -SourceId "System.FM" -HealthProperty "SeedNodeStatus" -HealthState OK
Sestavy zdravotního stavu systému uzlů
System.FM, která představuje službu Správce převzetí služeb při selhání, je autorita, která spravuje informace o uzlech clusteru. Každý uzel by měl mít jednu sestavu ze systémů System.FM, která ukazuje jeho stav. Entity uzlu se odeberou, když se odebere stav uzlu. Další informace naleznete v tématu RemoveNodeStateAsync.
Uzel nahoru/dolů
System.FM hlásí jako OK, když se uzel připojí ke kruhu (je spuštěný). Hlásí chybu, když uzel opouští kruh (je mimo provoz, buď kvůli aktualizaci, nebo jednoduše proto, že selhal). Hierarchie zdraví vytvořená zdravotním úložištěm funguje na nasazených entitách v korelaci se zprávami uzlů System.FM. Považuje uzel za virtuální nadřazený prvek všech nasazených entit. Nasazené entity na tomto uzlu se zveřejňují prostřednictvím dotazů, pokud je uzel vykázán jako aktivní systémem System.FM, se stejnou instancí jako instance přidružená k těmto entitám. Když System.FM hlásí, že uzel je vypnutý nebo restartován jako nová instance, úložiště stavu automaticky vyčistí nasazené entity, které mohou existovat pouze na vypnutém uzlu nebo v předchozí instanci uzlu.
- SourceId: System.FM
- Vlastnost: Stav.
- Další kroky: Pokud je uzel pro upgrade mimo provoz, měl by se po upgradu vrátit do provozu. V takovém případě by se stav měl přepnout zpět na OK. Pokud se uzel nevrátí nebo selže, problém potřebuje další šetření.
Následující příklad ukazuje událost System.FM se stavem OK pro uzel nahoru:
PS C:\> Get-ServiceFabricNodeHealth _Node_0
NodeName : _Node_0
AggregatedHealthState : Ok
HealthEvents :
SourceId : System.FM
Property : State
HealthState : Ok
SequenceNumber : 8
SentAt : 7/14/2017 4:54:51 PM
ReceivedAt : 7/14/2017 4:55:14 PM
TTL : Infinite
Description : Fabric node is up.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
Vypršení platnosti certifikátu
System.FabricNode hlásí upozornění, když se blíží vypršení platnosti certifikátů používaných uzlem. Na uzel existují tři certifikáty: Certificate_cluster, Certificate_server a Certificate_default_client. Pokud je zbývající doba platnosti nejméně dva týdny, stav zprávy je v pořádku. Pokud je vypršení platnosti do dvou týdnů, typ sestavy je upozornění. Časový limit (TTL) těchto událostí je neomezený a jsou odstraněny, když uzel opustí cluster.
- SourceId: System.FabricNode
- Vlastnost: Začíná certifikátema obsahuje další informace o typu certifikátu.
- Další kroky: Aktualizujte certifikáty, pokud se blíží vypršení platnosti.
Narušení kapacity zatížení
Service Fabric Load Balancer hlásí upozornění, když zjistí porušení kapacity uzlu.
- SourceId: System.PLB
- Vlastnost: Začíná s kapacitou.
- Další kroky: Zkontrolujte zadané metriky a zobrazte aktuální kapacitu na uzlu.
Neshoda kapacity uzlů pro metriky zásad správného řízení prostředků
System.Hosting hlásí upozornění, pokud jsou definované kapacity uzlů v manifestu clusteru větší než skutečné kapacity uzlů pro metriky zásad správného řízení prostředků (paměť a jádra procesoru). Sestava stavu se zobrazí, když první balíček služby, který používá registr zásad správného řízení prostředků v zadaném uzlu.
- SourceId: System.Hosting
- Vlastnost: ResourceGovernance.
- Další kroky: Tento problém může být problém, protože řízení balíčků služeb se nevynucuje podle očekávání a zásady správného řízení prostředků nefungují správně. Aktualizujte manifest clusteru se správnými kapacitami uzlů pro tyto metriky nebo je nezadávejte a nechte Service Fabric automaticky zjišťovat dostupné prostředky.
Sestavy stavu systému aplikací
System.CM, která představuje službu Správce clusteru, je autorita, která spravuje informace o aplikaci.
Stát
System.CM hlásí jako OK, když je aplikace vytvořena nebo aktualizována. Informuje obchod se zdravou výživou, když je aplikace odstraněna, aby ji bylo možné z obchodu odebrat.
- SourceId: System.CM
- Vlastnost: Stav.
- Další kroky: Pokud byla aplikace vytvořena nebo aktualizována, měla by obsahovat sestavu stavu Správce clusteru. V opačném případě zkontrolujte stav aplikace vystavením dotazu. Například použijte rutinu PowerShell Get-ServiceFabricApplication -ApplicationNameapplicationName.
Následující příklad ukazuje událost stavu v aplikaci fabric:/WordCount :
PS C:\> Get-ServiceFabricApplicationHealth fabric:/WordCount -ServicesFilter None -DeployedApplicationsFilter None -ExcludeHealthStatistics
ApplicationName : fabric:/WordCount
AggregatedHealthState : Ok
ServiceHealthStates : None
DeployedApplicationHealthStates : None
HealthEvents :
SourceId : System.CM
Property : State
HealthState : Ok
SequenceNumber : 282
SentAt : 7/13/2017 5:57:05 PM
ReceivedAt : 7/14/2017 4:55:10 PM
TTL : Infinite
Description : Application has been created.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/13/2017 5:57:05 PM, LastWarning = 1/1/0001 12:00:00 AM
Sestavy stavu systému služeb
System.FM, která představuje službu Správce převzetí služeb při selhání, je autorita, která spravuje informace o službách.
Stát
System.FM hlásí stav jako OK, když byla služba vytvořena. Entita je odstraněna z úložiště zdraví, když je služba odstraněna.
- SourceId: System.FM
- Vlastnost: Stav.
Následující příklad ukazuje událost stavu v service fabric:/WordCount/WordCountWebService:
PS C:\> Get-ServiceFabricServiceHealth fabric:/WordCount/WordCountWebService -ExcludeHealthStatistics
ServiceName : fabric:/WordCount/WordCountWebService
AggregatedHealthState : Ok
PartitionHealthStates :
PartitionId : 8bbcd03a-3a53-47ec-a5f1-9b77f73c53b2
AggregatedHealthState : Ok
HealthEvents :
SourceId : System.FM
Property : State
HealthState : Ok
SequenceNumber : 14
SentAt : 7/13/2017 5:57:05 PM
ReceivedAt : 7/14/2017 4:55:10 PM
TTL : Infinite
Description : Service has been created.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/13/2017 5:57:18 PM, LastWarning = 1/1/0001 12:00:00 AM
Chyba korelace služby
System.PLB hlásí chybu, když zjistí, že aktualizace služby souvisí s jinou službou, která vytváří řetěz vztahů. Sestava se vymaže, když dojde k úspěšné aktualizaci.
- SourceId: System.PLB
- Vlastnost: PopisSlužby.
- Další kroky: Zkontrolujte popisy korelovaných služeb.
Sestavy zdravotního stavu systémových oddílů
System.FM, která představuje službu Správce převzetí služeb při selhání, je autorita, která spravuje informace o oddílech služby.
Stát
System.FM hlásí jako OK, když byl oddíl vytvořen a je zdravý. Odstraní entitu z úložiště stavu, když je odstraněn oddíl.
Pokud je diskový oddíl pod minimálním počtem replik, hlásí chybu. Pokud oddíl není nižší než minimální počet replik, ale je pod počtem cílových replik, hlásí upozornění. Pokud dochází ke ztrátě kvora oddílu, System.FM hlásí chybu.
Mezi další pozoruhodné události patří upozornění, když rekonfigurace trvá déle, než se očekávalo, a když sestavení trvá déle, než se očekávalo. Očekávané časy sestavení a rekonfigurace se dají konfigurovat na základě scénářů služby. Pokud má například služba terabajt stavu, například Azure SQL Database, trvá sestavení déle než u služby s malým množstvím stavu.
- SourceId: System.FM
- Vlastnost: Stav.
- Další kroky: Pokud stav není v pořádku, je možné, že některé repliky nebyly vytvořeny, otevřeny nebo povýšeny na primární nebo sekundární správně.
Pokud se v popisu zmiňuje ztráta kvora, pak prozkoumání podrobné zprávy o stavu nefunkčních replik a jejich obnovení pomáhá vrátit oddíl znovu online.
Pokud popis popisuje oddíl zablokovaný v rekonfiguraci; pak zpráva o stavu na primární replice poskytuje další informace.
Pro jiné zprávy o stavu System.FM by byly zprávy o replikách, oddílech nebo službách od jiných složek systému.
Následující příklady ukazují některé z těchto zpráv.
Následující příklad ukazuje oddíl, který je v pořádku:
PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountWebService | Get-ServiceFabricPartitionHealth -ExcludeHealthStatistics -ReplicasFilter None
PartitionId : 8bbcd03a-3a53-47ec-a5f1-9b77f73c53b2
AggregatedHealthState : Ok
ReplicaHealthStates : None
HealthEvents :
SourceId : System.FM
Property : State
HealthState : Ok
SequenceNumber : 70
SentAt : 7/13/2017 5:57:05 PM
ReceivedAt : 7/14/2017 4:55:10 PM
TTL : Infinite
Description : Partition is healthy.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/13/2017 5:57:18 PM, LastWarning = 1/1/0001 12:00:00 AM
Následující příklad ukazuje stav oddílu, který je pod cílovým počtem replik. Dalším krokem je získání popisu oddílu, který ukazuje, jak je nakonfigurovaný: MinReplicaSetSize je tři a TargetReplicaSetSize je sedm. Pak získejte počet uzlů v clusteru, což je v tomto případě pět. V tomto případě tedy nelze umístit dvě repliky, protože cílový počet replik je vyšší než počet dostupných uzlů.
PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountService | Get-ServiceFabricPartitionHealth -ReplicasFilter None -ExcludeHealthStatistics
PartitionId : af2e3e44-a8f8-45ac-9f31-4093eb897600
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.FM', Property='State', HealthState='Warning', ConsiderWarningAsError=false.
ReplicaHealthStates : None
HealthEvents :
SourceId : System.FM
Property : State
HealthState : Warning
SequenceNumber : 123
SentAt : 7/14/2017 4:55:39 PM
ReceivedAt : 7/14/2017 4:55:44 PM
TTL : Infinite
Description : Partition is below target replica or instance count.
fabric:/WordCount/WordCountService 7 2 af2e3e44-a8f8-45ac-9f31-4093eb897600
N/S Ready _Node_2 131444422260002646
N/S Ready _Node_4 131444422293113678
N/S Ready _Node_3 131444422293113679
N/S Ready _Node_1 131444422293118720
N/P Ready _Node_0 131444422293118721
(Showing 5 out of 5 replicas. Total available replicas: 5)
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 7/14/2017 4:55:44 PM, LastOk = 1/1/0001 12:00:00 AM
SourceId : System.PLB
Property : ServiceReplicaUnplacedHealth_Secondary_af2e3e44-a8f8-45ac-9f31-4093eb897600
HealthState : Warning
SequenceNumber : 131445250939703027
SentAt : 7/14/2017 4:58:13 PM
ReceivedAt : 7/14/2017 4:58:14 PM
TTL : 00:01:05
Description : The Load Balancer was unable to find a placement for one or more of the Service's Replicas:
Secondary replica could not be placed due to the following constraints and properties:
TargetReplicaSetSize: 7
Placement Constraint: N/A
Parent Service: N/A
Constraint Elimination Sequence:
Existing Secondary Replicas eliminated 4 possible node(s) for placement -- 1/5 node(s) remain.
Existing Primary Replica eliminated 1 possible node(s) for placement -- 0/5 node(s) remain.
Nodes Eliminated By Constraints:
Existing Secondary Replicas -- Nodes with Partition's Existing Secondary Replicas/Instances:
--
FaultDomain:fd:/4 NodeName:_Node_4 NodeType:NodeType4 UpgradeDomain:4 UpgradeDomain: ud:/4 Deactivation Intent/Status: None/None
FaultDomain:fd:/3 NodeName:_Node_3 NodeType:NodeType3 UpgradeDomain:3 UpgradeDomain: ud:/3 Deactivation Intent/Status: None/None
FaultDomain:fd:/2 NodeName:_Node_2 NodeType:NodeType2 UpgradeDomain:2 UpgradeDomain: ud:/2 Deactivation Intent/Status: None/None
FaultDomain:fd:/1 NodeName:_Node_1 NodeType:NodeType1 UpgradeDomain:1 UpgradeDomain: ud:/1 Deactivation Intent/Status: None/None
Existing Primary Replica -- Nodes with Partition's Existing Primary Replica or Secondary Replicas:
--
FaultDomain:fd:/0 NodeName:_Node_0 NodeType:NodeType0 UpgradeDomain:0 UpgradeDomain: ud:/0 Deactivation Intent/Status: None/None
RemoveWhenExpired : True
IsExpired : False
Transitions : Error->Warning = 7/14/2017 4:56:14 PM, LastOk = 1/1/0001 12:00:00 AM
PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountService | select MinReplicaSetSize,TargetReplicaSetSize
MinReplicaSetSize TargetReplicaSetSize
----------------- --------------------
2 7
PS C:\> @(Get-ServiceFabricNode).Count
5
Následující příklad ukazuje stav oddílu, který je zablokovaný v rekonfiguraci kvůli tomu, že uživatel neresektuje token zrušení v metodě RunAsync . Zkoumání zprávy o stavu jakékoli repliky označené jako primární (P) může pomoct přejít k podrobnostem problému dál.
PS C:\utilities\ServiceFabricExplorer\ClientPackage\lib> Get-ServiceFabricPartitionHealth 0e40fd81-284d-4be4-a665-13bc5a6607ec -ExcludeHealthStatistics
PartitionId : 0e40fd81-284d-4be4-a665-13bc5a6607ec
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.FM', Property='State', HealthState='Warning',
ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.FM
Property : State
HealthState : Warning
SequenceNumber : 7
SentAt : 8/27/2017 3:43:09 AM
ReceivedAt : 8/27/2017 3:43:32 AM
TTL : Infinite
Description : Partition reconfiguration is taking longer than expected.
fabric:/app/test1 3 1 0e40fd81-284d-4be4-a665-13bc5a6607ec
P/S Ready Node1 131482789658160654
S/P Ready Node2 131482789688598467
S/S Ready Node3 131482789688598468
(Showing 3 out of 3 replicas. Total available replicas: 3)
For more information see: https://aka.ms/sfhealth
RemoveWhenExpired : False
IsExpired : False
Transitions : Ok->Warning = 8/27/2017 3:43:32 AM, LastError = 1/1/0001 12:00:00 AM
Tato zdravotní zpráva ukazuje stav replik oddílů, které procházejí rekonfigurací.
P/S Ready Node1 131482789658160654
S/P Ready Node2 131482789688598467
S/S Ready Node3 131482789688598468
Pro každou repliku obsahuje sestava stavu:
- Předchozí konfigurační role
- Aktuální konfigurační role
- Stav repliky
- Uzel, na kterém replika běží
- ID repliky
V případě podobném příkladu je potřeba další šetření. Prozkoumejte stav každé jednotlivé repliky počínaje replikami označenými jako Primary
a Secondary
(131482789658160654 a 131482789688598467) v předchozím příkladu.
Porušení omezení repliky
System.PLB hlásí upozornění, pokud zjistí porušení omezení u repliky a nemůže umístit všechny repliky particí. Podrobnosti sestavy ukazují, která omezení a vlastnosti brání umístění repliky.
- SourceId: System.PLB
- Vlastnost: Začíná s ReplicaConstraintViolation.
Sestavy stavu systému repliky
System.RA, která představuje součást agenta rekonfigurace, je autorita pro stav repliky.
Stát
System.RA hlásí OK, když byla vytvořena replika.
- SourceId: System.RA
- Vlastnost: Stav.
Následující příklad ukazuje repliku, která je v pořádku:
PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountService | Get-ServiceFabricReplica | where {$_.ReplicaRole -eq "Primary"} | Get-ServiceFabricReplicaHealth
PartitionId : af2e3e44-a8f8-45ac-9f31-4093eb897600
ReplicaId : 131444422293118721
AggregatedHealthState : Ok
HealthEvents :
SourceId : System.RA
Property : State
HealthState : Ok
SequenceNumber : 131445248920273536
SentAt : 7/14/2017 4:54:52 PM
ReceivedAt : 7/14/2017 4:55:13 PM
TTL : Infinite
Description : Replica has been created._Node_0
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:13 PM, LastWarning = 1/1/0001 12:00:00 AM
StavOtevřeníRepliky, StavZavřeníRepliky, StavZměnyRoleRepliky
Tato vlastnost slouží k označení upozornění nebo selhání při pokusu o otevření repliky, zavření repliky nebo převod repliky z jedné role na jinou. Další informace najdete v tématu Životní cyklus repliky. Selhání můžou být výjimky vyvolané voláním rozhraní API nebo selháním hostitelského procesu služby během této doby. V případě selhání kvůli voláním rozhraní API z kódu jazyka C# přidá Service Fabric do zprávy o stavu výjimku a trasování zásobníku.
Tato upozornění stavu se vyvolá po opakování akce místně (v závislosti na zásadách). Service Fabric opakuje akci až do maximální prahové hodnoty. Po dosažení maximální prahové hodnoty se může pokusit situaci opravit. Tento pokus může způsobit, že se tato upozornění vymažou, protože se přestane provádět akce na tomto uzlu. Například, pokud replika nejde otevřít na uzlu, Service Fabric vyvolá upozornění na stav. Pokud se replika stále nedaří otevřít, Service Fabric přistoupí k automatické opravě. Tato akce může zahrnovat pokus o stejnou operaci na jiném uzlu. Tento pokus způsobí vymazání upozornění vyvolané pro tuto repliku.
- SourceId: System.RA
- Vlastnost: ReplicaOpenStatus, ReplicaCloseStatus a ReplicaChangeRoleStatus.
- Další kroky: Prozkoumejte kód služby nebo výpisy stavu systému a zjistěte, proč operace selhává.
Následující příklad ukazuje stav repliky, která vyvolává TargetInvocationException
ze své otevírací metody. Popis obsahuje místo selhání, IStatefulServiceReplica.Open, typ výjimky TargetInvocationException a trasu zásobníku.
PS C:\> Get-ServiceFabricReplicaHealth -PartitionId 337cf1df-6cab-4825-99a9-7595090c0b1b -ReplicaOrInstanceId 131483509874784794
PartitionId : 337cf1df-6cab-4825-99a9-7595090c0b1b
ReplicaId : 131483509874784794
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.RA', Property='ReplicaOpenStatus', HealthState='Warning',
ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RA
Property : ReplicaOpenStatus
HealthState : Warning
SequenceNumber : 131483510001453159
SentAt : 8/27/2017 11:43:20 PM
ReceivedAt : 8/27/2017 11:43:21 PM
TTL : Infinite
Description : Replica had multiple failures during open on _Node_0 API call: IStatefulServiceReplica.Open(); Error = System.Reflection.TargetInvocationException (-2146232828)
Exception has been thrown by the target of an invocation.
at Microsoft.ServiceFabric.Replicator.RecoveryManager.d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceFabric.Replicator.LoggingReplicator.d__137.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceFabric.Replicator.DynamicStateManager.d__109.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceFabric.Replicator.TransactionalReplicator.d__79.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceFabric.Replicator.StatefulServiceReplica.d__21.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceFabric.Services.Runtime.StatefulServiceReplicaAdapter.d__0.MoveNext()
For more information see: https://aka.ms/sfhealth
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 8/27/2017 11:43:21 PM, LastOk = 1/1/0001 12:00:00 AM
Následující příklad ukazuje repliku, která při zavírání neustále padá.
C:>Get-ServiceFabricReplicaHealth -PartitionId dcafb6b7-9446-425c-8b90-b3fdf3859e64 -ReplicaOrInstanceId 131483565548493142
PartitionId : dcafb6b7-9446-425c-8b90-b3fdf3859e64
ReplicaId : 131483565548493142
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.RA', Property='ReplicaCloseStatus', HealthState='Warning',
ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RA
Property : ReplicaCloseStatus
HealthState : Warning
SequenceNumber : 131483565611258984
SentAt : 8/28/2017 1:16:01 AM
ReceivedAt : 8/28/2017 1:16:03 AM
TTL : Infinite
Description : Replica had multiple failures during close on _Node_1. The application
host has crashed.
For more information see: https://aka.ms/sfhealth
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 8/28/2017 1:16:03 AM, LastOk = 1/1/0001 12:00:00 AM
Rekonfigurace
Tato vlastnost se používá k označení, kdy replika provádějící rekonfiguraci zjistí, že je rekonfigurace zastavená nebo zablokovaná. Tato sestava stavu může být na replice, jejíž aktuální role je primární, s výjimkou případů prohození primární rekonfigurace, kde může být na replice, která se degraduje z primární na aktivní sekundární.
Rekonfigurace se může zaseknout z jednoho z následujících důvodů:
Akce na místní replice, která je stejná jako replika provádějící rekonfiguraci, se nedokončuje. V tomto případě může vyšetřování zpráv o stavu této repliky z jiných komponent, System.RAP nebo System.RE poskytnout další informace.
Akce se nedokončuje na vzdálené replice. Repliky, na něž čekají akce, jsou uvedeny ve zprávě o stavu. Další šetření by se mělo provést u zpráv o stavu těchto vzdálených replik. Mezi tímto uzlem a vzdáleným uzlem můžou být také problémy s komunikací.
Ve výjimečných případech může být rekonfigurace zablokovaná kvůli komunikaci nebo jiným problémům mezi tímto uzlem a službou Správce převzetí služeb při selhání.
- SourceId: System.RA
- Vlastnost: Rekonfigurace.
- Další kroky: Prozkoumejte místní nebo vzdálené repliky v závislosti na popisu sestavy stavu.
Následující příklad ukazuje zdravotní zprávu, ve které je rekonfigurace zablokovaná na místní replice. V této ukázce je příčinou služba, která nerespektuje token pro zrušení.
PS C:\> Get-ServiceFabricReplicaHealth -PartitionId 9a0cedee-464c-4603-abbc-1cf57c4454f3 -ReplicaOrInstanceId 131483600074836703
PartitionId : 9a0cedee-464c-4603-abbc-1cf57c4454f3
ReplicaId : 131483600074836703
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.RA', Property='Reconfiguration', HealthState='Warning',
ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RA
Property : Reconfiguration
HealthState : Warning
SequenceNumber : 131483600309264482
SentAt : 8/28/2017 2:13:50 AM
ReceivedAt : 8/28/2017 2:13:57 AM
TTL : Infinite
Description : Reconfiguration is stuck. Waiting for response from the local replica
For more information see: https://aka.ms/sfhealth
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 8/28/2017 2:13:57 AM, LastOk = 1/1/0001 12:00:00 AM
Následující příklad ukazuje zdravotní zprávu, kde je rekonfigurace zablokovaná a čeká na odpověď ze dvou vzdálených replik. V tomto příkladu jsou ve skupině tři repliky, včetně aktuální primární.
PS C:\> Get-ServiceFabricReplicaHealth -PartitionId 579d50c6-d670-4d25-af70-d706e4bc19a2 -ReplicaOrInstanceId 131483956274977415
PartitionId : 579d50c6-d670-4d25-af70-d706e4bc19a2
ReplicaId : 131483956274977415
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.RA', Property='Reconfiguration', HealthState='Warning', ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RA
Property : Reconfiguration
HealthState : Warning
SequenceNumber : 131483960376212469
SentAt : 8/28/2017 12:13:57 PM
ReceivedAt : 8/28/2017 12:14:07 PM
TTL : Infinite
Description : Reconfiguration is stuck. Waiting for response from 2 replicas
Pending Replicas:
P/I Down 40 131483956244554282
S/S Down 20 131483956274972403
For more information see: https://aka.ms/sfhealth
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 8/28/2017 12:07:37 PM, LastOk = 1/1/0001 12:00:00 AM
Zdravotní zpráva ukazuje, že rekonfigurace je zablokována a čeká na odpověď od dvou replik:
P/I Down 40 131483956244554282
S/S Down 20 131483956274972403
Pro každou repliku jsou uvedeny následující informace:
- Předchozí konfigurační role
- Aktuální konfigurační role
- Stav repliky
- ID uzlu
- ID repliky
Odblokování rekonfigurace:
- Repliky dolů by se měly zobrazit.
- Repliky inbuild by měly dokončit sestavení a přejít do stavu připravenosti.
Pomalé volání API služby
System.RAP a System.Replicator hlásí upozornění, pokud volání kódu služby uživatele trvá déle, než je nakonfigurovaný čas. Po dokončení volání se upozornění vymaže.
- SourceId: System.RAP nebo System.Replicator
- Vlastnost: Název pomalého rozhraní API. Popis obsahuje další podrobnosti o době, kdy rozhraní API čeká na vyřízení.
- Další kroky: Zjistěte, proč volání trvá déle, než se čekalo.
Následující příklad ukazuje událost stavu ze System.RAP pro spolehlivou službu, která nerespektuje token zrušení v RunAsync:
PS C:\> Get-ServiceFabricReplicaHealth -PartitionId 5f6060fb-096f-45e4-8c3d-c26444d8dd10 -ReplicaOrInstanceId 131483966141404693
PartitionId : 5f6060fb-096f-45e4-8c3d-c26444d8dd10
ReplicaId : 131483966141404693
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.RA', Property='Reconfiguration', HealthState='Warning', ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RAP
Property : IStatefulServiceReplica.ChangeRole(S)Duration
HealthState : Warning
SequenceNumber : 131483966663476570
SentAt : 8/28/2017 12:24:26 PM
ReceivedAt : 8/28/2017 12:24:56 PM
TTL : Infinite
Description : The api IStatefulServiceReplica.ChangeRole(S) on _Node_1 is stuck. Start Time (UTC): 2017-08-28 12:23:56.347.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 8/28/2017 12:24:56 PM, LastOk = 1/1/0001 12:00:00 AM
Vlastnost a text označují, které rozhraní API se zaseklo. Další kroky pro různá zablokovaná rozhraní API se liší. Jakékoli rozhraní API na IStatefulServiceReplica nebo IStatelessServiceInstance je obvykle chybou v kódu služby. Následující část popisuje, jak se překládají na model Reliable Services:
IStatefulServiceReplica.Open: Toto upozornění indikuje, že volání
CreateServiceInstanceListeners
,ICommunicationListener.OpenAsync
nebo pokud je přepsáno,OnOpenAsync
je zaseknuté.IStatefulServiceReplica.Close a IStatefulServiceReplica.Abort: Nejběžnějším případem je služba, která nerespektuje token zrušení předaný do
RunAsync
. Může to být také tak, žeICommunicationListener.CloseAsync
je zaseknutý, nebo pokud byl přepsán, zasekne seOnCloseAsync
.IStatefulServiceReplica.ChangeRole(S) a IStatefulServiceReplica.ChangeRole(N): Nejběžnějším případem je služba, která nepoužívá správně token zrušení předaný do
RunAsync
. V tomto scénáři je nejlepším řešením restartovat repliku.IStatefulServiceReplica.ChangeRole(P): Nejběžnějším případem je, že služba nevrátila úlohu z
RunAsync
.
Další volání rozhraní API, která se můžou zaseknout, jsou v rozhraní IReplicatoru . Například:
IReplicator.CatchupReplicaSet: Toto upozornění označuje jednu ze dvou věcí. Repliky nejsou dostatečné. Pokud chcete zjistit, jestli tomu tak je, podívejte se na stav replik v oddílu nebo na zdravotní zprávu System.FM pro zaseknutou rekonfiguraci. Nebo repliky nepotvrzují operace. Pomocí rutiny PowerShellu
Get-ServiceFabricDeployedReplicaDetail
můžete zjistit průběh všech replik. Problém spočívá v replikách, jejichžLastAppliedReplicationSequenceNumber
hodnota je pozadu za hodnotou primárníhoCommittedSequenceNumber
.IReplicator.BuildReplica(<Remote ReplicaId>):: Toto upozornění indikuje problém v procesu sestavení. Další informace najdete v tématu Životní cyklus repliky. Příčinou může být chybná konfigurace adresy replikátoru. Další informace naleznete v tématu Konfigurace stavových Reliable Services a Určení prostředků v manifestu služby. Může se jednat také o problém na vzdáleném uzlu.
Zprávy o stavu systému replikátoru
Plná fronta replikace: System.Replicator hlásí upozornění, když je fronta replikace plná. Fronta replikace se obvykle zaplní, protože jedna nebo více sekundárních replik je pomalé potvrdit operace. Na sekundáru k tomu obvykle dochází, když je služba pomalá při provádění operací. Upozornění se vymaže, když už fronta není plná.
- SourceId: System.Replicator
- Vlastnost: PrimaryReplicationQueueStatus nebo SecondaryReplicationQueueStatus v závislosti na roli repliky.
- Další kroky: Pokud je sestava na primárním serveru, zkontrolujte připojení mezi uzly v clusteru. Pokud jsou všechna připojení v pořádku, pro použití operací může existovat alespoň jedna pomalá sekundární s vysokou latencí disku. Pokud je sestava na sekundárním serveru, nejprve zkontrolujte využití disku a výkon na uzlu. Potom zkontrolujte odchozí připojení z pomalého uzlu do primárního uzlu.
RemoteReplicatorConnectionStatus:System.Replicator na primární replice hlásí upozornění, když není připojení k sekundárnímu (vzdálenému) replikátoru v pořádku. Adresa vzdáleného replikátoru se zobrazí ve zprávě sestavy, což usnadňuje zjištění, jestli byla předána nesprávná konfigurace nebo jestli došlo k problémům se sítí mezi replikátory.
- SourceId: System.Replicator
- Vlastnost: RemoteReplicatorConnectionStatus.
- Další kroky: Zkontrolujte chybovou zprávu a ujistěte se, že je adresa vzdáleného replikátoru správně nakonfigurovaná. Pokud je například vzdálený replikátor otevřen s adresou naslouchacího procesu localhost, není dostupný zvenčí. Pokud adresa vypadá správně, zkontrolujte připojení mezi primárním uzlem a vzdálenou adresou a vyhledejte případné problémy se sítí.
Fronta replikace je plná
System.Replicator hlásí upozornění, když je fronta replikace zaplněná. Na primární frontě se replikace obvykle zaplní, protože jedna nebo více sekundárních replik jsou pomalé v potvrzování operací. U sekundárního zařízení k tomu obvykle dochází, když je služba pomalá při aplikaci operací. Upozornění se vymaže, když už fronta není plná.
- SourceId: System.Replicator
- Vlastnost: PrimaryReplicationQueueStatus nebo SecondaryReplicationQueueStatus v závislosti na roli repliky.
Pomalé procesy pojmenování
System.NamingService hlásí stav primární repliky, když operace pojmenování trvá déle, než je přijatelné. Příklady operací pojmenování jsou CreateServiceAsync nebo DeleteServiceAsync. Další metody najdete v části FabricClient. Najdete je například v rámci metod správy služeb nebo metod správy vlastností.
Poznámka:
Služba pojmenování překládá názvy služeb na umístění v clusteru. Uživatelé ho můžou použít ke správě názvů a vlastností služeb. Jedná se o službu service Fabric s trvalým dělením. Jeden z oddílů představuje Authority Owner, který obsahuje metadata o všech názvech a službách Service Fabric. Názvy Service Fabric se mapují na různé oddíly, označované jako oddíly vlastník názvu, takže je služba rozšiřitelná. Přečtěte si další informace o službě Pojmenování.
Pokud operace pojmenování trvá déle, než se čekalo, operace se označí upozorněním na primární repliku oddílu služby Pojmenování, který tuto operaci obsluhuje. Pokud se operace úspěšně dokončí, upozornění se vymaže. Pokud se operace dokončí s chybou, zpráva o stavu obsahuje podrobnosti o chybě.
- SourceId: System.NamingService
- Vlastnost: Začíná předponou "Duration_" a identifikuje pomalou operaci a název Service Fabric, na kterém se operace použije. Pokud například vytvoření služby s názvem fabric:/MyApp/MyService trvá příliš dlouho, vlastnost je Duration_AOCreateService.fabric:/MyApp/MyService. AO odkazuje na roli pojmenovacího oddílu pro tento název a operaci.
- Další kroky: Zkontrolujte, proč operace pojmenování selže. Každá operace může mít různé původní příčiny. Například služba odstranění může být zablokovaná. Služba může být zablokovaná, protože dochází k neustálému pádu hostitele aplikace na uzlu kvůli uživatelské chybě v kódu služby.
Následující příklad ukazuje operaci vytvoření služby. Operace trvala déle, než je nakonfigurovaná doba trvání. "AO" opakuje pokusy a odesílá práci do "NE". Funkce NE dokončila poslední operaci s časovým limitem. V tomto případě je stejná replika primární pro role AO i NO.
PartitionId : 00000000-0000-0000-0000-000000001000
ReplicaId : 131064359253133577
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.NamingService', Property='Duration_AOCreateService.fabric:/MyApp/MyService', HealthState='Warning', ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RA
Property : State
HealthState : Ok
SequenceNumber : 131064359308715535
SentAt : 4/29/2016 8:38:50 PM
ReceivedAt : 4/29/2016 8:39:08 PM
TTL : Infinite
Description : Replica has been created.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 4/29/2016 8:39:08 PM, LastWarning = 1/1/0001 12:00:00 AM
SourceId : System.NamingService
Property : Duration_AOCreateService.fabric:/MyApp/MyService
HealthState : Warning
SequenceNumber : 131064359526778775
SentAt : 4/29/2016 8:39:12 PM
ReceivedAt : 4/29/2016 8:39:38 PM
TTL : 00:05:00
Description : The AOCreateService started at 2016-04-29 20:39:08.677 is taking longer than 30.000.
RemoveWhenExpired : True
IsExpired : False
Transitions : Error->Warning = 4/29/2016 8:39:38 PM, LastOk = 1/1/0001 12:00:00 AM
SourceId : System.NamingService
Property : Duration_NOCreateService.fabric:/MyApp/MyService
HealthState : Warning
SequenceNumber : 131064360657607311
SentAt : 4/29/2016 8:41:05 PM
ReceivedAt : 4/29/2016 8:41:08 PM
TTL : 00:00:15
Description : The NOCreateService started at 2016-04-29 20:39:08.689 completed with FABRIC_E_TIMEOUT in more than 30.000.
RemoveWhenExpired : True
IsExpired : False
Transitions : Error->Warning = 4/29/2016 8:39:38 PM, LastOk = 1/1/0001 12:00:00 AM
Podané zprávy o zdraví systému DeployedApplication
System.Hosting je správce nasazených entit.
Aktivace
System.Hosting hlásí status OK, když byla aplikace úspěšně aktivována na uzlu. V opačném případě hlásí chybu.
- SourceId: System.Hosting
- Vlastnost: Aktivace, včetně verze nasazení.
- Další kroky: Pokud aplikace není v pořádku, prozkoumejte, proč aktivace selhala.
Následující příklad ukazuje úspěšnou aktivaci:
PS C:\> Get-ServiceFabricDeployedApplicationHealth -NodeName _Node_1 -ApplicationName fabric:/WordCount -ExcludeHealthStatistics
ApplicationName : fabric:/WordCount
NodeName : _Node_1
AggregatedHealthState : Ok
DeployedServicePackageHealthStates :
ServiceManifestName : WordCountServicePkg
ServicePackageActivationId :
NodeName : _Node_1
AggregatedHealthState : Ok
HealthEvents :
SourceId : System.Hosting
Property : Activation
HealthState : Ok
SequenceNumber : 131445249083836329
SentAt : 7/14/2017 4:55:08 PM
ReceivedAt : 7/14/2017 4:55:14 PM
TTL : Infinite
Description : The application was activated successfully.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
Stáhnout
System.Hosting hlásí chybu, pokud stahování balíčku aplikace selže.
- SourceId: System.Hosting
- Vlastnost: Stáhnout, včetně verze nasazení.
- Další kroky: Zjistěte, proč stahování uzlu selhalo.
Sestavy stavu systému DeployedServicePackage
System.Hosting je správce nasazených jednotek.
Aktivace balíčku služby
System.Hosting hlásí jako OK, pokud je aktivace balíčku služby v uzlu úspěšná. V opačném případě hlásí chybu.
- SourceId: System.Hosting
- Vlastnost: Aktivace.
- Další kroky: Zjistěte, proč aktivace selhala.
Aktivace balíčku kódu
System.Hosting hlásí stav OK pro každý balíček kódu, pokud byla aktivace úspěšná. Pokud se aktivace nezdaří, nahlásí upozornění podle konfigurace. Pokud se CodePackage nepodaří aktivovat nebo se ukončí s chybou větší, než je nakonfigurovaný práh CodePackageHealthErrorThreshold, hostování hlásí chybu. Pokud balíček služby obsahuje více balíčků kódu, vygeneruje se pro každý balíček aktivační sestava.
- SourceId: System.Hosting
- Vlastnost: Používá předponu CodePackageActivation a obsahuje název balíčku kódu a vstupní bod jako CodePackageActivation:CodePackageName:SetupEntryPoint/EntryPoint. Například CodePackageActivation:Code:SetupEntryPoint.
Registrace typu služby
System.Hosting uvádí stav jako OK, pokud byl typ služby úspěšně zaregistrován. Hlásí chybu, pokud se registrace nekonfigurovala včas, jak je nakonfigurováno pomocí ServiceTypeRegistrationTimeout. Pokud je modul runtime uzavřený, typ služby se z uzlu odregistruje a hostování oznámí upozornění.
- SourceId: System.Hosting
- Vlastnost: Používá předponu ServiceTypeRegistration a obsahuje název typu služby. Například ServiceTypeRegistration:FileStoreServiceType.
Následující příklad ukazuje balíček nasazené služby, který je v pořádku:
PS C:\> Get-ServiceFabricDeployedServicePackageHealth -NodeName _Node_1 -ApplicationName fabric:/WordCount -ServiceManifestName WordCountServicePkg
ApplicationName : fabric:/WordCount
ServiceManifestName : WordCountServicePkg
ServicePackageActivationId :
NodeName : _Node_1
AggregatedHealthState : Ok
HealthEvents :
SourceId : System.Hosting
Property : Activation
HealthState : Ok
SequenceNumber : 131445249084026346
SentAt : 7/14/2017 4:55:08 PM
ReceivedAt : 7/14/2017 4:55:14 PM
TTL : Infinite
Description : The ServicePackage was activated successfully.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
SourceId : System.Hosting
Property : CodePackageActivation:Code:EntryPoint
HealthState : Ok
SequenceNumber : 131445249084306362
SentAt : 7/14/2017 4:55:08 PM
ReceivedAt : 7/14/2017 4:55:14 PM
TTL : Infinite
Description : The CodePackage was activated successfully.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
SourceId : System.Hosting
Property : ServiceTypeRegistration:WordCountServiceType
HealthState : Ok
SequenceNumber : 131445249088096842
SentAt : 7/14/2017 4:55:08 PM
ReceivedAt : 7/14/2017 4:55:14 PM
TTL : Infinite
Description : The ServiceType was registered successfully.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
Stáhnout
System.Hosting hlásí chybu, pokud stahování balíčku služby selže.
- SourceId: System.Hosting
- Vlastnost: Stáhnout, včetně verze uvedení.
- Další kroky: Zjistěte, proč stahování uzlu selhalo.
Ověření upgradu
System.Hosting hlásí chybu, pokud ověření během upgradu selže nebo pokud upgrade selže na uzlu.
- SourceId: System.Hosting
- Vlastnost: Používá předponu FabricUpgradeValidation a obsahuje verzi upgradu.
- Popis: Odkazuje na zjištěnou chybu.
Nedefinovaná kapacita uzlu pro metriky zásad správného řízení prostředků
System.Hosting hlásí upozornění, pokud kapacity uzlů nejsou definovány v manifestu clusteru a konfigurace automatického zjišťování je vypnutá. Service Fabric vyvolá upozornění na stav pokaždé, když se balíček služby, který používá zásady správného řízení prostředků, zaregistruje v zadaném uzlu.
- SourceId: System.Hosting
- Vlastnost: ResourceGovernance.
- Další kroky: Upřednostňovaným způsobem, jak tento problém překonat, je změnit manifest clusteru tak, aby umožňoval automatické zjišťování dostupných prostředků. Dalším způsobem je aktualizace manifestu clusteru pomocí správně zadaných kapacit uzlů pro tyto metriky.