Dela via


Felsök med hjälp av systemhälsorapporter

Azure Service Fabric-komponenter tillhandahåller systemhälsorapporter för alla entiteter i klustret direkt. Hälsoarkivet skapar och tar bort entiteter baserat på systemrapporterna. Den organiserar dem också i en hierarki som samlar in entitetsinteraktioner.

Kommentar

Mer information om hälsorelaterade begrepp finns i Service Fabric Health-modellen.

Systemhälsorapporter ger insyn i kluster- och programfunktioner samt flaggproblem. För program och tjänster kontrollerar systemhälsorapporter att entiteter implementeras och fungerar korrekt ur Service Fabric-perspektivet. Rapporterna tillhandahåller ingen hälsoövervakning av tjänstens affärslogik eller identifiering av processer som inte svarar. Användartjänster kan utöka hälsodata med information som är specifik för deras logik.

Kommentar

Hälsorapporter som skickas av användares vakthundar visas endast när systemkomponenterna har skapat en entitet. När en entitet tas bort tar hälsoarkivet automatiskt bort alla hälsorapporter som är associerade med den. Detsamma gäller när en ny instans av entiteten skapas. Ett exempel är när en ny tillståndskänslig bevarad tjänstreplikinstans skapas. Alla rapporter som är associerade med den gamla instansen tas bort och rensas från arkivet.

Systemkomponentrapporterna identifieras av källan, som börjar med prefixet "System.". Vakthundar kan inte använda samma prefix för sina källor, eftersom rapporter med ogiltiga parametrar avvisas.

Låt oss titta på vissa systemrapporter för att förstå vad som utlöser dem och lära oss hur du korrigerar de potentiella problem som de representerar.

Kommentar

Service Fabric fortsätter att lägga till rapporter om intressanta villkor som förbättrar insynen i vad som händer i klustret och programmen. Befintliga rapporter kan förbättras med mer information för att felsöka problemet snabbare.

Hälsorapporter för klustersystem

Klusterhälsoentiteten skapas automatiskt i hälsoarkivet. Om allt fungerar korrekt har det ingen systemrapport.

Grannskapsförlust

System.Federation rapporterar ett fel när en stadsdelsförlust identifieras. Rapporten kommer från enskilda noder och nod-ID:t ingår i egenskapsnamnet. Om ett område går förlorat i hela Service Fabric-ringen kan du vanligtvis förvänta dig två händelser som representerar båda sidor av gaprapporten. Om fler stadsdelar går förlorade finns det fler händelser.

Rapporten anger tidsgränsen för globalt lån som time-to-live (TTL). Rapporten är förnärmad varje halva av TTL-varaktigheten så länge villkoret förblir aktivt. Händelsen tas bort automatiskt när den upphör att gälla. Beteendet remove-when-expired ser till att rapporten rensas från hälsoarkivet på rätt sätt, även om rapportnoden är nere.

  • SourceId: System.Federation
  • Egenskap: Börjar med Grannskap och innehåller nodinformation.
  • Nästa steg: Undersöka varför området går förlorat. Kontrollera till exempel kommunikationen mellan klusternoder.

Återskapa

Tjänsten Failover Manager (FM) hanterar information om klusternoderna. När FM förlorar sina data och går till dataförlust kan det inte garantera att den har den mest uppdaterade informationen om klusternoderna. I det här fallet genomgår systemet en ombyggnad och System.FM samlar in data från alla noder i klustret för att återskapa dess tillstånd. Ibland kan återskapande fastna eller stoppas på grund av problem med nätverk eller noder. Samma sak kan hända med FMM-tjänsten (Failover Manager Master). FMM är en tillståndslös systemtjänst som håller reda på var alla virtuella datorer finns i klustret. FMM:s primära är alltid noden med det ID som är närmast 0. Om noden tas bort utlöses en återskapande. När något av de tidigare villkoren inträffar flaggar System.FM eller System.FMM det via en felrapport. Återskapa kan ha fastnat i en av två faser:

  • Väntar på sändning: FM/FMM väntar på sändningsmeddelandesvaret från de andra noderna.

    • Nästa steg: Undersöka om det finns ett problem med nätverksanslutningen mellan noder.
  • Väntar på noder: FM/FMM har redan fått ett sändningssvar från de andra noderna och väntar på ett svar från specifika noder. Hälsorapporten visar de noder som FM/FMM väntar på ett svar för.

    • Nästa steg: Undersöka nätverksanslutningen mellan FM/FMM och de angivna noderna. Undersök varje angiven nod för andra möjliga problem.
  • SourceID: System.FM eller System.FMM

  • Egenskap: Återskapa.

  • Nästa steg: Undersök nätverksanslutningen mellan noderna, samt tillståndet för alla specifika noder som visas i beskrivningen av hälsorapporten.

Seed Node Status

System.FM rapporterar en varning på klusternivå om vissa startnoder inte är felfria. Startnoder är de noder som upprätthåller tillgängligheten för det underliggande klustret. Dessa noder hjälper till att säkerställa att klustret förblir uppe genom att upprätta lån med andra noder och fungera som tiebreakers under vissa typer av nätverksfel. Om en majoritet av startnoderna är nere i klustret och de inte tas tillbaka stängs klustret automatiskt av.

En startnod är inte felfri om nodstatusen är Ned, Borttagen eller Okänd. Varningsrapporten för status för startnoder visar en lista över alla noder med felfritt startvärde med detaljerad information.

  • SourceID: System.FM
  • Egenskap: SeedNodeStatus
  • Nästa steg: Om den här varningen visas i klustret följer du anvisningarna nedan för att åtgärda det: För kluster som kör Service Fabric version 6.5 eller senare: För Service Fabric-kluster i Azure försöker Service Fabric automatiskt ändra den till en nod som inte är seedad. Kontrollera att antalet noder som inte är seed-noder i den primära nodtypen är större eller lika med antalet noder med nedfryst startvärde. Om det behövs lägger du till fler noder i den primära nodtypen för att uppnå detta. Beroende på klusterstatus kan det ta lite tid att åtgärda problemet. När detta är klart rensas varningsrapporten automatiskt.

För fristående Service Fabric-kluster måste alla startnoder bli felfria för att kunna rensa varningsrapporten. Beroende på varför startnoder inte är felfria måste olika åtgärder vidtas: om startnoden är nere måste användarna ta upp den startnoden. Om startnoden är Borttagen eller Okänd måste den här startnoden tas bort från klustret. Varningsrapporten rensas automatiskt när alla startnoder blir felfria.

För kluster som kör Service Fabric-version som är äldre än 6.5: I det här fallet måste varningsrapporten rensas manuellt. Användarna bör se till att alla startnoder blir felfria innan de rensar rapporten: om startnoden är nere måste användarna ta upp den startnoden. Om startnoden är Borttagen eller Okänd måste den startnoden tas bort från klustret. När alla startnoder har blivit felfria använder du följande kommando från PowerShell för att rensa varningsrapporten:

PS C:\> Send-ServiceFabricClusterHealthReport -SourceId "System.FM" -HealthProperty "SeedNodeStatus" -HealthState OK

Hälsorapporter för nodsystem

System.FM, som representerar redundanshanterarens tjänst, är den utfärdare som hanterar information om klusternoder. Varje nod bör ha en rapport från System.FM som visar dess tillstånd. Nodentiteterna tas bort när nodtillståndet tas bort. Mer information finns i RemoveNodeStateAsync.

Nod upp/ned

System.FM rapporter som OK när noden ansluter ringen (den är igång). Det rapporterar ett fel när noden lämnar ringen (den är nere, antingen för uppgradering eller bara för att den har misslyckats). Hälsohierarkin som skapats av hälsoarkivet fungerar på distribuerade entiteter i samband med System.FM nodrapporter. Den betraktar noden som en virtuell överordnad för alla distribuerade entiteter. De distribuerade entiteterna på noden exponeras via frågor om noden rapporteras som upp av System.FM, med samma instans som den instans som är associerad med entiteterna. När System.FM rapporterar att noden har inaktiverats eller startats om rensar hälsoarkivet automatiskt de distribuerade entiteter som bara kan finnas på den nedåtgående noden eller på den tidigare instansen av noden.

  • SourceId: System.FM
  • Egenskap: Tillstånd.
  • Nästa steg: Om noden är nere för en uppgradering bör den komma tillbaka när den har uppgraderats. I det här fallet bör hälsotillståndet växla tillbaka till OK. Om noden inte kommer tillbaka eller om den misslyckas behöver problemet undersökas mer.

I följande exempel visas den System.FM händelsen med hälsotillståndet OK för noden uppåt:

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

Certifikatets giltighetstid

System.FabricNode rapporterar en varning när certifikat som används av noden snart upphör att gälla. Det finns tre certifikat per nod: Certificate_cluster, Certificate_server och Certificate_default_client. När förfallodatumet är minst två veckor bort är rapportens hälsotillstånd OK. När förfallodatumet är inom två veckor är rapporttypen en varning. TTL för dessa händelser är oändligt och tas bort när en nod lämnar klustret.

  • SourceId: System.FabricNode
  • Egenskap: Börjar med certifikat och innehåller mer information om certifikattypen.
  • Nästa steg: Uppdatera certifikaten om de snart upphör att gälla.

Belastningskapacitetsöverträdelse

Service Fabric Load Balancer rapporterar en varning när den identifierar en överträdelse av nodkapaciteten.

  • SourceId: System.PLB
  • Egenskap: Börjar med Kapacitet.
  • Nästa steg: Kontrollera de angivna måtten och visa den aktuella kapaciteten på noden.

Matchningsfel för nodkapacitet för resursstyrningsmått

System.Hosting rapporterar en varning om definierade nodkapaciteter i klustermanifestet är större än de verkliga nodkapaciteterna för resursstyrningsmått (minne och CPU-kärnor). En hälsorapport visas när det första tjänstpaketet som använder resursstyrning registreras på en angiven nod.

  • SourceId: System.Hosting
  • Egenskap: ResourceGovernance.
  • Nästa steg: Det här problemet kan vara ett problem eftersom styrning av tjänstpaket inte tillämpas som förväntat och resursstyrning inte fungerar korrekt. Uppdatera klustermanifestet med rätt nodkapaciteter för dessa mått eller ange dem inte och låt Service Fabric automatiskt identifiera tillgängliga resurser.

Hälsorapporter för programsystem

System.CM, som representerar Cluster Manager-tjänsten, är den utfärdare som hanterar information om ett program.

Tillstånd

System.CM rapporter som OK när programmet har skapats eller uppdaterats. Den informerar hälsoarkivet när programmet tas bort så att det kan tas bort från arkivet.

  • SourceId: System.CM
  • Egenskap: Tillstånd.
  • Nästa steg: Om programmet har skapats eller uppdaterats bör det innehålla klusterhanterarens hälsorapport. Annars kontrollerar du programmets tillstånd genom att utfärda en fråga. Använd till exempel PowerShell-cmdleten Get-ServiceFabricApplication -ApplicationName applicationName.

I följande exempel visas tillståndshändelsen i programmet 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

Hälsorapporter för tjänstsystem

System.FM, som representerar redundanshanterarens tjänst, är den utfärdare som hanterar information om tjänster.

Tillstånd

System.FM rapporter som OK när tjänsten har skapats. Entiteten tas bort från hälsoarkivet när tjänsten tas bort.

  • SourceId: System.FM
  • Egenskap: Tillstånd.

I följande exempel visas tillståndshändelsen i 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

Fel vid tjänstkorrelation

System.PLB rapporterar ett fel när det upptäcker att uppdatering av en tjänst är korrelerad med en annan tjänst som skapar en tillhörighetskedja. Rapporten rensas när en lyckad uppdatering sker.

  • SourceId: System.PLB
  • Egenskap: ServiceDescription.
  • Nästa steg: Kontrollera de korrelerade tjänstbeskrivningarna.

Hälsorapporter för partitionssystem

System.FM, som representerar tjänsten Failover Manager, är den utfärdare som hanterar information om tjänstpartitioner.

Tillstånd

System.FM rapporter som OK när partitionen har skapats och är felfri. Entiteten tas bort från hälsoarkivet när partitionen tas bort.

Om partitionen är under det minsta antalet repliker rapporterar den ett fel. Om partitionen inte är under det minsta antalet repliker, men den är under antalet målrepliker, rapporterar den en varning. Om partitionen är kvorumförlust rapporterar System.FM ett fel.

Andra viktiga händelser är en varning när omkonfigurationen tar längre tid än förväntat och när bygget tar längre tid än förväntat. De förväntade tiderna för bygget och omkonfigurationen kan konfigureras baserat på tjänstscenarierna. Om en tjänst till exempel har ett terabyte tillstånd, till exempel Azure SQL Database, tar bygget längre tid än för en tjänst med ett litet tillstånd.

  • SourceId: System.FM
  • Egenskap: Tillstånd.
  • Nästa steg: Om hälsotillståndet inte är OK är det möjligt att vissa repliker inte har skapats, öppnats eller befordrats till primär eller sekundär korrekt.

Om beskrivningen beskriver kvorumförlust hjälper det att återställa partitionen genom att undersöka den detaljerade hälsorapporten för repliker som är nere och säkerhetskopiera dem igen.

Om beskrivningen beskriver en partition som fastnat i omkonfigurationen ger hälsorapporten på den primära repliken ytterligare information.

För andra System.FM hälsorapporter skulle det finnas rapporter om replikerna eller partitionen eller tjänsten från andra systemkomponenter.

I följande exempel beskrivs några av dessa rapporter.

I följande exempel visas en felfri partition:

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

I följande exempel visas hälsotillståndet för en partition som ligger under målreplikantalet. Nästa steg är att hämta partitionsbeskrivningen, som visar hur den är konfigurerad: MinReplicaSetSize är tre och TargetReplicaSetSize är sju. Hämta sedan antalet noder i klustret, vilket i det här fallet är fem. I det här fallet går det därför inte att placera två repliker eftersom målantalet repliker är högre än antalet tillgängliga noder.

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

I följande exempel visas hälsotillståndet för en partition som har fastnat i omkonfigurationen på grund av att användaren inte respekterar annulleringstoken i RunAsync-metoden . Genom att undersöka hälsorapporten för alla repliker som markerats som primära (P) kan du öka detaljnivån ytterligare i problemet.

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

Den här hälsorapporten visar tillståndet för replikerna i partitionen som genomgår omkonfiguration:

  P/S Ready Node1 131482789658160654
  S/P Ready Node2 131482789688598467
  S/S Ready Node3 131482789688598468

För varje replik innehåller hälsorapporten:

  • Tidigare konfigurationsroll
  • Aktuell konfigurationsroll
  • Repliktillstånd
  • Nod som repliken körs på
  • Replik-ID

I ett fall som exemplet krävs ytterligare undersökning. Undersök hälsotillståndet för varje enskild replik som börjar med replikerna markerade som Primary och Secondary (131482789658160654 och 131482789688598467) i föregående exempel.

Överträdelse av replikbegränsningar

System.PLB rapporterar en varning om den identifierar en replikbegränsningsöverträdelse och inte kan placera alla partitionsrepliker. Rapportinformationen visar vilka begränsningar och egenskaper som förhindrar replikplaceringen.

  • SourceId: System.PLB
  • Egenskap: Börjar med ReplicaConstraintViolation.

Hälsorapporter för replikeringssystem

System.RA, som representerar komponenten för omkonfigurationsagenten, är utfärdaren för repliktillståndet.

Tillstånd

System.RA rapporterar OK när repliken har skapats.

  • SourceId: System.RA
  • Egenskap: Tillstånd.

I följande exempel visas en felfri replik:

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

ReplicaOpenStatus, ReplicaCloseStatus, ReplicaChangeRoleStatus

Den här egenskapen används för att indikera varningar eller fel när du försöker öppna en replik, stänga en replik eller överföra en replik från en roll till en annan. Mer information finns i Repliklivscykeln. Felen kan vara undantag som utlöses från API-anropen eller krascherna i tjänstvärdprocessen under den här tiden. För fel på grund av API-anrop från C#-kod lägger Service Fabric till undantags- och stackspårningen i hälsorapporten.

Dessa hälsovarningar genereras efter att åtgärden har provats lokalt ett visst antal gånger (beroende på princip). Service Fabric försöker utföra åtgärden på nytt upp till ett maximalt tröskelvärde. När det maximala tröskelvärdet har nåtts kan det försöka åtgärda situationen. Det här försöket kan leda till att varningarna rensas när den ger upp åtgärden på den här noden. Om en replik till exempel inte kan öppnas på en nod genererar Service Fabric en hälsovarning. Om repliken fortsätter att misslyckas med att öppnas agerar Service Fabric för självreparation. Den här åtgärden kan innebära att du försöker utföra samma åtgärd på en annan nod. Det här försöket gör att varningen för den här repliken rensas.

  • SourceId: System.RA
  • Egenskap: ReplicaOpenStatus, ReplicaCloseStatus och ReplicaChangeRoleStatus.
  • Nästa steg: Undersök tjänstkoden eller kraschdumpar för att identifiera varför åtgärden misslyckas.

I följande exempel visas hälsotillståndet för en replik som genererar TargetInvocationException från den öppna metoden. Beskrivningen innehåller felpunkten IStatefulServiceReplica.Open, undantagstypen TargetInvocationException och stackspårningen.

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

I följande exempel visas en replik som ständigt kraschar vid stängning:

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

Omkonfiguration

Den här egenskapen används för att ange när en replik som utför en omkonfiguration identifierar att omkonfigurationen har stoppats eller fastnat. Den här hälsorapporten kan finnas på repliken vars aktuella roll är primär, förutom vid en primär omkonfiguration av växling, där den kan finnas på repliken som degraderas från primär till aktiv sekundär.

Omkonfigurationen kan fastna av någon av följande orsaker:

  • En åtgärd på den lokala repliken, samma replik som den som utför omkonfigurationen, slutförs inte. I det här fallet kan det ge ytterligare information att undersöka hälsorapporterna på den här repliken från andra komponenter, System.RAP eller System.RE.

  • En åtgärd slutförs inte på en fjärrreplik. Repliker som åtgärder väntar på visas i hälsorapporten. Ytterligare undersökning bör göras på hälsorapporter för dessa fjärrrepliker. Det kan också finnas kommunikationsproblem mellan den här noden och fjärrnoden.

I sällsynta fall kan omkonfigurationen fastna på grund av kommunikation eller andra problem mellan den här noden och redundanshanteraren.

  • SourceId: System.RA
  • Egenskap: Omkonfiguration.
  • Nästa steg: Undersöka lokala repliker eller fjärrrepliker beroende på beskrivningen av hälsorapporten.

I följande exempel visas en hälsorapport där en omkonfiguration har fastnat på den lokala repliken. I det här exemplet beror det på att en tjänst inte respekterar annulleringstoken.

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

I följande exempel visas en hälsorapport där en omkonfiguration har fastnat i väntan på ett svar från två fjärrrepliker. I det här exemplet finns det tre repliker i partitionen, inklusive den aktuella primära.

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

Den här hälsorapporten visar att omkonfigurationen har fastnat i väntan på ett svar från två repliker:

    P/I Down 40 131483956244554282
    S/S Down 20 131483956274972403

För varje replik ges följande information:

  • Tidigare konfigurationsroll
  • Aktuell konfigurationsroll
  • Repliktillstånd
  • Nod-ID
  • Replik-ID

Så här avblockera du omkonfigurationen:

  • Nedreplikerna bör tas upp.
  • De inbyggda replikerna bör slutföra bygget och övergången till klar.

Långsamt API-anrop för tjänsten

System.RAP och System.Replicator rapporterar en varning om ett anrop till användartjänstkoden tar längre tid än den konfigurerade tiden. Varningen rensas när anropet är klart.

  • SourceId: System.RAP eller System.Replicator
  • Egenskap: Namnet på det långsamma API:et. Beskrivningen innehåller mer information om den tid som API:et har väntat.
  • Nästa steg: Undersöka varför anropet tar längre tid än förväntat.

I följande exempel visas hälsohändelsen från System.RAP för en tillförlitlig tjänst som inte respekterar annulleringstoken i 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

Egenskapen och texten anger vilket API som fastnade. Nästa steg att vidta för olika fastnade API:er är olika. Alla API:er på IStatefulServiceReplica eller IStatelessServiceInstance är vanligtvis en bugg i tjänstkoden. I följande avsnitt beskrivs hur dessa översätts till Reliable Services-modellen:

  • IStatefulServiceReplica.Open: Den här varningen anger att ett anrop till CreateServiceInstanceListeners, ICommunicationListener.OpenAsynceller om det åsidosätts, OnOpenAsync har fastnat.

  • IStatefulServiceReplica.Close och IStatefulServiceReplica.Abort: Det vanligaste fallet är en tjänst som inte respekterar den annulleringstoken som skickas till RunAsync. Det kan också vara så att ICommunicationListener.CloseAsync, eller om det åsidosätts, OnCloseAsync har fastnat.

  • IStatefulServiceReplica.ChangeRole(S) och IStatefulServiceReplica.ChangeRole(N): Det vanligaste fallet är en tjänst som inte respekterar den annulleringstoken som skickas till RunAsync. I det här scenariot är den bästa lösningen att starta om repliken.

  • IStatefulServiceReplica.ChangeRole(P): Det vanligaste fallet är att tjänsten inte har returnerat en uppgift från RunAsync.

Andra API-anrop som kan fastna finns i IReplicator-gränssnittet . Till exempel:

  • IReplicator.CatchupReplicaSet: Den här varningen anger en av två saker. Det finns inte tillräckligt med repliker. Om du vill se om så är fallet kan du titta på replikstatusen för replikerna i partitionen eller System.FM hälsorapporten för en fast omkonfiguration. Eller så bekräftar inte replikerna åtgärder. PowerShell-cmdleten Get-ServiceFabricDeployedReplicaDetail kan användas för att fastställa förloppet för alla repliker. Problemet beror på repliker vars LastAppliedReplicationSequenceNumber värde ligger bakom det primära värdet CommittedSequenceNumber .

  • IReplicator.BuildReplica(<Remote ReplicaId>): Den här varningen anger ett problem i byggprocessen. Mer information finns i Repliklivscykeln. Det kan bero på en felkonfiguration av replikatoradressen. Mer information finns i Konfigurera tillståndskänsliga Reliable Services och Ange resurser i ett tjänstmanifest. Det kan också vara ett problem på fjärrnoden.

Replikeringssystemets hälsorapporter

Replikeringskön är full:System.Replicator rapporterar en varning när replikeringskön är full. I den primära replikeringskön blir replikeringskön vanligtvis full eftersom en eller flera sekundära repliker är långsamma med att bekräfta åtgärder. På den sekundära inträffar detta vanligtvis när tjänsten är långsam för att tillämpa åtgärderna. Varningen rensas när kön inte längre är full.

  • SourceId: System.Replicator
  • Egenskap: PrimaryReplicationQueueStatus eller SecondaryReplicationQueueStatus, beroende på replikrollen.
  • Nästa steg: Om rapporten är på den primära kontrollerar du anslutningen mellan noderna i klustret. Om alla anslutningar är felfria kan det finnas minst en långsam sekundär med hög diskfördröjning för att tillämpa åtgärder. Om rapporten är på den sekundära kontrollerar du diskanvändningen och prestandan på noden först. Kontrollera sedan den utgående anslutningen från den långsamma noden till den primära.

RemoteReplicatorConnectionStatus:System.Replicator på den primära repliken rapporterar en varning när anslutningen till en sekundär replikator (fjärransluten) inte är felfri. Fjärrreplikatorns adress visas i rapportens meddelande, vilket gör det enklare att identifiera om fel konfiguration skickades eller om det finns nätverksproblem mellan replikatorerna.

  • SourceId: System.Replicator
  • Egenskap: RemoteReplicatorConnectionStatus.
  • Nästa steg: Kontrollera felmeddelandet och kontrollera att fjärrreplikeringsadressen är korrekt konfigurerad. Om fjärrreplikatorn till exempel öppnas med lyssnaradressen "localhost" kan den inte nås utifrån. Om adressen ser korrekt ut kontrollerar du anslutningen mellan den primära noden och fjärradressen för att hitta eventuella nätverksproblem.

Replikeringskön är full

System.Replicator rapporterar en varning när replikeringskön är full. I den primära replikeringskön blir replikeringskön vanligtvis full eftersom en eller flera sekundära repliker är långsamma med att bekräfta åtgärder. På den sekundära inträffar detta vanligtvis när tjänsten är långsam för att tillämpa åtgärderna. Varningen rensas när kön inte längre är full.

  • SourceId: System.Replicator
  • Egenskap: PrimaryReplicationQueueStatus eller SecondaryReplicationQueueStatus, beroende på replikrollen.

Långsamma namngivningsåtgärder

System.NamingService rapporterar hälsotillståndet på den primära repliken när en namngivningsåtgärd tar längre tid än vad som är acceptabelt. Exempel på namngivningsåtgärder är CreateServiceAsync eller DeleteServiceAsync. Fler metoder finns under FabricClient. De kan till exempel hittas under tjänsthanteringsmetoder eller egenskapshanteringsmetoder.

Kommentar

Namngivningstjänsten löser tjänstnamn till en plats i klustret. Användare kan använda den för att hantera tjänstnamn och egenskaper. Det är en partitionerad tjänst i Service Fabric. En av partitionerna representerar utfärdarens ägare, som innehåller metadata om alla Service Fabric-namn och tjänster. Service Fabric-namnen mappas till olika partitioner, så kallade Namnägarpartitioner , så tjänsten är utökningsbar. Läs mer om namngivningstjänsten.

När en namngivningsåtgärd tar längre tid än förväntat flaggas åtgärden med en varningsrapport på den primära repliken av den namngivningstjänstpartition som hanterar åtgärden. Om åtgärden har slutförts rensas varningen. Om åtgärden slutförs med ett fel innehåller hälsorapporten information om felet.

  • SourceId: System.NamingService
  • Egenskap: Börjar med prefixet "Duration_" och identifierar den långsamma åtgärden och namnet på Service Fabric som åtgärden tillämpas på. Om det till exempel tar för lång tid att skapa en tjänst i namninfrastrukturen :/MyApp/MyService är egenskapen Duration_AOCreateService.fabric:/MyApp/MyService. "AO" pekar på rollen för namngivningspartitionen för det här namnet och åtgärden.
  • Nästa steg: Kontrollera varför namngivningsåtgärden misslyckas. Varje åtgärd kan ha olika rotorsaker. Borttagningstjänsten kan till exempel ha fastnat. Tjänsten kan ha fastnat eftersom programvärden kraschar på en nod på grund av ett användarfel i tjänstkoden.

I följande exempel visas en åtgärd för att skapa en tjänst. Åtgärden tog längre tid än den konfigurerade varaktigheten. "AO" försöker igen och skickar arbetet till "NO". "NEJ" slutförde den senaste åtgärden med TIMEOUT. I det här fallet är samma replik primär för både rollerna "AO" och "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

DistribueradeApplication-systemhälsorapporter

System.Hosting är utfärdaren för distribuerade entiteter.

Aktivering

System.Hosting rapporterar som OK när ett program har aktiverats på noden. Annars rapporterar den ett fel.

  • SourceId: System.Hosting
  • Egenskap: Aktivering, inklusive distributionsversionen.
  • Nästa steg: Om programmet är felfritt undersöker du varför aktiveringen misslyckades.

I följande exempel visas en lyckad aktivering:

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

Ladda ned

System.Hosting rapporterar ett fel om nedladdningen av programpaketet misslyckas.

  • SourceId: System.Hosting
  • Egenskap: Ladda ned, inklusive distributionsversionen.
  • Nästa steg: Undersöka varför nedladdningen misslyckades på noden.

Hälsorapporter för DeployedServicePackage-systemet

System.Hosting är utfärdaren för distribuerade entiteter.

Aktivering av tjänstpaket

System.Hosting rapporterar som OK om tjänstpaketaktiveringen på noden lyckas. Annars rapporterar den ett fel.

  • SourceId: System.Hosting
  • Egenskap: Aktivering.
  • Nästa steg: Undersöka varför aktiveringen misslyckades.

Aktivering av kodpaket

System.Hosting rapporterar som OK för varje kodpaket om aktiveringen lyckas. Om aktiveringen misslyckas rapporterar den en varning som konfigurerad. Om CodePackage inte kan aktiveras eller avslutas med ett fel som är större än den konfigurerade CodePackageHealthErrorThreshold rapporterar värdtjänsten ett fel. Om ett tjänstpaket innehåller flera kodpaket genereras en aktiveringsrapport för var och en.

  • SourceId: System.Hosting
  • Egenskap: Använder prefixet CodePackageActivation och innehåller namnet på kodpaketet och startpunkten som CodePackageActivation:CodePackageName:SetupEntryPoint/EntryPoint. Till exempel CodePackageActivation:Code:SetupEntryPoint.

Registrering av tjänsttyp

System.Hosting rapporterar som OK om tjänsttypen har registrerats. Det rapporterar ett fel om registreringen inte gjordes i tid, enligt konfigurationen med hjälp av ServiceTypeRegistrationTimeout. Om körningen stängs avregistreras tjänsttypen från noden och värd rapporterar en varning.

  • SourceId: System.Hosting
  • Egenskap: Använder prefixet ServiceTypeRegistration och innehåller namnet på tjänsttypen. Till exempel ServiceTypeRegistration:FileStoreServiceType.

I följande exempel visas ett felfritt distribuerat tjänstpaket:

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

Ladda ned

System.Hosting rapporterar ett fel om nedladdningen av tjänstpaketet misslyckas.

  • SourceId: System.Hosting
  • Egenskap: Ladda ned, inklusive distributionsversionen.
  • Nästa steg: Undersöka varför nedladdningen misslyckades på noden.

Uppgraderingsverifiering

System.Hosting rapporterar ett fel om verifieringen under uppgraderingen misslyckas eller om uppgraderingen misslyckas på noden.

  • SourceId: System.Hosting
  • Egenskap: Använder prefixet FabricUpgradeValidation och innehåller uppgraderingsversionen.
  • Beskrivning: Pekar på felet som påträffades.

Odefinierad nodkapacitet för resursstyrningsmått

System.Hosting rapporterar en varning om nodkapaciteter inte definieras i klustermanifestet och konfigurationen för automatisk identifiering är inaktiverad. Service Fabric genererar en hälsovarning när tjänstpaketet som använder resursstyrning registreras på en angiven nod.

  • SourceId: System.Hosting
  • Egenskap: ResourceGovernance.
  • Nästa steg: Det bästa sättet att lösa det här problemet är att ändra klustermanifestet för att aktivera automatisk identifiering av tillgängliga resurser. Ett annat sätt är att uppdatera klustermanifestet med korrekt angivna nodkapaciteter för dessa mått.

Nästa steg