Delen via


Use system health reports to troubleshoot (Systeemstatusrapporten gebruiken om problemen op te lossen)

Azure Service Fabric-onderdelen bieden systeemstatusrapporten over alle entiteiten in het cluster, direct in het vak. In het statusarchief worden entiteiten gemaakt en verwijderd op basis van de systeemrapporten. Het organiseert ze ook in een hiërarchie waarmee entiteitsinteracties worden vastgelegd.

Notitie

Lees meer in het Service Fabric-statusmodel voor meer informatie over concepten met betrekking tot de status.

Systeemstatusrapporten bieden inzicht in cluster- en toepassingsfunctionaliteit en vlagproblemen. Voor toepassingen en services controleren systeemstatusrapporten of entiteiten zijn geïmplementeerd en zich correct gedragen vanuit het perspectief van Service Fabric. De rapporten bieden geen statuscontrole van de bedrijfslogica van de service of detectie van processen die niet reageren. Gebruikersservices kunnen de statusgegevens verrijken met informatie die specifiek is voor hun logica.

Notitie

Statusrapporten die door gebruikers-watchdogs worden verzonden, zijn alleen zichtbaar nadat de systeemonderdelen een entiteit hebben gemaakt. Wanneer een entiteit wordt verwijderd, worden in het statusarchief automatisch alle daaraan gekoppelde statusrapporten verwijderd. Hetzelfde geldt wanneer er een nieuw exemplaar van de entiteit wordt gemaakt. Een voorbeeld is wanneer een nieuw stateful persistent servicereplica-exemplaar wordt gemaakt. Alle rapporten die aan het oude exemplaar zijn gekoppeld, worden verwijderd en opgeschoond uit de store.

De systeemonderdeelrapporten worden geïdentificeerd door de bron, die begint met het voorvoegsel System.. Watchdogs kunnen hetzelfde voorvoegsel niet gebruiken voor hun bronnen, omdat rapporten met ongeldige parameters worden geweigerd.

Laten we eens kijken naar enkele systeemrapporten om te begrijpen wat ze activeert en om te leren hoe u de mogelijke problemen kunt oplossen die ze vertegenwoordigen.

Notitie

Service Fabric blijft rapporten toevoegen over interessevoorwaarden die de zichtbaarheid verbeteren van wat er gebeurt in het cluster en de toepassingen. Bestaande rapporten kunnen worden uitgebreid met meer informatie om het probleem sneller op te lossen.

Statusrapporten van het clustersysteem

De statusentiteit van het cluster wordt automatisch gemaakt in het statusarchief. Als alles goed werkt, heeft het geen systeemrapport.

Buurtverlies

System.Federation meldt een fout wanneer een buurtverlies wordt gedetecteerd. Het rapport is afkomstig van afzonderlijke knooppunten en de knooppunt-id wordt opgenomen in de naam van de eigenschap. Als één buurt verloren gaat in de hele Service Fabric-ring, kunt u doorgaans twee gebeurtenissen verwachten die beide zijden van het gap-rapport vertegenwoordigen. Als er meer buurten verloren gaan, zijn er meer evenementen.

In het rapport wordt de time-out van de global-lease opgegeven als time-to-live (TTL). Het rapport wordt elke helft van de TTL-duur opnieuw verzonden zolang de voorwaarde actief blijft. De gebeurtenis wordt automatisch verwijderd wanneer deze verloopt. Het gedrag remove-when-expired zorgt ervoor dat het rapport correct wordt opgeschoond uit het statusarchief, zelfs als het rapportageknooppunt niet beschikbaar is.

  • SourceId: System.Federation
  • Eigenschap: Begint met Buurt en bevat knooppuntinformatie.
  • Volgende stappen: Onderzoek waarom de buurt verloren gaat. Controleer bijvoorbeeld de communicatie tussen clusterknooppunten.

Opnieuw bouwen

De failoverbeheerservice (FM) beheert informatie over de clusterknooppunten. Wanneer FM de gegevens kwijtraakt en gegevensverlies ondergaat, kan het niet garanderen dat het de meest bijgewerkte informatie over de clusterknooppunten bevat. In dit geval doorloopt het systeem een herbouwing en System.FM verzamelt gegevens van alle knooppunten in het cluster om de status opnieuw op te bouwen. Soms kan herbouwen vanwege netwerk- of knooppuntproblemen vastlopen of vastlopen. Hetzelfde kan gebeuren met de FMM-service (Failover Manager Master). De FMM is een staatloze systeemservice die bijhoudt waar alle VM's zich in het cluster bevinden. De primaire FMM is altijd het knooppunt met de id die het dichtst bij 0 ligt. Als dat knooppunt wordt verwijderd, wordt een herbouwbewerking geactiveerd. Wanneer een van de vorige voorwaarden plaatsvindt, System.FM of System.FMM deze via een foutenrapport markeert. Herbouwen is mogelijk vastgelopen in een van de twee fasen:

  • Wachten op uitzending: FM/FMM wacht op het antwoord van het broadcastbericht van de andere knooppunten.

    • Volgende stappen: Onderzoek of er een probleem is met de netwerkverbinding tussen knooppunten.
  • Wachten op knooppunten: FM/FMM heeft al een broadcast-antwoord ontvangen van de andere knooppunten en wacht op een antwoord van specifieke knooppunten. Het statusrapport bevat de knooppunten waarvoor de FM/FMM wacht op een antwoord.

    • Volgende stappen: Onderzoek de netwerkverbinding tussen de FM/FMM en de vermelde knooppunten. Onderzoek elk vermeld knooppunt voor andere mogelijke problemen.
  • SourceID: System.FM of System.FMM

  • Eigenschap: Herbouwen.

  • Volgende stappen: Onderzoek de netwerkverbinding tussen de knooppunten, evenals de status van eventuele specifieke knooppunten die worden vermeld in de beschrijving van het statusrapport.

Status van seed-knooppunt

System.FM rapporteert een waarschuwing op clusterniveau als sommige seed-knooppunten beschadigd zijn. Seed-knooppunten zijn de knooppunten die de beschikbaarheid van het onderliggende cluster behouden. Deze knooppunten helpen ervoor te zorgen dat het cluster actief blijft door leases met andere knooppunten tot stand te brengen en als tiebreakers te fungeren tijdens bepaalde soorten netwerkfouten. Als een meerderheid van de seed-knooppunten zich in het cluster bevindt en ze niet worden teruggehaald, wordt het cluster automatisch afgesloten.

Een seed-knooppunt is beschadigd als de status van het knooppunt offline, verwijderd of onbekend is. In het waarschuwingsrapport voor de status van het seed-knooppunt worden alle beschadigde seed-knooppunten met gedetailleerde informatie weergegeven.

  • SourceID: System.FM
  • Eigenschap: SeedNodeStatus
  • Volgende stappen: Als deze waarschuwing in het cluster wordt weergegeven, volgt u de onderstaande instructies om dit probleem op te lossen: Voor een cluster met Service Fabric-versie 6.5 of hoger: Voor Service Fabric-cluster in Azure probeert Service Fabric dit automatisch te wijzigen in een niet-seed-knooppunt. Om dit te realiseren, moet u ervoor zorgen dat het aantal niet-seed-knooppunten in het primaire knooppunttype groter of gelijk is aan het aantal down seed-knooppunten. Voeg indien nodig meer knooppunten toe aan het primaire knooppunttype om dit te bereiken. Afhankelijk van de clusterstatus kan het enige tijd duren om het probleem op te lossen. Zodra dit is gebeurd, wordt het waarschuwingsrapport automatisch gewist.

Als u het waarschuwingsrapport wilt wissen, moeten alle seed-knooppunten in orde zijn om het zelfstandige Service Fabric-cluster te wissen. Afhankelijk van waarom seed-knooppunten niet in orde zijn, moeten verschillende acties worden uitgevoerd: als het seed-knooppunt offline is, moeten gebruikers dat seed-knooppunt omhoog brengen; als het seed-knooppunt is verwijderd of onbekend, moet dit seed-knooppunt worden verwijderd uit het cluster. Het waarschuwingsrapport wordt automatisch gewist wanneer alle seed-knooppunten in orde worden.

Voor cluster met Service Fabric-versie ouder dan 6.5: In dit geval moet het waarschuwingsrapport handmatig worden gewist. Gebruikers moeten ervoor zorgen dat alle seed-knooppunten in orde worden voordat ze het rapport wissen: als het seed-knooppunt offline is, moeten gebruikers dat seed-knooppunt omhoog brengen; als het seed-knooppunt is verwijderd of onbekend, moet dat seed-knooppunt worden verwijderd uit het cluster. Nadat alle seed-knooppunten in orde zijn, gebruikt u de volgende opdracht van PowerShell om het waarschuwingsrapport te wissen:

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

Statusrapporten van het knooppuntsysteem

System.FM, die de Failover Manager-service vertegenwoordigt, is de instantie die informatie over clusterknooppunten beheert. Elk knooppunt moet één rapport uit System.FM met de status ervan. De knooppuntentiteiten worden verwijderd wanneer de status van het knooppunt wordt verwijderd. Zie RemoveNodeStateAsync voor meer informatie.

Knooppunt omhoog/omlaag

System.FM rapporteert als OK wanneer het knooppunt lid wordt van de ring (deze is actief). Er wordt een fout gerapporteerd wanneer het knooppunt de ring verlaat (het is offline, voor een upgrade of omdat het is mislukt). De statushiërarchie die is gebouwd door het statusarchief fungeert op geïmplementeerde entiteiten in correlatie met System.FM knooppuntrapporten. Het knooppunt wordt beschouwd als een virtueel bovenliggend element van alle geïmplementeerde entiteiten. De geïmplementeerde entiteiten op dat knooppunt worden weergegeven via query's als het knooppunt door System.FM wordt gerapporteerd, met hetzelfde exemplaar als het exemplaar dat is gekoppeld aan de entiteiten. Wanneer System.FM rapporteert dat het knooppunt offline is of opnieuw is opgestart, worden in het statusarchief automatisch de geïmplementeerde entiteiten opgeschoond die alleen op het down-knooppunt of in het vorige exemplaar van het knooppunt kunnen bestaan.

  • SourceId: System.FM
  • Eigenschap: Staat.
  • Volgende stappen: Als het knooppunt niet beschikbaar is voor een upgrade, moet het opnieuw worden weergegeven nadat het is bijgewerkt. In dit geval moet de status teruggaan naar OK. Als het knooppunt niet terugkomt of mislukt, moet het probleem meer worden onderzocht.

In het volgende voorbeeld ziet u de gebeurtenis System.FM met de status OK voor het knooppunt:

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

Verlopen van certificaat

System.FabricNode meldt een waarschuwing wanneer certificaten die door het knooppunt worden gebruikt bijna verlopen zijn. Er zijn drie certificaten per knooppunt: Certificate_cluster, Certificate_server en Certificate_default_client. Wanneer de vervaldatum ten minste twee weken weg is, is de status van het rapport OK. Wanneer de vervaldatum binnen twee weken valt, is het rapporttype een waarschuwing. TTL van deze gebeurtenissen is oneindig en worden verwijderd wanneer een knooppunt het cluster verlaat.

  • SourceId: System.FabricNode
  • Eigenschap: Begint met Certificaat en bevat meer informatie over het certificaattype.
  • Volgende stappen: Werk de certificaten bij als ze bijna verlopen zijn.

Schending van belastingcapaciteit

De Service Fabric Load Balancer rapporteert een waarschuwing wanneer een knooppuntcapaciteitsschending wordt gedetecteerd.

  • SourceId: System.PLB
  • Eigenschap: Begint met Capaciteit.
  • Volgende stappen: Controleer de opgegeven metrische gegevens en bekijk de huidige capaciteit op het knooppunt.

Knooppuntcapaciteit komt niet overeen voor metrische gegevens over resourcebeheer

System.Hosting rapporteert een waarschuwing als gedefinieerde knooppuntcapaciteiten in het clustermanifest groter zijn dan de werkelijke knooppuntcapaciteiten voor metrische gegevens over resourcebeheer (geheugen- en CPU-kernen). Er wordt een statusrapport weergegeven wanneer het eerste servicepakket dat gebruikmaakt van resourcegovernanceregisters op een opgegeven knooppunt wordt weergegeven.

  • SourceId: System.Hosting
  • Eigenschap: ResourceGovernance.
  • Volgende stappen: Dit probleem kan een probleem zijn omdat het beheren van servicepakketten niet zoals verwacht wordt afgedwongen en resourcebeheer niet goed werkt. Werk het clustermanifest bij met de juiste knooppuntcapaciteiten voor deze metrische gegevens of geef ze niet op en laat Service Fabric automatisch beschikbare resources detecteren.

Statusrapporten van toepassingssysteem

System.CM, die de Cluster Manager-service vertegenwoordigt, is de instantie die informatie over een toepassing beheert.

Provincie

System.CM rapporten als OK wanneer de toepassing is gemaakt of bijgewerkt. Hiermee wordt het statusarchief geïnformeerd wanneer de toepassing wordt verwijderd, zodat deze uit de store kan worden verwijderd.

  • SourceId: System.CM
  • Eigenschap: Staat.
  • Volgende stappen: Als de toepassing is gemaakt of bijgewerkt, moet deze het statusrapport clusterbeheer bevatten. Anders controleert u de status van de toepassing door een query uit te geven. Gebruik bijvoorbeeld de PowerShell-cmdlet Get-ServiceFabricApplication -ApplicationName applicationName.

In het volgende voorbeeld ziet u de status gebeurtenis in de fabric:/WordCount-toepassing :

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

Servicesysteemstatusrapporten

System.FM, die de Failover Manager-service vertegenwoordigt, is de instantie die informatie over services beheert.

Provincie

System.FM rapporten als OK wanneer de service is gemaakt. De entiteit wordt verwijderd uit het statusarchief wanneer de service wordt verwijderd.

  • SourceId: System.FM
  • Eigenschap: Staat.

In het volgende voorbeeld ziet u de status gebeurtenis in de 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

Fout in servicecorrelatie

System.PLB meldt een fout wanneer wordt gedetecteerd dat het bijwerken van een service is gecorreleerd met een andere service die een affiniteitsketen maakt. Het rapport wordt gewist wanneer er een geslaagde update plaatsvindt.

  • SourceId: System.PLB
  • Eigenschap: ServiceDescription.
  • Volgende stappen: Controleer de gecorreleerde servicebeschrijvingen.

Statusrapporten van het systeem partitioneren

System.FM, die de Failover Manager-service vertegenwoordigt, is de instantie die informatie over servicepartities beheert.

Provincie

System.FM rapporten als OK wanneer de partitie is gemaakt en in orde is. De entiteit wordt verwijderd uit het statusarchief wanneer de partitie wordt verwijderd.

Als de partitie lager is dan het minimale aantal replica's, wordt er een fout gerapporteerd. Als de partitie niet onder het minimumaantal replica's ligt, maar onder het aantal doelreplica's ligt, wordt er een waarschuwing gerapporteerd. Als de partitie in quorumverlies is, System.FM een fout rapporteert.

Andere belangrijke gebeurtenissen bevatten een waarschuwing wanneer de herconfiguratie langer duurt dan verwacht en wanneer de build langer duurt dan verwacht. De verwachte tijden voor de build en herconfiguratie kunnen worden geconfigureerd op basis van de servicescenario's. Als een service bijvoorbeeld een terabyte status heeft, zoals Azure SQL Database, duurt de build langer dan voor een service met een kleine hoeveelheid status.

  • SourceId: System.FM
  • Eigenschap: Staat.
  • Volgende stappen: Als de status niet in orde is, is het mogelijk dat sommige replica's niet correct zijn gemaakt, geopend of gepromoveerd naar primair of secundair.

Als in de beschrijving het quorumverlies wordt beschreven, bekijkt u het gedetailleerde statusrapport voor replica's die niet beschikbaar zijn en brengt u ze terug naar boven om de partitie weer online te brengen.

Als in de beschrijving een partitie wordt beschreven die vastgelopen is in herconfiguratie, geeft het statusrapport op de primaire replica aanvullende informatie.

Voor andere System.FM statusrapporten zijn er rapporten over de replica's of de partitie of service van andere systeemonderdelen.

In de volgende voorbeelden worden enkele van deze rapporten beschreven.

In het volgende voorbeeld ziet u een partitie die in orde is:

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

In het volgende voorbeeld ziet u de status van een partitie die lager is dan het aantal doelreplica's. De volgende stap is het ophalen van de partitiebeschrijving, die laat zien hoe deze is geconfigureerd: MinReplicaSetSize is drie en TargetReplicaSetSize is zeven. Haal vervolgens het aantal knooppunten op in het cluster, wat in dit geval vijf is. In dit geval kunnen er dus geen twee replica's worden geplaatst, omdat het doelaantal replica's hoger is dan het aantal beschikbare knooppunten.

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

In het volgende voorbeeld ziet u de status van een partitie die is vastgelopen in herconfiguratie omdat de gebruiker het annuleringstoken niet naleeft in de Methode RunAsync . Het onderzoeken van het statusrapport van een replica die is gemarkeerd als primair (P), kan helpen om verder in te zoomen op het probleem.

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

In dit statusrapport ziet u de status van de replica's van de partitie die opnieuw worden geconfigureerd:

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

Voor elke replica bevat het statusrapport:

  • Vorige configuratierol
  • Huidige configuratierol
  • Replicastatus
  • Knooppunt waarop de replica wordt uitgevoerd
  • Replica-id

In een geval zoals in het voorbeeld is nader onderzoek nodig. Onderzoek de status van elke afzonderlijke replica die begint met de replica's die zijn gemarkeerd als Primary en Secondary (131482789658160654 en 131482789688598467) in het vorige voorbeeld.

Schending van replicabeperking

System.PLB meldt een waarschuwing als er een schending van de replicabeperking wordt gedetecteerd en niet alle partitiereplica's kunnen worden geplaatst. In de rapportdetails ziet u welke beperkingen en eigenschappen de plaatsing van replica's verhinderen.

  • SourceId: System.PLB
  • Eigenschap: Begint met ReplicaConstraintViolation.

Statusrapporten van replicasysteem

System.RA, dat het onderdeel van de herconfiguratieagent vertegenwoordigt, is de instantie voor de replicastatus.

Provincie

System.RA rapporteert OK wanneer de replica is gemaakt.

  • SourceId: System.RA
  • Eigenschap: Staat.

In het volgende voorbeeld ziet u een goede replica:

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

Deze eigenschap wordt gebruikt om waarschuwingen of fouten aan te geven bij het openen van een replica, het sluiten van een replica of het overzetten van een replica van de ene rol naar de andere. Zie De levenscyclus van replica's voor meer informatie. De fouten kunnen uitzonderingen zijn van de API-aanroepen of crashes van het servicehostproces gedurende deze tijd. Voor fouten vanwege API-aanroepen vanuit C#-code voegt Service Fabric de uitzondering en stacktracering toe aan het statusrapport.

Deze statuswaarschuwingen worden gegenereerd nadat u de actie lokaal opnieuw hebt geprobeerd (afhankelijk van het beleid). Service Fabric probeert de actie opnieuw uit te voeren tot een maximumdrempel. Nadat de maximumdrempel is bereikt, kan worden geprobeerd om de situatie te corrigeren. Deze poging kan ertoe leiden dat deze waarschuwingen worden gewist omdat deze de actie op dit knooppunt opgeeft. Als een replica bijvoorbeeld niet kan worden geopend op een knooppunt, geeft Service Fabric een statuswaarschuwing. Als de replica niet kan worden geopend, handelt Service Fabric voor zelfherstel. Deze actie kan betrekking hebben op dezelfde bewerking op een ander knooppunt. Deze poging zorgt ervoor dat de waarschuwing voor deze replica wordt gewist.

  • SourceId: System.RA
  • Eigenschap: ReplicaOpenStatus, ReplicaCloseStatus en ReplicaChangeRoleStatus.
  • Volgende stappen: Onderzoek de servicecode of crashdumps om te bepalen waarom de bewerking mislukt.

In het volgende voorbeeld ziet u de status van een replica die van de geopende methode wordt gegooid TargetInvocationException . De beschrijving bevat het foutpunt, IStatefulServiceReplica.Open, het uitzonderingstype TargetInvocationException en de stack-trace.

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

In het volgende voorbeeld ziet u een replica die voortdurend vastloopt tijdens het sluiten:

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

Herconfiguratie

Deze eigenschap wordt gebruikt om aan te geven wanneer een replica die een herconfiguratie uitvoert detecteert dat de herconfiguratie is vastgelopen of vastgelopen. Dit statusrapport bevindt zich mogelijk op de replica waarvan de huidige rol primair is, behalve in het geval van een wisselen van primaire herconfiguratie, waarbij deze zich mogelijk op de replica bevindt die wordt gedegradeerd van primaire naar actieve secundaire replica.

De herconfiguratie kan om een van de volgende redenen vastlopen:

  • Een actie op de lokale replica, dezelfde replica als de replica die de herconfiguratie uitvoert, wordt niet voltooid. In dit geval kan het onderzoeken van de statusrapporten op deze replica van andere onderdelen, System.RAP of System.RE, aanvullende informatie bieden.

  • Een actie wordt niet voltooid op een externe replica. Replica's waarvoor acties in behandeling zijn, worden weergegeven in het statusrapport. Verder onderzoek moet worden uitgevoerd op statusrapporten voor deze externe replica's. Er kunnen ook communicatieproblemen zijn tussen dit knooppunt en het externe knooppunt.

In zeldzame gevallen kan de herconfiguratie vastlopen vanwege communicatie of andere problemen tussen dit knooppunt en de Failover Manager-service.

  • SourceId: System.RA
  • Eigenschap: Herconfiguratie.
  • Volgende stappen: Lokale of externe replica's onderzoeken, afhankelijk van de beschrijving van het statusrapport.

In het volgende voorbeeld ziet u een statusrapport waarin een herconfiguratie is vastgelopen op de lokale replica. In dit voorbeeld is dit het gevolg van een service die het annuleringstoken niet nakomt.

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

In het volgende voorbeeld ziet u een statusrapport waarin een herconfiguratie vastloopt op een reactie van twee externe replica's. In dit voorbeeld bevinden zich drie replica's in de partitie, inclusief de huidige primaire replica.

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

Dit statusrapport laat zien dat de herconfiguratie vastloopt op een reactie van twee replica's:

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

Voor elke replica krijgt u de volgende informatie:

  • Vorige configuratierol
  • Huidige configuratierol
  • Replicastatus
  • Knooppunt-id
  • Replica-id

De herconfiguratie opheffen:

  • De onderste replica's moeten omhoog worden gebracht.
  • De inbuildreplica's moeten de build en overgang naar gereed voltooien.

Api-aanroep voor trage service

System.RAP en System.Replicator melden een waarschuwing als een aanroep van de gebruikersservicecode langer duurt dan de geconfigureerde tijd. De waarschuwing wordt gewist wanneer de aanroep is voltooid.

  • SourceId: System.RAP of System.Replicator
  • Eigenschap: De naam van de trage API. De beschrijving bevat meer informatie over het tijdstip waarop de API in behandeling is.
  • Volgende stappen: Onderzoeken waarom het gesprek langer duurt dan verwacht.

In het volgende voorbeeld ziet u de status van System.RAP voor een betrouwbare service die het annuleringstoken in RunAsync niet nakomt:

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

De eigenschap en tekst geven aan welke API is vastgelopen. De volgende stappen voor verschillende vastgelopen API's zijn verschillend. Elke API op de IStatefulServiceReplica of IStatelessServiceInstance is meestal een fout in de servicecode. In de volgende sectie wordt beschreven hoe deze worden omgezet in het Reliable Services-model:

  • IStatefulServiceReplica.Open: deze waarschuwing geeft aan dat een aanroep naar CreateServiceInstanceListeners, ICommunicationListener.OpenAsyncof indien overschreven, OnOpenAsync vastloopt.

  • IStatefulServiceReplica.Close en IStatefulServiceReplica.Abort: Het meest voorkomende geval is een service die het annuleringstoken niet nakomt dat is doorgegeven aan RunAsync. Het kan ook zijn dat ICommunicationListener.CloseAsync, of als deze is overschreven, OnCloseAsync vastloopt.

  • IStatefulServiceReplica.ChangeRole(S) en IStatefulServiceReplica.ChangeRole(N): Het meest voorkomende geval is een service die het annuleringstoken niet naleeft dat is doorgegeven aan RunAsync. In dit scenario is de beste oplossing om de replica opnieuw op te starten.

  • IStatefulServiceReplica.ChangeRole(P): Het meest voorkomende geval is dat de service geen taak heeft geretourneerd van RunAsync.

Andere API-aanroepen die kunnen vastlopen, bevinden zich in de IReplicator-interface . Voorbeeld:

  • IReplicator.CatchupReplicaSet: Deze waarschuwing geeft een van de twee dingen aan. Er zijn onvoldoende replica's. Als u wilt zien of dit het geval is, bekijkt u de replicastatus van de replica's in de partitie of het System.FM statusrapport voor een vastgelopen herconfiguratie. Of de replica's bevestigen geen bewerkingen. De PowerShell-cmdlet Get-ServiceFabricDeployedReplicaDetail kan worden gebruikt om de voortgang van alle replica's te bepalen. Het probleem ligt bij replica's waarvan LastAppliedReplicationSequenceNumber de waarde zich achter de primaire CommittedSequenceNumber waarde bevindt.

  • IReplicator.BuildReplica(<Remote ReplicaId>): deze waarschuwing geeft een probleem aan in het buildproces. Zie De levenscyclus van replica's voor meer informatie. Dit kan het gevolg zijn van een onjuiste configuratie van het replicatoradres. Zie Stateful Reliable Services configureren en resources opgeven in een servicemanifest voor meer informatie. Het kan ook een probleem zijn op het externe knooppunt.

Statusrapporten van replicatorsysteem

Replicatiewachtrij vol:System.Replicator meldt een waarschuwing wanneer de replicatiewachtrij vol is. De replicatiewachtrij wordt meestal vol omdat een of meer secundaire replica's traag zijn om bewerkingen te bevestigen. Dit gebeurt meestal wanneer de service traag is om de bewerkingen toe te passen. De waarschuwing wordt gewist wanneer de wachtrij niet meer vol is.

  • SourceId: System.Replicator
  • Eigenschap: PrimaryReplicationQueueStatus of SecondaryReplicationQueueStatus, afhankelijk van de replicarol.
  • Volgende stappen: Als het rapport zich op de primaire server bevindt, controleert u de verbinding tussen de knooppunten in het cluster. Als alle verbindingen in orde zijn, is er mogelijk ten minste één trage secundaire met een hoge schijflatentie om bewerkingen toe te passen. Als het rapport zich op de secundaire bevindt, controleert u eerst het schijfgebruik en de prestaties op het knooppunt. Controleer vervolgens de uitgaande verbinding van het trage knooppunt naar de primaire.

RemoteReplicatorConnectionStatus:System.Replicator op de primaire replica rapporteert een waarschuwing wanneer de verbinding met een secundaire (externe) replicator niet in orde is. Het adres van de externe replicator wordt weergegeven in het bericht van het rapport, waardoor het handiger is om te detecteren of de verkeerde configuratie is doorgegeven of als er netwerkproblemen zijn tussen de replicators.

  • SourceId: System.Replicator
  • Eigenschap: RemoteReplicatorConnectionStatus.
  • Volgende stappen: Controleer het foutbericht en controleer of het externe replicatoradres juist is geconfigureerd. Als de externe replicator bijvoorbeeld wordt geopend met het listenadres 'localhost', is deze niet bereikbaar vanaf de buitenkant. Als het adres er correct uitziet, controleert u de verbinding tussen het primaire knooppunt en het externe adres om potentiële netwerkproblemen te vinden.

Replicatiewachtrij vol

System.Replicator meldt een waarschuwing wanneer de replicatiewachtrij vol is. De replicatiewachtrij wordt meestal vol omdat een of meer secundaire replica's traag zijn om bewerkingen te bevestigen. Dit gebeurt meestal wanneer de service traag is om de bewerkingen toe te passen. De waarschuwing wordt gewist wanneer de wachtrij niet meer vol is.

  • SourceId: System.Replicator
  • Eigenschap: PrimaryReplicationQueueStatus of SecondaryReplicationQueueStatus, afhankelijk van de replicarol.

Trage naamgevingsbewerkingen

System.NamingService rapporteert de status van de primaire replica wanneer een naamgevingsbewerking langer duurt dan acceptabel is. Voorbeelden van naamgevingsbewerkingen zijn CreateServiceAsync of DeleteServiceAsync. Meer methoden vindt u onder FabricClient. Ze zijn bijvoorbeeld te vinden onder methoden voor servicebeheer of methoden voor eigenschapsbeheer.

Notitie

Met de naamgevingsservice worden servicenamen omgezet in een locatie in het cluster. Gebruikers kunnen deze gebruiken om servicenamen en eigenschappen te beheren. Het is een service die is gepartitioneerd en persistent. Een van de partities vertegenwoordigt de instantie-eigenaar, die metagegevens bevat over alle Service Fabric-namen en -services. De Service Fabric-namen worden toegewezen aan verschillende partities, genaamd Naameigenaarpartities , zodat de service uitbreidbaar is. Lees meer over de naamgevingsservice.

Wanneer een naamgevingsbewerking langer duurt dan verwacht, wordt de bewerking gemarkeerd met een waarschuwingsrapport op de primaire replica van de naamgevingsservicepartitie die de bewerking dient. Als de bewerking is voltooid, wordt de waarschuwing gewist. Als de bewerking is voltooid met een fout, bevat het statusrapport details over de fout.

  • SourceId: System.NamingService
  • Eigenschap: Begint met het voorvoegsel 'Duration_' en identificeert de trage bewerking en de Service Fabric-naam waarop de bewerking wordt toegepast. Als het maken van een service bijvoorbeeld bij name fabric:/MyApp/MyService te lang duurt, is de eigenschap Duration_AOCreateService.fabric:/MyApp/MyService. 'AO' verwijst naar de rol van de naamgevingspartitie voor deze naam en bewerking.
  • Volgende stappen: Controleer waarom de naamgevingsbewerking mislukt. Elke bewerking kan verschillende hoofdoorzaken hebben. De verwijderservice kan bijvoorbeeld vastlopen. De service is mogelijk vastgelopen omdat de toepassingshost vastloopt op een knooppunt vanwege een gebruikersfout in de servicecode.

In het volgende voorbeeld ziet u een bewerking voor het maken van een service. De bewerking duurde langer dan de geconfigureerde duur. 'AO' probeert opnieuw en verzendt werk naar 'NEE'. 'NEE' voltooide de laatste bewerking met TIMEOUT. In dit geval is dezelfde replica primair voor zowel de rollen AO als NEE.

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

Statusrapporten van het geïmplementeerdeapplication-systeem

System.Hosting is de instantie voor geïmplementeerde entiteiten.

Activering

System.Hosting rapporteert als OK wanneer een toepassing is geactiveerd op het knooppunt. Anders wordt er een fout gerapporteerd.

  • SourceId: System.Hosting
  • Eigenschap: Activering, inclusief de implementatieversie.
  • Volgende stappen: Als de toepassing niet in orde is, onderzoekt u waarom de activering is mislukt.

In het volgende voorbeeld ziet u een geslaagde activering:

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

Downloaden

System.Hosting meldt een fout als het downloaden van het toepassingspakket mislukt.

  • SourceId: System.Hosting
  • Eigenschap: Downloaden, inclusief de implementatieversie.
  • Volgende stappen: Onderzoeken waarom het downloaden op het knooppunt is mislukt.

Statusrapporten van het GeïmplementeerdServicePackage-systeem

System.Hosting is de instantie voor geïmplementeerde entiteiten.

Activering van servicepakketten

System.Hosting rapporteert als OK als de activering van het servicepakket op het knooppunt is geslaagd. Anders wordt er een fout gerapporteerd.

  • SourceId: System.Hosting
  • Eigenschap: Activering.
  • Volgende stappen: Onderzoeken waarom de activering is mislukt.

Activering van codepakket

System.Hosting rapporteert als OK voor elk codepakket als de activering is geslaagd. Als de activering mislukt, wordt er een waarschuwing gerapporteerd zoals geconfigureerd. Als CodePackage niet kan worden geactiveerd of beëindigd met een fout die groter is dan de geconfigureerde CodePackageHealthErrorThreshold, rapporteert hosting een fout. Als een servicepakket meerdere codepakketten bevat, wordt voor elk pakket een activeringsrapport gegenereerd.

  • SourceId: System.Hosting
  • Eigenschap: Gebruikt het voorvoegsel CodePackageActivation en bevat de naam van het codepakket en het toegangspunt als CodePackageActivation:CodePackageName:SetupEntryPoint/EntryPoint. Bijvoorbeeld CodePackageActivation:Code:SetupEntryPoint.

Registratie van servicetype

System.Hosting rapporteert als OK als het servicetype is geregistreerd. Er wordt een fout gerapporteerd als de registratie niet tijdig is uitgevoerd, zoals geconfigureerd met behulp van ServiceTypeRegistrationTimeout. Als de runtime is gesloten, wordt de registratie van het servicetype van het knooppunt opgehefd en wordt er een waarschuwing gerapporteerd door hosting.

  • SourceId: System.Hosting
  • Eigenschap: gebruikt het voorvoegsel ServiceTypeRegistration en bevat de naam van het servicetype. Bijvoorbeeld ServiceTypeRegistration:FileStoreServiceType.

In het volgende voorbeeld ziet u een goed geïmplementeerd servicepakket:

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

Downloaden

System.Hosting meldt een fout als het downloaden van het servicepakket mislukt.

  • SourceId: System.Hosting
  • Eigenschap: Downloaden, inclusief de implementatieversie.
  • Volgende stappen: Onderzoeken waarom het downloaden op het knooppunt is mislukt.

Upgradevalidatie

System.Hosting meldt een fout als de validatie tijdens de upgrade mislukt of als de upgrade op het knooppunt mislukt.

  • SourceId: System.Hosting
  • Eigenschap: Gebruikt het voorvoegsel FabricUpgradeValidation en bevat de upgradeversie.
  • Beschrijving: verwijst naar de fout die is opgetreden.

Niet-gedefinieerde knooppuntcapaciteit voor metrische gegevens over resourcebeheer

System.Hosting rapporteert een waarschuwing als knooppuntcapaciteiten niet zijn gedefinieerd in het clustermanifest en de configuratie voor automatische detectie is uitgeschakeld. Service Fabric genereert een statuswaarschuwing wanneer het servicepakket dat gebruikmaakt van resourcegovernanceregisters op een opgegeven knooppunt.

  • SourceId: System.Hosting
  • Eigenschap: ResourceGovernance.
  • Volgende stappen: De voorkeursmethode om dit probleem op te lossen, is door het clustermanifest te wijzigen om automatische detectie van beschikbare resources mogelijk te maken. Een andere manier is om het clustermanifest bij te werken met correct opgegeven knooppuntcapaciteiten voor deze metrische gegevens.

Volgende stappen