Systeemstatusrapporten gebruiken om fouten op te lossen

Azure Service Fabric onderdelen bieden systeem statusrapporten over alle entiteiten in het cluster direct vanuit het vak. In het statusopslag worden entiteiten gemaakt en verwijderd op basis van de systeemrapporten. Ze worden ook georganiseerd in een hiërarchie die interacties tussen entiteiten vast legt.

Notitie

Als u meer wilt weten over concepten met betrekking tot de status, Service Fabric health model voor meer informatie.

Systeem health reports provide visibility into cluster and application functionality, and flag problems. Voor toepassingen en services controleren systeem health-rapporten of entiteiten zijn geïmplementeerd en correct werken vanuit Service Fabric perspectief. 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 pas zichtbaar nadat de systeemonderdelen een entiteit hebben gemaakt. Wanneer een entiteit wordt verwijderd, worden in het statusopslag automatisch alle bijbehorende statusrapporten verwijderd. Hetzelfde geldt wanneer een nieuw exemplaar van de entiteit wordt gemaakt. Een voorbeeld hiervan is wanneer een nieuw stateful exemplaar van een persistente servicereplica 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 systeem. 'com.microsoft.intune.mam'. Watchdogs kunnen niet hetzelfde voorvoegsel gebruiken voor hun bronnen, omdat rapporten met ongeldige parameters worden geweigerd.

Laten we eens kijken naar een aantal 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 interessevoorwaarden die de zichtbaarheid van wat er in het cluster en de toepassingen gebeurt verbeteren. Bestaande rapporten kunnen worden uitgebreid met meer informatie om het probleem sneller op te lossen.

Statusrapporten van clustersysteem

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

Buurtverlies

System.Federation meldt een fout wanneer er een buurtverlies wordt gedetecteerd. Het rapport is afkomstig van afzonderlijke knooppunten en de knooppunt-id is 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 hiaatrapport vertegenwoordigen. Als er meer buurten verloren gaan, zijn er meer gebeurtenissen.

In het rapport wordt de time-to-live (TTL) van de globale lease opgegeven. Het rapport wordt elke helft van de TTL-duur om de zoveel tijd terug als 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 statusopslag, zelfs als het rapportage-knooppunt niet werkt.

  • SourceId: System.Federation
  • Eigenschap: begint met Buurt en bevat knooppuntgegevens.
  • Volgende stappen: Onderzoek waarom de buurt verloren is gegaan. Controleer bijvoorbeeld de communicatie tussen clusterknooppunten.

Opnieuw bouwen

De Failover Manager (FM)-service beheert informatie over de clusterknooppunten. Wanneer FM de gegevens verliest en gegevens verliest, kan het niet garanderen dat FM over de meest bijgewerkte informatie over de clusterknooppunten beschikt. In dit geval ondergaat het systeem herbouwen en verzamelt System.FM gegevens van alle knooppunten in het cluster om de status ervan te herbouwen. Soms kan het herbouwen vast komen te zitten of vast te zitten als gevolg van netwerk- of knooppuntproblemen. Hetzelfde kan gebeuren met de Failover Manager Master (FMM)-service. De FMM is een staatloze systeemservice die bijhoudt waar alle FM's zich in het cluster zijn. Het primaire knooppunt van de FMM is altijd het knooppunt met de id die het dichtst bij 0 ligt. Als dat knooppunt wordt uitgevallen, wordt een herbouwing geactiveerd. Wanneer een van de vorige voorwaarden zich voordeed, System.FM of System.FMM dit door middel van een foutrapport. De herbouw kan vast komen te zitten in een van de volgende 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. In het statusrapport worden de knooppunten vermeld 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, evenals de status van specifieke knooppunten die worden vermeld in de beschrijving van het statusrapport.

Status van seed-knooppunt

System.FM een waarschuwing op clusterniveau als sommige seed-knooppunten een slechte status hebben. Seed-knooppunten zijn de knooppunten die de beschikbaarheid van het onderliggende cluster behouden. Deze knooppunten helpen ervoor te zorgen dat het cluster blijft bestaan door leases met andere knooppunten tot stand te brengen en als tiebreakers te dienen tijdens bepaalde soorten netwerkfouten. Als een meerderheid van de seed-knooppunten in het cluster is uitgeschakeld en ze niet worden terug gebracht, wordt het cluster automatisch afgesloten.

Een seed-knooppunt is niet in orde als de status van het knooppunt Down, Removed of Unknown is. Het waarschuwingsrapport voor de status van het seed-knooppunt geeft een lijst weer van alle niet-in orde seed-knooppunten met gedetailleerde informatie.

  • SourceID: System.FM
  • Eigenschap: SeedNodeStatus
  • Volgende stappen: Als deze waarschuwing wordt weergegeven in het cluster, volgt u onderstaande instructies om het probleem op te lossen: voor het cluster met Service Fabric versie 6.5 of hoger: voor Service Fabric-cluster in Service Fabric Azure wordt het seed-knooppunt automatisch gewijzigd in een niet-seed-knooppunt nadat het seed-knooppunt uitvallen. 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 niet-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 geweerd.

Voor Service Fabric zelfstandig cluster moeten alle seed-knooppunten in orde worden om het waarschuwingsrapport te kunnen verwijderen. Afhankelijk van de reden waarom seed-knooppunten niet in orde zijn, moeten verschillende acties worden ondernomen: als het seed-knooppunt Niet werkt, 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 geweerd 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 geweerd. Gebruikers moeten ervoor zorgen dat alle seed-knooppunten in orde zijn voordat ze het rapport wissen: als het seed-knooppunt Niet beschikbaar is, moeten gebruikers dat seed-knooppunt omhoog brengen. Als het seed-knooppunt Verwijderd of Onbekend is, moet dat seed-knooppunt uit het cluster worden verwijderd. Nadat alle seed-knooppunten in orde zijn geworden, gebruikt u de volgende opdracht uit Powershell om het waarschuwingsrapport te verwijderen:

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

Statusrapporten voor knooppuntsysteem

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

Knooppunt omhoog/omlaag

System.FM als OK wanneer het knooppunt aan de ring wordt deelnemen (het is actief en actief). Er wordt een foutmelding weergegeven wanneer het knooppunt de ring loost (deze is niet meer in gebruik, voor het upgraden of gewoon omdat het is mislukt). De statushiërarchie die is gebouwd door het statusopslag, werkt op geïmplementeerde entiteiten in correlatie met System.FM knooppuntrapporten. Het knooppunt wordt gezien als een virtueel bovenliggend knooppunt van alle geïmplementeerde entiteiten. De geïmplementeerde entiteiten op dat knooppunt worden via query's blootgesteld als het knooppunt wordt gerapporteerd door System.FM, met hetzelfde exemplaar als het exemplaar dat is gekoppeld aan de entiteiten. Wanneer System.FM rapporteert dat het knooppunt niet beschikbaar is of opnieuw is opgestart, schoont het statusopslag als een nieuw exemplaar automatisch de geïmplementeerde entiteiten op die alleen op het knooppunt down of op het vorige exemplaar van het knooppunt kunnen bestaan.

  • SourceId: System.FM
  • Eigenschap: Status.
  • Volgende stappen: als het knooppunt niet werkt voor een upgrade, moet het weer worden uitgevoerd nadat het is bijgewerkt. In dit geval moet de status weer overschakelen naar OK. Als het knooppunt niet terugkomt of mislukt, is meer onderzoek nodig voor het probleem.

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

Verlopen van certificaat

System.FabricNode meldt een waarschuwing wanneer certificaten die worden gebruikt door het knooppunt bijna zijn verlopen. Er zijn drie certificaten per knooppunt: Certificate_cluster, Certificate_server en Certificate_default_client. Wanneer de verloopdatum ten minste twee weken is, is de status van het rapport OK. Wanneer de vervaldatum binnen twee weken is, 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 zijn verlopen.

Schending van laadcapaciteit

De Service Fabric Load Balancer een waarschuwing wanneer een schending van de knooppuntcapaciteit 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 met metrische gegevens voor resourcebeheer

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

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

Statusrapporten van toepassingssysteem

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

Staat

System.CM als OK wanneer de toepassing is gemaakt of bijgewerkt. Het statusopslag wordt op de hoogte wanneer de toepassing wordt verwijderd, zodat deze uit de store kan worden verwijderd.

  • SourceId: System.CM
  • Eigenschap: Status.
  • 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 statusgebeurtenis 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

Statusrapporten van servicesysteem

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

Staat

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

  • SourceId: System.FM
  • Eigenschap: Status.

In het volgende voorbeeld ziet u de statusgebeurtenis op 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

Servicecorrelatiefout

System.PLB meldt een fout wanneer wordt gedetecteerd dat het bijwerken van een service is gecorreleerd aan een andere service die een affiniteitsketen maakt. Het rapport wordt geweerd wanneer er een geslaagde update wordt geïnstalleerd.

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

Statusrapporten van het partitiesysteem

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

Staat

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

Als de partitie lager is dan het minimale aantal replica's, wordt er een foutmelding weergegeven. Als de partitie niet onder het minimale aantal replica's ligt, maar onder het aantal doelreplica's ligt, wordt een waarschuwing weergegeven. Als de partitie quorumverlies heeft, System.FM een foutmelding.

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 aan status heeft, zoals Azure SQL Database, duurt de build langer dan voor een service met een kleine status.

  • SourceId: System.FM
  • Eigenschap: Status.
  • Volgende stappen: als de status niet IN ORDE is, is het mogelijk dat sommige replica's niet correct zijn gemaakt, geopend of gepromoveerd naar primaire of secundaire replica's.

Als in de beschrijving quorumverlies wordt beschreven, kunt u het gedetailleerde statusrapport bekijken voor replica's die niet beschikbaar zijn en deze weer terughalen om de partitie weer online te brengen.

Als in de beschrijving wordt beschreven dat een partitie is vastgelopen bij herconfiguratie,biedt 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 goede 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 om de partitiebeschrijving op te halen, die laat zien hoe deze is geconfigureerd: MinReplicaSetSize is drie en TargetReplicaSetSize 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 annulerings token niet in de RunAsync-methode respecteert. 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 herconfiguratie ondergaat:

  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
  • Replica-status
  • Knooppunt waarop de replica wordt uitgevoerd
  • Replica-id

In een voorbeeldvoorbeeld is verder onderzoek nodig. Onderzoek de status van elke afzonderlijke replica vanaf 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 een schending van de replicabeperking wordt gedetecteerd en niet alle partitiereplica's kunnen worden geplaatst. In de rapportdetails wordt weergegeven 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 replica-status.

Staat

System.RA rapporteert OK wanneer de replica is gemaakt.

  • SourceId: System.RA
  • Eigenschap: Status.

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 overstappen van een replica van de ene rol naar de andere. Zie Levenscyclus van replica voor meer informatie. De fouten kunnen uitzonderingen zijn die zijn veroorzaakt door de API-aanroepen of crashes van het servicehostproces gedurende deze periode. Voor fouten vanwege API-aanroepen van C#-code voegt Service Fabric uitzondering en stack-trace toe aan het statusrapport.

Deze statuswaarschuwingen worden gegeven nadat de actie lokaal een aantal keer opnieuw is uitgevoerd (afhankelijk van het beleid). Service Fabric de actie opnieuw tot een maximale drempelwaarde. Nadat de maximale drempelwaarde is bereikt, kan worden geprobeerd om de situatie te corrigeren. Deze poging kan ertoe leiden dat deze waarschuwingen worden geweerd omdat deze de actie op dit knooppunt opgeven. Als een replica bijvoorbeeld niet kan worden geopend op een knooppunt, Service Fabric een statuswaarschuwing. Als de replica nog steeds niet wordt geopend, Service Fabric zelf herstellen. Deze actie kan betrekking hebben op het uitvoeren van dezelfde bewerking op een ander knooppunt. Deze poging zorgt ervoor dat de waarschuwing die wordt gegeven voor deze replica wordt gew cleared.

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

In het volgende voorbeeld ziet u de status van een replica die wordt uitgevoerd TargetInvocationException vanuit de open methode. 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 vast loopt 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 voert, detecteert dat de herconfiguratie is vastgelopen of vastgelopen. Dit statusrapport kan zich op de replica van wie de huidige rol primair is, behalve in het geval van een primaire herconfiguratie voor wisselen, waar het zich mogelijk op de replica die wordt gedegradeerd van primaire naar actieve secundaire.

De herconfiguratie kan om een van de volgende redenen vastgelopen zijn:

  • Een actie op de lokale replica, dezelfde replica als de replica die de herconfiguratie moet uitvoeren, wordt niet voltooien. 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 op een externe replica voltooien. 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 vastgelopen zijn vanwege communicatie of andere problemen tussen dit knooppunt en de Failover Manager service.

  • 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 vastloopt op de lokale replica. In dit voorbeeld wordt dit veroorzaakt doordat een service het annulerings token niet respecteert.

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 in afwachting van 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 is vastgelopen in afwachting van 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
  • Replica-status
  • Knooppunt-id
  • Replica-id

De blokkering van de herconfiguratie opheffen:

  • De omlaag gebouwde replica's moeten worden gemaakt.
  • De ingebouwde replica's moeten de build voltooien en overstappen naar gereed.

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 geweerd wanneer de aanroep is voltooid.

  • SourceId: System.RAP of System.Replicator
  • Eigenschap: de naam van de trage API. De beschrijving bevat meer informatie over de tijd dat de API in behandeling is.
  • Volgende stappen: Onderzoek waarom de aanroep langer duurt dan verwacht.

In het volgende voorbeeld ziet u de statusgebeurtenis van System.RAP voor een betrouwbare service die het annulerings token in RunAsync niet respecteert:

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 bug in de servicecode. In de volgende sectie wordt beschreven hoe deze worden vertaald naar Reliable Services model:

  • IStatefulServiceReplica.Open: deze waarschuwing geeft aan dat een aanroep naar , of, indien CreateServiceInstanceListeners ICommunicationListener.OpenAsync overschrijven, OnOpenAsync is vastgelopen.

  • IStatefulServiceReplica.Close en IStatefulServiceReplica.Abort: Het meest voorkomende geval is dat een service het annulerings token dat is doorgegeven aan niet respecteert. RunAsync Het kan ook zijn dat ICommunicationListener.CloseAsync , of, indien overschrijven, OnCloseAsync vastloopt.

  • IStatefulServiceReplica.ChangeRole(S) en IStatefulServiceReplica.ChangeRole(N): Het meest voorkomende geval is een service die het annulerings token niet respecteert 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 vast komen te zitten, staan in de IReplicator-interface. Bijvoorbeeld:

  • IReplicator.CatchupReplicaSet: deze waarschuwing geeft een van 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 health-rapport 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 waarde van de primaire CommittedSequenceNumber 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 replicatorsysteem

Replicatiewachtrij vol: System.Replicator meldt een waarschuwing wanneer de replicatiewachtrij vol is. Op de primaire replica wordt de replicatiewachtrij meestal vol omdat een of meer secundaire replica's traag zijn om bewerkingen te bevestigen. Op de secundaire vindt dit meestal plaats wanneer de service traag is om de bewerkingen toe te passen. De waarschuwing wordt geweerd 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 het primaire cluster, 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 schijf, controleert u eerst het schijfgebruik en de prestaties op het knooppunt. Controleer vervolgens de uitgaande verbinding van het langzame 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 correct is geconfigureerd. Als de externe replicator bijvoorbeeld wordt geopend met het luisteradres 'localhost', is deze van buitenaf niet bereikbaar. 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 replica wordt de replicatiewachtrij meestal vol omdat een of meer secundaire replica's traag zijn om bewerkingen te bevestigen. Op de secundaire vindt dit meestal plaats wanneer de service traag is om de bewerkingen toe te passen. De waarschuwing wordt geweerd 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 op 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 kunnen bijvoorbeeld worden gevonden onder servicebeheermethoden of eigenschapsbeheermethoden.

Notitie

De naamgevingsservice lost servicenamen om naar een locatie in het cluster. Gebruikers kunnen deze gebruiken om servicenamen en -eigenschappen te beheren. Het is een Service Fabric gepartitiesteerde en persistente service. Een van de partities vertegenwoordigt de eigenaar van de instantie, die metagegevens over alle Service Fabric namen en services bevat. De Service Fabric zijn aan verschillende partities, genaamd naam eigenaar partities, zodat de service kan worden extensible. 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 verzorgt. Als de bewerking is voltooid, wordt de waarschuwing geweken. 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 op naam fabric:/MyApp/MyService bijvoorbeeld te lang duurt, is de eigenschap Duration_AOCreateService.fabric:/MyApp/MyService. 'AO' wijst 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 vastgelopen zijn. De service is mogelijk vastgelopen omdat de toepassingshost vastloopt op een knooppunt vanwege een gebruikersbug 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' wordt opnieuw proberen te doen en verzendt werk naar 'NEE'. 'NEE' heeft de laatste bewerking met TIMEOUT voltooid. In dit geval is dezelfde replica primair voor de rollen 'AO' en '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

GeïmplementeerdRapporten over de status van het Application-systeem

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

Activering

System.Hosting rapporteert als OK wanneer een toepassing is geactiveerd op het knooppunt. Anders wordt een foutmelding weergegeven.

  • SourceId: System.Hosting
  • Eigenschap: Activering, inclusief de implementatieversie.
  • Volgende stappen: als de toepassing een slechte status heeft, 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: download, inclusief de implementatieversie.
  • Volgende stappen: Onderzoek waarom het downloaden is mislukt op het knooppunt.

Statusrapporten van geïmplementeerdServicePackage-systeem

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

Activering van servicepakket

System.Hosting meldt als OK als de activering van het servicepakket op het knooppunt is geslaagd. Anders wordt een foutmelding weergegeven.

  • SourceId: System.Hosting
  • Eigenschap: Activering.
  • Volgende stappen: Onderzoek 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 als geconfigureerd rapporteert. Als CodePackage niet kan worden geactiveerd of beëindigd met een fout die groter is dan de geconfigureerde CodePackageHealthErrorThreshold, wordt door hosting een foutmelding weergegeven. Als een servicepakket meerdere codepakketten bevat, wordt voor elk pakket een activeringsrapport gegenereerd.

  • SourceId: System.Hosting
  • Eigenschap: Maakt gebruik van 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 rapporteert als OK als het servicetype is geregistreerd. Er wordt een foutmelding weergegeven als de registratie niet op tijd is uitgevoerd, 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 als host gegeven.

  • SourceId: System.Hosting
  • Eigenschap: maakt gebruik van 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: download, inclusief de implementatieversie.
  • Volgende stappen: Onderzoek waarom het downloaden is mislukt op het knooppunt.

Upgradevalidatie

System.Hosting meldt 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: wijst naar de opgetreden fout.

Niet-gedefinieerde knooppuntcapaciteit voor metrische gegevens voor resourcebeheer

System.Hosting meldt een waarschuwing als er geen knooppuntcapaciteiten zijn gedefinieerd in het clustermanifest en de configuratie voor automatische detectie is uitgeschakeld. Service Fabric wordt een statuswaarschuwing gegeven wanneer het servicepakket dat resourcebeheerregisters gebruikt 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