Systeemstatusrapporten gebruiken om fouten op te lossen

Azure Service Fabric-onderdelen bieden direct uit de doos systeemstatusrapporten over alle entiteiten in het cluster. Het statusarchief maakt en verwijdert entiteiten op basis van de systeemrapporten. Het organiseert ze ook in een hiërarchie die entiteitsinteracties vastlegt.

Notitie

Lees meer op Service Fabric-statusmodel voor meer informatie over statusconcepten.

Systeemstatusrapporten bieden inzicht in cluster- en toepassingsfunctionaliteit en markeren problemen. Voor toepassingen en services controleren systeemstatusrapporten of entiteiten zijn geïmplementeerd en correct werken 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 gezondheidsgegevens verrijken met informatie die specifiek is voor hun logica.

Notitie

Statusrapporten die door gebruikerswaakhonden worden verzonden, zijn alleen zichtbaar nadat de systeemonderdelen een entiteit hebben gemaakt. Wanneer een entiteit wordt verwijderd, verwijdert het statusarchief automatisch alle statusrapporten die eraan zijn gekoppeld. Hetzelfde geldt wanneer 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 potentiële problemen kunt oplossen die ze vertegenwoordigen.

Notitie

Service Fabric blijft rapporten toevoegen over interessante voorwaarden die inzicht geven in wat er in het cluster en de toepassingen gebeurt. Bestaande rapporten kunnen worden uitgebreid met meer details om het probleem sneller op te lossen.

Statusrapporten van clustersysteem

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

Buurtverlies

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

In het rapport wordt de time-out van de global-lease opgegeven als de 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 knooppuntgegevens.
  • Volgende stappen: Onderzoeken waarom de buurt verloren gaat. Controleer bijvoorbeeld de communicatie tussen clusterknooppunten.

Opnieuw bouwen

De service FailoverBeheer (FM) beheert informatie over de clusterknooppunten. Wanneer FM zijn gegevens kwijtraakt en gegevensverlies krijgt, kan het niet garanderen dat het de meest bijgewerkte informatie over de clusterknooppunten heeft. In dit geval doorloopt het systeem een herbouw en verzamelt System.FM gegevens van alle knooppunten in het cluster om de status opnieuw te bouwen. Als gevolg van netwerk- of knooppuntproblemen kan het herbouwen soms 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 herbouw geactiveerd. Wanneer een van de vorige omstandigheden zich voordoet, markeert System.FM of System.FMM dit via een foutenrapport. Herbouwen kan in een van de volgende twee fasen zijn vastgelopen:

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

    • Volgende stappen: Onderzoeken 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 op andere mogelijke problemen.
  • SourceID: System.FM of System.FMM

  • Eigenschap: Herbouwen.

  • Volgende stappen: Onderzoek de netwerkverbinding tussen de knooppunten en 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 niet in orde 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 niet beschikbaar zijn in het cluster en ze niet worden teruggezet, wordt het cluster automatisch afgesloten.

Een seed-knooppunt is beschadigd als de status van het knooppunt Niet beschikbaar, Verwijderd of Onbekend is. In het waarschuwingsrapport voor de status van het seed-knooppunt worden alle beschadigde seed-knooppunten met gedetailleerde informatie vermeld.

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

Voor een zelfstandig Service Fabric-cluster moeten alle seed-knooppunten in orde zijn om het waarschuwingsrapport te wissen. Afhankelijk van de reden waarom seed-knooppunten niet in orde zijn, moeten er verschillende acties worden ondernomen: als het seed-knooppunt offline is, moeten gebruikers dat seed-knooppunt omhoog brengen; Als het seed-knooppunt Verwijderd of Onbekend is, moet dit seed-knooppunt worden verwijderd uit het cluster. Het waarschuwingsrapport wordt automatisch gewist wanneer alle seed-knooppunten in orde zijn.

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 zijn voordat ze het rapport wissen: als het seed-knooppunt Offline is, moeten gebruikers dat seed-knooppunt naar boven brengen. Als het seed-knooppunt Verwijderd of Onbekend is, moet dat seed-knooppunt worden verwijderd uit het cluster. Nadat alle seed-knooppunten in orde zijn, gebruikt u de volgende opdracht uit 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 failoverbeheerservice vertegenwoordigt, is de instantie die informatie over clusterknooppunten beheert. Elk knooppunt moet één rapport hebben van System.FM waarin de status wordt weergegeven. 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 (het is actief). Er wordt een fout gerapporteerd wanneer het knooppunt de ring verlaat (het is offline, voor het upgraden of gewoon omdat het is mislukt). De statushiërarchie die door het statusarchief is gebouwd, werkt op geïmplementeerde entiteiten in correlatie met System.FM knooppuntrapporten. Het knooppunt wordt beschouwd als een virtuele bovenliggende van alle geïmplementeerde entiteiten. De geïmplementeerde entiteiten op dat knooppunt worden weergegeven via query's als het knooppunt wordt gerapporteerd als up door System.FM, met hetzelfde exemplaar als het exemplaar dat aan de entiteiten is gekoppeld. Wanneer System.FM rapporteert dat het knooppunt niet beschikbaar is of opnieuw is opgestart, worden in de statusopslag automatisch de geïmplementeerde entiteiten opgeschoond die alleen op het down-knooppunt of op 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 als het uitvalt, moet het probleem verder worden onderzocht.

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

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

Certificaat verloopt

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 is verstreken, is de status van het rapport IN ORDE. Wanneer de vervaldatum binnen twee weken valt, is het rapporttype een waarschuwing. TTL van deze gebeurtenissen is oneindig en ze 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 de belastingscapaciteit

De Service Fabric-Load Balancer meldt een waarschuwing wanneer er een schending van de capaciteit van een knooppunt 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 meldt een waarschuwing als de gedefinieerde knooppuntcapaciteiten in het clustermanifest groter zijn dan de echte knooppuntcapaciteiten voor metrische gegevens over resourcebeheer (geheugen en CPU-kernen). Er wordt een statusrapport weergegeven wanneer het eerste servicepakket dat gebruikmaakt van resourcebeheer zich registreert op een opgegeven knooppunt.

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

Statusrapporten van het toepassingssysteem

System.CM, die de clusterbeheerservice vertegenwoordigt, is de instantie die informatie over een toepassing beheert.

Staat

System.CM rapporteert als OK wanneer de toepassing is gemaakt of bijgewerkt. De app informeert het statusarchief wanneer de toepassing wordt verwijderd, zodat deze uit het archief kan worden verwijderd.

  • SourceId: System.CM
  • Eigenschap: Staat.
  • Volgende stappen: Als de toepassing is gemaakt of bijgewerkt, moet deze het statusrapport clusterbeheer bevatten. Controleer anders de status van de toepassing door een query uit te voeren. Gebruik bijvoorbeeld de PowerShell-cmdlet Get-ServiceFabricApplication -ApplicationNameapplicationName.

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

Statusrapporten van het servicesysteem

System.FM, die de failoverbeheerservice vertegenwoordigt, is de instantie die informatie over services beheert.

Staat

System.FM rapporteert 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 met servicecorrelatie

System.PLB rapporteert 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 een geslaagde update plaatsvindt.

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

Statusrapporten van partitiesysteem

System.FM, die de failoverbeheerservice vertegenwoordigt, is de instantie die informatie over servicepartities beheert.

Staat

System.FM rapporteert 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 lager is dan het minimale aantal replica's, maar wel onder het aantal doelreplica's, wordt een waarschuwing weergegeven. Als de partitie quorumverlies heeft, meldt System.FM een fout.

Andere belangrijke gebeurtenissen zijn 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 van de status heeft, zoals Azure SQL Database, duurt de build langer dan voor een service met een kleine 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 quorumverlies wordt beschreven, kunt u het gedetailleerde statusrapport voor replica's die niet beschikbaar zijn bekijken en deze terugzetten om de partitie weer online te brengen.

Als in de beschrijving een partitie wordt beschreven die is vastgelopen in de herconfiguratie, bevat 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 gezonde partitie:

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 in het cluster op, in dit geval vijf. 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 de herconfiguratie omdat de gebruiker het annuleringstoken niet naleeft in de methode RunAsync . Het onderzoeken van het statusrapport van een replica die als primair (P) is gemarkeerd, 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

Dit statusrapport toont 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 als het voorbeeld is nader onderzoek nodig. Onderzoek de status van elke afzonderlijke replica, te beginnen 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 de replica verhinderen.

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

Statusrapporten van het replicasysteem

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

Staat

System.RA meldt 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 Levenscyclus van replica's voor meer informatie. De fouten kunnen uitzonderingen zijn die zijn opgetreden door de API-aanroepen of crashes van het servicehostproces gedurende deze periode. Voor fouten als gevolg van API-aanroepen vanuit C#-code voegt Service Fabric de uitzondering en stacktracering toe aan het statusrapport.

Deze statuswaarschuwingen worden weergegeven nadat u de actie een aantal keren lokaal opnieuw hebt geprobeerd (afhankelijk van het beleid). Service Fabric voert de actie opnieuw uit tot een maximumdrempelwaarde. Nadat de maximumdrempelwaarde is bereikt, kan worden geprobeerd de situatie te corrigeren. Deze poging kan ertoe leiden dat deze waarschuwingen worden gewist omdat de actie op dit knooppunt wordt opgegeven. Als een replica bijvoorbeeld niet kan worden geopend op een knooppunt, geeft Service Fabric een statuswaarschuwing. Als de replica nog steeds niet kan worden geopend, voert Service Fabric zelfherstel uit. Deze actie kan betrekking hebben op het uitvoeren van 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 achterhalen waarom de bewerking mislukt.

In het volgende voorbeeld ziet u de status van een replica die uit de open methode wordt gegooid TargetInvocationException . De beschrijving bevat het foutpunt IStatefulServiceReplica.Open, het uitzonderingstype TargetInvocationException en de stacktracering.

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 kan zich op de replica bevinden waarvan de huidige rol primair is, behalve in het geval van een primaire herconfiguratie wisselen, waarbij het zich mogelijk bevindt op de replica die wordt gedegradeerd van primair naar actief secundair.

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 opleveren.

  • Een actie wordt niet voltooid op een externe replica. Replica's waarvoor acties in behandeling zijn, worden vermeld in het statusrapport. Verder onderzoek moet worden uitgevoerd naar 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 failoverbeheerservice.

  • SourceId: System.RA
  • Eigenschap: Herconfiguratie.
  • Volgende stappen: Onderzoek lokale of externe replica's, 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 wordt dit veroorzaakt door 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 zijn er drie replica's in de partitie, waaronder de huidige primaire.

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

In dit statusrapport ziet u dat de herconfiguratie vastloopt op een reactie van twee replica's:

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

Voor elke replica wordt de volgende informatie gegeven:

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

De herconfiguratie deblokkeren:

  • De down-replica's moeten naar boven worden gebracht.
  • De inbuild-replica's moeten de build voltooien en de overgang naar gereed maken.

Trage service-API-aanroep

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 de aanroep langer duurt dan verwacht.

In het volgende voorbeeld ziet u de statusgebeurtenis 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 die u moet uitvoeren voor verschillende vastgelopen API's zijn verschillend. Elke API op de IStatefulServiceReplica of IStatelessServiceInstance is meestal een bug 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 van CreateServiceInstanceListeners, ICommunicationListener.OpenAsyncof, indien overschreven, OnOpenAsync is vastgelopen.

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

  • 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 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 . Bijvoorbeeld:

  • IReplicator.CatchupReplicaSet: deze waarschuwing geeft een van twee dingen aan. Er zijn onvoldoende upreplica'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 erkennen 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 de LastAppliedReplicationSequenceNumber waarde zich achter de CommittedSequenceNumber primaire waarde bevindt.

  • IReplicator.BuildReplica(<Remote ReplicaId>): deze waarschuwing geeft aan dat er een probleem is in het buildproces. Zie Levenscyclus van replica's voor meer informatie. Dit kan worden veroorzaakt door 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 replicator-systeem

Replicatiewachtrij vol:System.Replicator meldt een waarschuwing wanneer de replicatiewachtrij vol is. Op de primaire wordt de replicatiewachtrij meestal vol omdat een of meer secundaire replica's traag zijn bij het bevestigen van bewerkingen. Op de secundaire plaats gebeurt dit meestal wanneer de service traag is bij het toepassen van de bewerkingen. 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 locatie 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 verbinding met een hoge schijflatentie om bewerkingen toe te passen. Als het rapport zich op het secundaire rapport bevindt, controleert u eerst het schijfgebruik en de prestaties op het knooppunt. Controleer vervolgens de uitgaande verbinding van het trage knooppunt naar het primaire knooppunt.

RemoteReplicatorConnectionStatus:System.Replicator op de primaire replica meldt 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 dat er netwerkproblemen zijn tussen de replicators.

  • SourceId: System.Replicator
  • Eigenschap: RemoteReplicatorConnectionStatus.
  • Volgende stappen: Controleer het foutbericht en controleer of het adres van de externe replicator juist is geconfigureerd. Als de externe replicator bijvoorbeeld wordt geopend met het luisteradres 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 mogelijke netwerkproblemen te vinden.

Replicatiewachtrij vol

System.Replicator meldt een waarschuwing wanneer de replicatiewachtrij vol is. Op de primaire wordt de replicatiewachtrij meestal vol omdat een of meer secundaire replica's traag zijn bij het bevestigen van bewerkingen. Op de secundaire plaats gebeurt dit meestal wanneer de service traag is bij het toepassen van de bewerkingen. 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. 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

De naamgevingsservice zet servicenamen om naar een locatie in het cluster. Gebruikers kunnen deze gebruiken om servicenamen en -eigenschappen te beheren. Het is een Service Fabric-gepartitioneerde persistente service. Een van de partities vertegenwoordigt de instantie-eigenaar, die metagegevens over alle Service Fabric-namen en -services bevat. De Service Fabric-namen worden toegewezen aan verschillende partities, genaamd naameigenaarpartities , zodat de service uitbreidbaar is. Meer informatie 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 wordt 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 bijvoorbeeld te lang duurt om een service te maken op naam fabric:/MyApp/MyService , wordt 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 is bijvoorbeeld vastgelopen. De service is mogelijk vastgelopen omdat de toepassingshost blijft vastlopen 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 heeft langer geduurd dan de geconfigureerde duur. 'AO' probeert opnieuw en verzendt werk naar 'NEE'. 'NEE' heeft de laatste bewerking met TIMEOUT voltooid. In dit geval is dezelfde replica primair voor zowel de AO- als de NO-rol.

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 DeployedApplication-systeem

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

Activering

System.Hosting meldt als OK wanneer een toepassing is geactiveerd op het knooppunt. Anders wordt 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 rapporteert 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 DeployedServicePackage-systeem

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

Servicepakketactivering

System.Hosting rapporteert als OK als de activering van het servicepakket op het knooppunt is geslaagd. Anders wordt 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 een waarschuwing gerapporteerd zoals geconfigureerd. Als CodePackage niet kan worden geactiveerd of beëindigd met een fout die groter is dan de geconfigureerde CodePackageHealthErrorThreshold, meldt 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 invoerpunt als CodePackageActivation:CodePackageName:SetupEntryPoint/EntryPoint. Bijvoorbeeld CodePackageActivation:Code:SetupEntryPoint.

Registratie van servicetype

System.Hosting meldt als OK als het servicetype is geregistreerd. Er wordt een fout gerapporteerd als de registratie niet op tijd is voltooid, zoals geconfigureerd met behulp van ServiceTypeRegistrationTimeout. Als de runtime is gesloten, wordt de registratie van het servicetype bij het knooppunt ongedaan maken en wordt er een waarschuwing weergegeven voor 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 geïmplementeerd servicepakket met een goede status:

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 rapporteert 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 rapporteert een fout als de validatie tijdens de upgrade mislukt of als de upgrade mislukt op het knooppunt.

  • 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 van resourcebeheer

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

  • SourceId: System.Hosting
  • Eigenschap: ResourceGovernance.
  • Volgende stappen: De beste manier 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