Use system health reports to troubleshoot (Systeemstatusrapporten gebruiken om problemen op te lossen)
Azure Service Fabric-onderdelen bieden systeemstatusrapporten over alle entiteiten in het cluster, direct in het vak. In het statusarchief worden entiteiten gemaakt en verwijderd op basis van de systeemrapporten. Het organiseert ze ook in een hiërarchie waarmee entiteitsinteracties worden vastgelegd.
Notitie
Lees meer in het Service Fabric-statusmodel voor meer informatie over concepten met betrekking tot de status.
Systeemstatusrapporten bieden inzicht in cluster- en toepassingsfunctionaliteit en vlagproblemen. Voor toepassingen en services controleren systeemstatusrapporten of entiteiten zijn geïmplementeerd en zich correct gedragen vanuit het perspectief van Service Fabric. De rapporten bieden geen statuscontrole van de bedrijfslogica van de service of detectie van processen die niet reageren. Gebruikersservices kunnen de statusgegevens verrijken met informatie die specifiek is voor hun logica.
Notitie
Statusrapporten die door gebruikers-watchdogs worden verzonden, zijn alleen zichtbaar nadat de systeemonderdelen een entiteit hebben gemaakt. Wanneer een entiteit wordt verwijderd, worden in het statusarchief automatisch alle daaraan gekoppelde statusrapporten verwijderd. Hetzelfde geldt wanneer er een nieuw exemplaar van de entiteit wordt gemaakt. Een voorbeeld is wanneer een nieuw stateful persistent servicereplica-exemplaar wordt gemaakt. Alle rapporten die aan het oude exemplaar zijn gekoppeld, worden verwijderd en opgeschoond uit de store.
De systeemonderdeelrapporten worden geïdentificeerd door de bron, die begint met het voorvoegsel System.. Watchdogs kunnen hetzelfde voorvoegsel niet gebruiken voor hun bronnen, omdat rapporten met ongeldige parameters worden geweigerd.
Laten we eens kijken naar enkele systeemrapporten om te begrijpen wat ze activeert en om te leren hoe u de mogelijke problemen kunt oplossen die ze vertegenwoordigen.
Notitie
Service Fabric blijft rapporten toevoegen over interessevoorwaarden die de zichtbaarheid verbeteren van wat er gebeurt in het cluster en de toepassingen. Bestaande rapporten kunnen worden uitgebreid met meer informatie om het probleem sneller op te lossen.
Statusrapporten van het clustersysteem
De statusentiteit van het cluster wordt automatisch gemaakt in het statusarchief. Als alles goed werkt, heeft het geen systeemrapport.
Buurtverlies
System.Federation meldt een fout wanneer een buurtverlies wordt gedetecteerd. Het rapport is afkomstig van afzonderlijke knooppunten en de knooppunt-id wordt opgenomen in de naam van de eigenschap. Als één buurt verloren gaat in de hele Service Fabric-ring, kunt u doorgaans twee gebeurtenissen verwachten die beide zijden van het gap-rapport vertegenwoordigen. Als er meer buurten verloren gaan, zijn er meer evenementen.
In het rapport wordt de time-out van de global-lease opgegeven als time-to-live (TTL). Het rapport wordt elke helft van de TTL-duur opnieuw verzonden zolang de voorwaarde actief blijft. De gebeurtenis wordt automatisch verwijderd wanneer deze verloopt. Het gedrag remove-when-expired zorgt ervoor dat het rapport correct wordt opgeschoond uit het statusarchief, zelfs als het rapportageknooppunt niet beschikbaar is.
- SourceId: System.Federation
- Eigenschap: Begint met Buurt en bevat knooppuntinformatie.
- Volgende stappen: Onderzoek waarom de buurt verloren gaat. Controleer bijvoorbeeld de communicatie tussen clusterknooppunten.
Opnieuw bouwen
De failoverbeheerservice (FM) beheert informatie over de clusterknooppunten. Wanneer FM de gegevens kwijtraakt en gegevensverlies ondergaat, kan het niet garanderen dat het de meest bijgewerkte informatie over de clusterknooppunten bevat. In dit geval doorloopt het systeem een herbouwing en System.FM verzamelt gegevens van alle knooppunten in het cluster om de status opnieuw op te bouwen. Soms kan herbouwen vanwege netwerk- of knooppuntproblemen vastlopen of vastlopen. Hetzelfde kan gebeuren met de FMM-service (Failover Manager Master). De FMM is een staatloze systeemservice die bijhoudt waar alle VM's zich in het cluster bevinden. De primaire FMM is altijd het knooppunt met de id die het dichtst bij 0 ligt. Als dat knooppunt wordt verwijderd, wordt een herbouwbewerking geactiveerd. Wanneer een van de vorige voorwaarden plaatsvindt, System.FM of System.FMM deze via een foutenrapport markeert. Herbouwen is mogelijk vastgelopen in een van de twee fasen:
Wachten op uitzending: FM/FMM wacht op het antwoord van het broadcastbericht van de andere knooppunten.
- Volgende stappen: Onderzoek of er een probleem is met de netwerkverbinding tussen knooppunten.
Wachten op knooppunten: FM/FMM heeft al een broadcast-antwoord ontvangen van de andere knooppunten en wacht op een antwoord van specifieke knooppunten. Het statusrapport bevat de knooppunten waarvoor de FM/FMM wacht op een antwoord.
- Volgende stappen: Onderzoek de netwerkverbinding tussen de FM/FMM en de vermelde knooppunten. Onderzoek elk vermeld knooppunt voor andere mogelijke problemen.
SourceID: System.FM of System.FMM
Eigenschap: Herbouwen.
Volgende stappen: Onderzoek de netwerkverbinding tussen de knooppunten, evenals de status van eventuele specifieke knooppunten die worden vermeld in de beschrijving van het statusrapport.
Status van seed-knooppunt
System.FM rapporteert een waarschuwing op clusterniveau als sommige seed-knooppunten beschadigd zijn. Seed-knooppunten zijn de knooppunten die de beschikbaarheid van het onderliggende cluster behouden. Deze knooppunten helpen ervoor te zorgen dat het cluster actief blijft door leases met andere knooppunten tot stand te brengen en als tiebreakers te fungeren tijdens bepaalde soorten netwerkfouten. Als een meerderheid van de seed-knooppunten zich in het cluster bevindt en ze niet worden teruggehaald, wordt het cluster automatisch afgesloten.
Een seed-knooppunt is beschadigd als de status van het knooppunt offline, verwijderd of onbekend is. In het waarschuwingsrapport voor de status van het seed-knooppunt worden alle beschadigde seed-knooppunten met gedetailleerde informatie weergegeven.
- SourceID: System.FM
- Eigenschap: SeedNodeStatus
- Volgende stappen: Als deze waarschuwing in het cluster wordt weergegeven, volgt u de onderstaande instructies om dit probleem op te lossen: Voor een cluster met Service Fabric-versie 6.5 of hoger: Voor Service Fabric-cluster in Azure probeert Service Fabric dit automatisch te wijzigen in een niet-seed-knooppunt. Om dit te realiseren, moet u ervoor zorgen dat het aantal niet-seed-knooppunten in het primaire knooppunttype groter of gelijk is aan het aantal down seed-knooppunten. Voeg indien nodig meer knooppunten toe aan het primaire knooppunttype om dit te bereiken. Afhankelijk van de clusterstatus kan het enige tijd duren om het probleem op te lossen. Zodra dit is gebeurd, wordt het waarschuwingsrapport automatisch gewist.
Als u het waarschuwingsrapport wilt wissen, moeten alle seed-knooppunten in orde zijn om het zelfstandige Service Fabric-cluster te wissen. Afhankelijk van waarom seed-knooppunten niet in orde zijn, moeten verschillende acties worden uitgevoerd: als het seed-knooppunt offline is, moeten gebruikers dat seed-knooppunt omhoog brengen; als het seed-knooppunt is verwijderd of onbekend, moet dit seed-knooppunt worden verwijderd uit het cluster. Het waarschuwingsrapport wordt automatisch gewist wanneer alle seed-knooppunten in orde worden.
Voor cluster met Service Fabric-versie ouder dan 6.5: In dit geval moet het waarschuwingsrapport handmatig worden gewist. Gebruikers moeten ervoor zorgen dat alle seed-knooppunten in orde worden voordat ze het rapport wissen: als het seed-knooppunt offline is, moeten gebruikers dat seed-knooppunt omhoog brengen; als het seed-knooppunt is verwijderd of onbekend, moet dat seed-knooppunt worden verwijderd uit het cluster. Nadat alle seed-knooppunten in orde zijn, gebruikt u de volgende opdracht van PowerShell om het waarschuwingsrapport te wissen:
PS C:\> Send-ServiceFabricClusterHealthReport -SourceId "System.FM" -HealthProperty "SeedNodeStatus" -HealthState OK
Statusrapporten van het knooppuntsysteem
System.FM, die de Failover Manager-service vertegenwoordigt, is de instantie die informatie over clusterknooppunten beheert. Elk knooppunt moet één rapport uit System.FM met de status ervan. De knooppuntentiteiten worden verwijderd wanneer de status van het knooppunt wordt verwijderd. Zie RemoveNodeStateAsync voor meer informatie.
Knooppunt omhoog/omlaag
System.FM rapporteert als OK wanneer het knooppunt lid wordt van de ring (deze is actief). Er wordt een fout gerapporteerd wanneer het knooppunt de ring verlaat (het is offline, voor een upgrade of omdat het is mislukt). De statushiërarchie die is gebouwd door het statusarchief fungeert op geïmplementeerde entiteiten in correlatie met System.FM knooppuntrapporten. Het knooppunt wordt beschouwd als een virtueel bovenliggend element van alle geïmplementeerde entiteiten. De geïmplementeerde entiteiten op dat knooppunt worden weergegeven via query's als het knooppunt door System.FM wordt gerapporteerd, met hetzelfde exemplaar als het exemplaar dat is gekoppeld aan de entiteiten. Wanneer System.FM rapporteert dat het knooppunt offline is of opnieuw is opgestart, worden in het statusarchief automatisch de geïmplementeerde entiteiten opgeschoond die alleen op het down-knooppunt of in het vorige exemplaar van het knooppunt kunnen bestaan.
- SourceId: System.FM
- Eigenschap: Staat.
- Volgende stappen: Als het knooppunt niet beschikbaar is voor een upgrade, moet het opnieuw worden weergegeven nadat het is bijgewerkt. In dit geval moet de status teruggaan naar OK. Als het knooppunt niet terugkomt of mislukt, moet het probleem meer worden onderzocht.
In het volgende voorbeeld ziet u de gebeurtenis System.FM met de status OK voor het knooppunt:
PS C:\> Get-ServiceFabricNodeHealth _Node_0
NodeName : _Node_0
AggregatedHealthState : Ok
HealthEvents :
SourceId : System.FM
Property : State
HealthState : Ok
SequenceNumber : 8
SentAt : 7/14/2017 4:54:51 PM
ReceivedAt : 7/14/2017 4:55:14 PM
TTL : Infinite
Description : Fabric node is up.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
Verlopen van certificaat
System.FabricNode meldt een waarschuwing wanneer certificaten die door het knooppunt worden gebruikt bijna verlopen zijn. Er zijn drie certificaten per knooppunt: Certificate_cluster, Certificate_server en Certificate_default_client. Wanneer de vervaldatum ten minste twee weken weg is, is de status van het rapport OK. Wanneer de vervaldatum binnen twee weken valt, is het rapporttype een waarschuwing. TTL van deze gebeurtenissen is oneindig en worden verwijderd wanneer een knooppunt het cluster verlaat.
- SourceId: System.FabricNode
- Eigenschap: Begint met Certificaat en bevat meer informatie over het certificaattype.
- Volgende stappen: Werk de certificaten bij als ze bijna verlopen zijn.
Schending van belastingcapaciteit
De Service Fabric Load Balancer rapporteert een waarschuwing wanneer een knooppuntcapaciteitsschending wordt gedetecteerd.
- SourceId: System.PLB
- Eigenschap: Begint met Capaciteit.
- Volgende stappen: Controleer de opgegeven metrische gegevens en bekijk de huidige capaciteit op het knooppunt.
Knooppuntcapaciteit komt niet overeen voor metrische gegevens over resourcebeheer
System.Hosting rapporteert een waarschuwing als gedefinieerde knooppuntcapaciteiten in het clustermanifest groter zijn dan de werkelijke knooppuntcapaciteiten voor metrische gegevens over resourcebeheer (geheugen- en CPU-kernen). Er wordt een statusrapport weergegeven wanneer het eerste servicepakket dat gebruikmaakt van resourcegovernanceregisters op een opgegeven knooppunt wordt weergegeven.
- SourceId: System.Hosting
- Eigenschap: ResourceGovernance.
- Volgende stappen: Dit probleem kan een probleem zijn omdat het beheren van servicepakketten niet zoals verwacht wordt afgedwongen en resourcebeheer niet goed werkt. Werk het clustermanifest bij met de juiste knooppuntcapaciteiten voor deze metrische gegevens of geef ze niet op en laat Service Fabric automatisch beschikbare resources detecteren.
Statusrapporten van toepassingssysteem
System.CM, die de Cluster Manager-service vertegenwoordigt, is de instantie die informatie over een toepassing beheert.
Provincie
System.CM rapporten als OK wanneer de toepassing is gemaakt of bijgewerkt. Hiermee wordt het statusarchief geïnformeerd wanneer de toepassing wordt verwijderd, zodat deze uit de store kan worden verwijderd.
- SourceId: System.CM
- Eigenschap: Staat.
- Volgende stappen: Als de toepassing is gemaakt of bijgewerkt, moet deze het statusrapport clusterbeheer bevatten. Anders controleert u de status van de toepassing door een query uit te geven. Gebruik bijvoorbeeld de PowerShell-cmdlet Get-ServiceFabricApplication -ApplicationName applicationName.
In het volgende voorbeeld ziet u de status gebeurtenis in de fabric:/WordCount-toepassing :
PS C:\> Get-ServiceFabricApplicationHealth fabric:/WordCount -ServicesFilter None -DeployedApplicationsFilter None -ExcludeHealthStatistics
ApplicationName : fabric:/WordCount
AggregatedHealthState : Ok
ServiceHealthStates : None
DeployedApplicationHealthStates : None
HealthEvents :
SourceId : System.CM
Property : State
HealthState : Ok
SequenceNumber : 282
SentAt : 7/13/2017 5:57:05 PM
ReceivedAt : 7/14/2017 4:55:10 PM
TTL : Infinite
Description : Application has been created.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/13/2017 5:57:05 PM, LastWarning = 1/1/0001 12:00:00 AM
Servicesysteemstatusrapporten
System.FM, die de Failover Manager-service vertegenwoordigt, is de instantie die informatie over services beheert.
Provincie
System.FM rapporten als OK wanneer de service is gemaakt. De entiteit wordt verwijderd uit het statusarchief wanneer de service wordt verwijderd.
- SourceId: System.FM
- Eigenschap: Staat.
In het volgende voorbeeld ziet u de status gebeurtenis in de service fabric:/WordCount/WordCountWebService:
PS C:\> Get-ServiceFabricServiceHealth fabric:/WordCount/WordCountWebService -ExcludeHealthStatistics
ServiceName : fabric:/WordCount/WordCountWebService
AggregatedHealthState : Ok
PartitionHealthStates :
PartitionId : 8bbcd03a-3a53-47ec-a5f1-9b77f73c53b2
AggregatedHealthState : Ok
HealthEvents :
SourceId : System.FM
Property : State
HealthState : Ok
SequenceNumber : 14
SentAt : 7/13/2017 5:57:05 PM
ReceivedAt : 7/14/2017 4:55:10 PM
TTL : Infinite
Description : Service has been created.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/13/2017 5:57:18 PM, LastWarning = 1/1/0001 12:00:00 AM
Fout in servicecorrelatie
System.PLB meldt een fout wanneer wordt gedetecteerd dat het bijwerken van een service is gecorreleerd met een andere service die een affiniteitsketen maakt. Het rapport wordt gewist wanneer er een geslaagde update plaatsvindt.
- SourceId: System.PLB
- Eigenschap: ServiceDescription.
- Volgende stappen: Controleer de gecorreleerde servicebeschrijvingen.
Statusrapporten van het systeem partitioneren
System.FM, die de Failover Manager-service vertegenwoordigt, is de instantie die informatie over servicepartities beheert.
Provincie
System.FM rapporten als OK wanneer de partitie is gemaakt en in orde is. De entiteit wordt verwijderd uit het statusarchief wanneer de partitie wordt verwijderd.
Als de partitie lager is dan het minimale aantal replica's, wordt er een fout gerapporteerd. Als de partitie niet onder het minimumaantal replica's ligt, maar onder het aantal doelreplica's ligt, wordt er een waarschuwing gerapporteerd. Als de partitie in quorumverlies is, System.FM een fout rapporteert.
Andere belangrijke gebeurtenissen bevatten een waarschuwing wanneer de herconfiguratie langer duurt dan verwacht en wanneer de build langer duurt dan verwacht. De verwachte tijden voor de build en herconfiguratie kunnen worden geconfigureerd op basis van de servicescenario's. Als een service bijvoorbeeld een terabyte status heeft, zoals Azure SQL Database, duurt de build langer dan voor een service met een kleine hoeveelheid status.
- SourceId: System.FM
- Eigenschap: Staat.
- Volgende stappen: Als de status niet in orde is, is het mogelijk dat sommige replica's niet correct zijn gemaakt, geopend of gepromoveerd naar primair of secundair.
Als in de beschrijving het quorumverlies wordt beschreven, bekijkt u het gedetailleerde statusrapport voor replica's die niet beschikbaar zijn en brengt u ze terug naar boven om de partitie weer online te brengen.
Als in de beschrijving een partitie wordt beschreven die vastgelopen is in herconfiguratie, geeft het statusrapport op de primaire replica aanvullende informatie.
Voor andere System.FM statusrapporten zijn er rapporten over de replica's of de partitie of service van andere systeemonderdelen.
In de volgende voorbeelden worden enkele van deze rapporten beschreven.
In het volgende voorbeeld ziet u een partitie die in orde is:
PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountWebService | Get-ServiceFabricPartitionHealth -ExcludeHealthStatistics -ReplicasFilter None
PartitionId : 8bbcd03a-3a53-47ec-a5f1-9b77f73c53b2
AggregatedHealthState : Ok
ReplicaHealthStates : None
HealthEvents :
SourceId : System.FM
Property : State
HealthState : Ok
SequenceNumber : 70
SentAt : 7/13/2017 5:57:05 PM
ReceivedAt : 7/14/2017 4:55:10 PM
TTL : Infinite
Description : Partition is healthy.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/13/2017 5:57:18 PM, LastWarning = 1/1/0001 12:00:00 AM
In het volgende voorbeeld ziet u de status van een partitie die lager is dan het aantal doelreplica's. De volgende stap is het ophalen van de partitiebeschrijving, die laat zien hoe deze is geconfigureerd: MinReplicaSetSize is drie en TargetReplicaSetSize is zeven. Haal vervolgens het aantal knooppunten op in het cluster, wat in dit geval vijf is. In dit geval kunnen er dus geen twee replica's worden geplaatst, omdat het doelaantal replica's hoger is dan het aantal beschikbare knooppunten.
PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountService | Get-ServiceFabricPartitionHealth -ReplicasFilter None -ExcludeHealthStatistics
PartitionId : af2e3e44-a8f8-45ac-9f31-4093eb897600
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.FM', Property='State', HealthState='Warning', ConsiderWarningAsError=false.
ReplicaHealthStates : None
HealthEvents :
SourceId : System.FM
Property : State
HealthState : Warning
SequenceNumber : 123
SentAt : 7/14/2017 4:55:39 PM
ReceivedAt : 7/14/2017 4:55:44 PM
TTL : Infinite
Description : Partition is below target replica or instance count.
fabric:/WordCount/WordCountService 7 2 af2e3e44-a8f8-45ac-9f31-4093eb897600
N/S Ready _Node_2 131444422260002646
N/S Ready _Node_4 131444422293113678
N/S Ready _Node_3 131444422293113679
N/S Ready _Node_1 131444422293118720
N/P Ready _Node_0 131444422293118721
(Showing 5 out of 5 replicas. Total available replicas: 5)
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 7/14/2017 4:55:44 PM, LastOk = 1/1/0001 12:00:00 AM
SourceId : System.PLB
Property : ServiceReplicaUnplacedHealth_Secondary_af2e3e44-a8f8-45ac-9f31-4093eb897600
HealthState : Warning
SequenceNumber : 131445250939703027
SentAt : 7/14/2017 4:58:13 PM
ReceivedAt : 7/14/2017 4:58:14 PM
TTL : 00:01:05
Description : The Load Balancer was unable to find a placement for one or more of the Service's Replicas:
Secondary replica could not be placed due to the following constraints and properties:
TargetReplicaSetSize: 7
Placement Constraint: N/A
Parent Service: N/A
Constraint Elimination Sequence:
Existing Secondary Replicas eliminated 4 possible node(s) for placement -- 1/5 node(s) remain.
Existing Primary Replica eliminated 1 possible node(s) for placement -- 0/5 node(s) remain.
Nodes Eliminated By Constraints:
Existing Secondary Replicas -- Nodes with Partition's Existing Secondary Replicas/Instances:
--
FaultDomain:fd:/4 NodeName:_Node_4 NodeType:NodeType4 UpgradeDomain:4 UpgradeDomain: ud:/4 Deactivation Intent/Status: None/None
FaultDomain:fd:/3 NodeName:_Node_3 NodeType:NodeType3 UpgradeDomain:3 UpgradeDomain: ud:/3 Deactivation Intent/Status: None/None
FaultDomain:fd:/2 NodeName:_Node_2 NodeType:NodeType2 UpgradeDomain:2 UpgradeDomain: ud:/2 Deactivation Intent/Status: None/None
FaultDomain:fd:/1 NodeName:_Node_1 NodeType:NodeType1 UpgradeDomain:1 UpgradeDomain: ud:/1 Deactivation Intent/Status: None/None
Existing Primary Replica -- Nodes with Partition's Existing Primary Replica or Secondary Replicas:
--
FaultDomain:fd:/0 NodeName:_Node_0 NodeType:NodeType0 UpgradeDomain:0 UpgradeDomain: ud:/0 Deactivation Intent/Status: None/None
RemoveWhenExpired : True
IsExpired : False
Transitions : Error->Warning = 7/14/2017 4:56:14 PM, LastOk = 1/1/0001 12:00:00 AM
PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountService | select MinReplicaSetSize,TargetReplicaSetSize
MinReplicaSetSize TargetReplicaSetSize
----------------- --------------------
2 7
PS C:\> @(Get-ServiceFabricNode).Count
5
In het volgende voorbeeld ziet u de status van een partitie die is vastgelopen in herconfiguratie omdat de gebruiker het annuleringstoken niet naleeft in de Methode RunAsync . Het onderzoeken van het statusrapport van een replica die is gemarkeerd als primair (P), kan helpen om verder in te zoomen op het probleem.
PS C:\utilities\ServiceFabricExplorer\ClientPackage\lib> Get-ServiceFabricPartitionHealth 0e40fd81-284d-4be4-a665-13bc5a6607ec -ExcludeHealthStatistics
PartitionId : 0e40fd81-284d-4be4-a665-13bc5a6607ec
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.FM', Property='State', HealthState='Warning',
ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.FM
Property : State
HealthState : Warning
SequenceNumber : 7
SentAt : 8/27/2017 3:43:09 AM
ReceivedAt : 8/27/2017 3:43:32 AM
TTL : Infinite
Description : Partition reconfiguration is taking longer than expected.
fabric:/app/test1 3 1 0e40fd81-284d-4be4-a665-13bc5a6607ec
P/S Ready Node1 131482789658160654
S/P Ready Node2 131482789688598467
S/S Ready Node3 131482789688598468
(Showing 3 out of 3 replicas. Total available replicas: 3)
For more information see: https://aka.ms/sfhealth
RemoveWhenExpired : False
IsExpired : False
Transitions : Ok->Warning = 8/27/2017 3:43:32 AM, LastError = 1/1/0001 12:00:00 AM
In dit statusrapport ziet u de status van de replica's van de partitie die opnieuw worden geconfigureerd:
P/S Ready Node1 131482789658160654
S/P Ready Node2 131482789688598467
S/S Ready Node3 131482789688598468
Voor elke replica bevat het statusrapport:
- Vorige configuratierol
- Huidige configuratierol
- Replicastatus
- Knooppunt waarop de replica wordt uitgevoerd
- Replica-id
In een geval zoals in het voorbeeld is nader onderzoek nodig. Onderzoek de status van elke afzonderlijke replica die begint met de replica's die zijn gemarkeerd als Primary
en Secondary
(131482789658160654 en 131482789688598467) in het vorige voorbeeld.
Schending van replicabeperking
System.PLB meldt een waarschuwing als er een schending van de replicabeperking wordt gedetecteerd en niet alle partitiereplica's kunnen worden geplaatst. In de rapportdetails ziet u welke beperkingen en eigenschappen de plaatsing van replica's verhinderen.
- SourceId: System.PLB
- Eigenschap: Begint met ReplicaConstraintViolation.
Statusrapporten van replicasysteem
System.RA, dat het onderdeel van de herconfiguratieagent vertegenwoordigt, is de instantie voor de replicastatus.
Provincie
System.RA rapporteert OK wanneer de replica is gemaakt.
- SourceId: System.RA
- Eigenschap: Staat.
In het volgende voorbeeld ziet u een goede replica:
PS C:\> Get-ServiceFabricPartition fabric:/WordCount/WordCountService | Get-ServiceFabricReplica | where {$_.ReplicaRole -eq "Primary"} | Get-ServiceFabricReplicaHealth
PartitionId : af2e3e44-a8f8-45ac-9f31-4093eb897600
ReplicaId : 131444422293118721
AggregatedHealthState : Ok
HealthEvents :
SourceId : System.RA
Property : State
HealthState : Ok
SequenceNumber : 131445248920273536
SentAt : 7/14/2017 4:54:52 PM
ReceivedAt : 7/14/2017 4:55:13 PM
TTL : Infinite
Description : Replica has been created._Node_0
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:13 PM, LastWarning = 1/1/0001 12:00:00 AM
ReplicaOpenStatus, ReplicaCloseStatus, ReplicaChangeRoleStatus
Deze eigenschap wordt gebruikt om waarschuwingen of fouten aan te geven bij het openen van een replica, het sluiten van een replica of het overzetten van een replica van de ene rol naar de andere. Zie De levenscyclus van replica's voor meer informatie. De fouten kunnen uitzonderingen zijn van de API-aanroepen of crashes van het servicehostproces gedurende deze tijd. Voor fouten vanwege API-aanroepen vanuit C#-code voegt Service Fabric de uitzondering en stacktracering toe aan het statusrapport.
Deze statuswaarschuwingen worden gegenereerd nadat u de actie lokaal opnieuw hebt geprobeerd (afhankelijk van het beleid). Service Fabric probeert de actie opnieuw uit te voeren tot een maximumdrempel. Nadat de maximumdrempel is bereikt, kan worden geprobeerd om de situatie te corrigeren. Deze poging kan ertoe leiden dat deze waarschuwingen worden gewist omdat deze de actie op dit knooppunt opgeeft. Als een replica bijvoorbeeld niet kan worden geopend op een knooppunt, geeft Service Fabric een statuswaarschuwing. Als de replica niet kan worden geopend, handelt Service Fabric voor zelfherstel. Deze actie kan betrekking hebben op dezelfde bewerking op een ander knooppunt. Deze poging zorgt ervoor dat de waarschuwing voor deze replica wordt gewist.
- SourceId: System.RA
- Eigenschap: ReplicaOpenStatus, ReplicaCloseStatus en ReplicaChangeRoleStatus.
- Volgende stappen: Onderzoek de servicecode of crashdumps om te bepalen waarom de bewerking mislukt.
In het volgende voorbeeld ziet u de status van een replica die van de geopende methode wordt gegooid TargetInvocationException
. De beschrijving bevat het foutpunt, IStatefulServiceReplica.Open, het uitzonderingstype TargetInvocationException en de stack-trace.
PS C:\> Get-ServiceFabricReplicaHealth -PartitionId 337cf1df-6cab-4825-99a9-7595090c0b1b -ReplicaOrInstanceId 131483509874784794
PartitionId : 337cf1df-6cab-4825-99a9-7595090c0b1b
ReplicaId : 131483509874784794
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.RA', Property='ReplicaOpenStatus', HealthState='Warning',
ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RA
Property : ReplicaOpenStatus
HealthState : Warning
SequenceNumber : 131483510001453159
SentAt : 8/27/2017 11:43:20 PM
ReceivedAt : 8/27/2017 11:43:21 PM
TTL : Infinite
Description : Replica had multiple failures during open on _Node_0 API call: IStatefulServiceReplica.Open(); Error = System.Reflection.TargetInvocationException (-2146232828)
Exception has been thrown by the target of an invocation.
at Microsoft.ServiceFabric.Replicator.RecoveryManager.d__31.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceFabric.Replicator.LoggingReplicator.d__137.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceFabric.Replicator.DynamicStateManager.d__109.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceFabric.Replicator.TransactionalReplicator.d__79.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceFabric.Replicator.StatefulServiceReplica.d__21.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ServiceFabric.Services.Runtime.StatefulServiceReplicaAdapter.d__0.MoveNext()
For more information see: https://aka.ms/sfhealth
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 8/27/2017 11:43:21 PM, LastOk = 1/1/0001 12:00:00 AM
In het volgende voorbeeld ziet u een replica die voortdurend vastloopt tijdens het sluiten:
C:>Get-ServiceFabricReplicaHealth -PartitionId dcafb6b7-9446-425c-8b90-b3fdf3859e64 -ReplicaOrInstanceId 131483565548493142
PartitionId : dcafb6b7-9446-425c-8b90-b3fdf3859e64
ReplicaId : 131483565548493142
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.RA', Property='ReplicaCloseStatus', HealthState='Warning',
ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RA
Property : ReplicaCloseStatus
HealthState : Warning
SequenceNumber : 131483565611258984
SentAt : 8/28/2017 1:16:01 AM
ReceivedAt : 8/28/2017 1:16:03 AM
TTL : Infinite
Description : Replica had multiple failures during close on _Node_1. The application
host has crashed.
For more information see: https://aka.ms/sfhealth
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 8/28/2017 1:16:03 AM, LastOk = 1/1/0001 12:00:00 AM
Herconfiguratie
Deze eigenschap wordt gebruikt om aan te geven wanneer een replica die een herconfiguratie uitvoert detecteert dat de herconfiguratie is vastgelopen of vastgelopen. Dit statusrapport bevindt zich mogelijk op de replica waarvan de huidige rol primair is, behalve in het geval van een wisselen van primaire herconfiguratie, waarbij deze zich mogelijk op de replica bevindt die wordt gedegradeerd van primaire naar actieve secundaire replica.
De herconfiguratie kan om een van de volgende redenen vastlopen:
Een actie op de lokale replica, dezelfde replica als de replica die de herconfiguratie uitvoert, wordt niet voltooid. In dit geval kan het onderzoeken van de statusrapporten op deze replica van andere onderdelen, System.RAP of System.RE, aanvullende informatie bieden.
Een actie wordt niet voltooid op een externe replica. Replica's waarvoor acties in behandeling zijn, worden weergegeven in het statusrapport. Verder onderzoek moet worden uitgevoerd op statusrapporten voor deze externe replica's. Er kunnen ook communicatieproblemen zijn tussen dit knooppunt en het externe knooppunt.
In zeldzame gevallen kan de herconfiguratie vastlopen vanwege communicatie of andere problemen tussen dit knooppunt en de Failover Manager-service.
- SourceId: System.RA
- Eigenschap: Herconfiguratie.
- Volgende stappen: Lokale of externe replica's onderzoeken, afhankelijk van de beschrijving van het statusrapport.
In het volgende voorbeeld ziet u een statusrapport waarin een herconfiguratie is vastgelopen op de lokale replica. In dit voorbeeld is dit het gevolg van een service die het annuleringstoken niet nakomt.
PS C:\> Get-ServiceFabricReplicaHealth -PartitionId 9a0cedee-464c-4603-abbc-1cf57c4454f3 -ReplicaOrInstanceId 131483600074836703
PartitionId : 9a0cedee-464c-4603-abbc-1cf57c4454f3
ReplicaId : 131483600074836703
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.RA', Property='Reconfiguration', HealthState='Warning',
ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RA
Property : Reconfiguration
HealthState : Warning
SequenceNumber : 131483600309264482
SentAt : 8/28/2017 2:13:50 AM
ReceivedAt : 8/28/2017 2:13:57 AM
TTL : Infinite
Description : Reconfiguration is stuck. Waiting for response from the local replica
For more information see: https://aka.ms/sfhealth
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 8/28/2017 2:13:57 AM, LastOk = 1/1/0001 12:00:00 AM
In het volgende voorbeeld ziet u een statusrapport waarin een herconfiguratie vastloopt op een reactie van twee externe replica's. In dit voorbeeld bevinden zich drie replica's in de partitie, inclusief de huidige primaire replica.
PS C:\> Get-ServiceFabricReplicaHealth -PartitionId 579d50c6-d670-4d25-af70-d706e4bc19a2 -ReplicaOrInstanceId 131483956274977415
PartitionId : 579d50c6-d670-4d25-af70-d706e4bc19a2
ReplicaId : 131483956274977415
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.RA', Property='Reconfiguration', HealthState='Warning', ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RA
Property : Reconfiguration
HealthState : Warning
SequenceNumber : 131483960376212469
SentAt : 8/28/2017 12:13:57 PM
ReceivedAt : 8/28/2017 12:14:07 PM
TTL : Infinite
Description : Reconfiguration is stuck. Waiting for response from 2 replicas
Pending Replicas:
P/I Down 40 131483956244554282
S/S Down 20 131483956274972403
For more information see: https://aka.ms/sfhealth
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 8/28/2017 12:07:37 PM, LastOk = 1/1/0001 12:00:00 AM
Dit statusrapport laat zien dat de herconfiguratie vastloopt op een reactie van twee replica's:
P/I Down 40 131483956244554282
S/S Down 20 131483956274972403
Voor elke replica krijgt u de volgende informatie:
- Vorige configuratierol
- Huidige configuratierol
- Replicastatus
- Knooppunt-id
- Replica-id
De herconfiguratie opheffen:
- De onderste replica's moeten omhoog worden gebracht.
- De inbuildreplica's moeten de build en overgang naar gereed voltooien.
Api-aanroep voor trage service
System.RAP en System.Replicator melden een waarschuwing als een aanroep van de gebruikersservicecode langer duurt dan de geconfigureerde tijd. De waarschuwing wordt gewist wanneer de aanroep is voltooid.
- SourceId: System.RAP of System.Replicator
- Eigenschap: De naam van de trage API. De beschrijving bevat meer informatie over het tijdstip waarop de API in behandeling is.
- Volgende stappen: Onderzoeken waarom het gesprek langer duurt dan verwacht.
In het volgende voorbeeld ziet u de status van System.RAP voor een betrouwbare service die het annuleringstoken in RunAsync niet nakomt:
PS C:\> Get-ServiceFabricReplicaHealth -PartitionId 5f6060fb-096f-45e4-8c3d-c26444d8dd10 -ReplicaOrInstanceId 131483966141404693
PartitionId : 5f6060fb-096f-45e4-8c3d-c26444d8dd10
ReplicaId : 131483966141404693
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.RA', Property='Reconfiguration', HealthState='Warning', ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RAP
Property : IStatefulServiceReplica.ChangeRole(S)Duration
HealthState : Warning
SequenceNumber : 131483966663476570
SentAt : 8/28/2017 12:24:26 PM
ReceivedAt : 8/28/2017 12:24:56 PM
TTL : Infinite
Description : The api IStatefulServiceReplica.ChangeRole(S) on _Node_1 is stuck. Start Time (UTC): 2017-08-28 12:23:56.347.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Warning = 8/28/2017 12:24:56 PM, LastOk = 1/1/0001 12:00:00 AM
De eigenschap en tekst geven aan welke API is vastgelopen. De volgende stappen voor verschillende vastgelopen API's zijn verschillend. Elke API op de IStatefulServiceReplica of IStatelessServiceInstance is meestal een fout in de servicecode. In de volgende sectie wordt beschreven hoe deze worden omgezet in het Reliable Services-model:
IStatefulServiceReplica.Open: deze waarschuwing geeft aan dat een aanroep naar
CreateServiceInstanceListeners
,ICommunicationListener.OpenAsync
of indien overschreven,OnOpenAsync
vastloopt.IStatefulServiceReplica.Close en IStatefulServiceReplica.Abort: Het meest voorkomende geval is een service die het annuleringstoken niet nakomt dat is doorgegeven aan
RunAsync
. Het kan ook zijn datICommunicationListener.CloseAsync
, of als deze is overschreven,OnCloseAsync
vastloopt.IStatefulServiceReplica.ChangeRole(S) en IStatefulServiceReplica.ChangeRole(N): Het meest voorkomende geval is een service die het annuleringstoken niet naleeft dat is doorgegeven aan
RunAsync
. In dit scenario is de beste oplossing om de replica opnieuw op te starten.IStatefulServiceReplica.ChangeRole(P): Het meest voorkomende geval is dat de service geen taak heeft geretourneerd van
RunAsync
.
Andere API-aanroepen die kunnen vastlopen, bevinden zich in de IReplicator-interface . Voorbeeld:
IReplicator.CatchupReplicaSet: Deze waarschuwing geeft een van de twee dingen aan. Er zijn onvoldoende replica's. Als u wilt zien of dit het geval is, bekijkt u de replicastatus van de replica's in de partitie of het System.FM statusrapport voor een vastgelopen herconfiguratie. Of de replica's bevestigen geen bewerkingen. De PowerShell-cmdlet
Get-ServiceFabricDeployedReplicaDetail
kan worden gebruikt om de voortgang van alle replica's te bepalen. Het probleem ligt bij replica's waarvanLastAppliedReplicationSequenceNumber
de waarde zich achter de primaireCommittedSequenceNumber
waarde bevindt.IReplicator.BuildReplica(<Remote ReplicaId>): deze waarschuwing geeft een probleem aan in het buildproces. Zie De levenscyclus van replica's voor meer informatie. Dit kan het gevolg zijn van een onjuiste configuratie van het replicatoradres. Zie Stateful Reliable Services configureren en resources opgeven in een servicemanifest voor meer informatie. Het kan ook een probleem zijn op het externe knooppunt.
Statusrapporten van replicatorsysteem
Replicatiewachtrij vol:System.Replicator meldt een waarschuwing wanneer de replicatiewachtrij vol is. De replicatiewachtrij wordt meestal vol omdat een of meer secundaire replica's traag zijn om bewerkingen te bevestigen. Dit gebeurt meestal wanneer de service traag is om de bewerkingen toe te passen. De waarschuwing wordt gewist wanneer de wachtrij niet meer vol is.
- SourceId: System.Replicator
- Eigenschap: PrimaryReplicationQueueStatus of SecondaryReplicationQueueStatus, afhankelijk van de replicarol.
- Volgende stappen: Als het rapport zich op de primaire server bevindt, controleert u de verbinding tussen de knooppunten in het cluster. Als alle verbindingen in orde zijn, is er mogelijk ten minste één trage secundaire met een hoge schijflatentie om bewerkingen toe te passen. Als het rapport zich op de secundaire bevindt, controleert u eerst het schijfgebruik en de prestaties op het knooppunt. Controleer vervolgens de uitgaande verbinding van het trage knooppunt naar de primaire.
RemoteReplicatorConnectionStatus:System.Replicator op de primaire replica rapporteert een waarschuwing wanneer de verbinding met een secundaire (externe) replicator niet in orde is. Het adres van de externe replicator wordt weergegeven in het bericht van het rapport, waardoor het handiger is om te detecteren of de verkeerde configuratie is doorgegeven of als er netwerkproblemen zijn tussen de replicators.
- SourceId: System.Replicator
- Eigenschap: RemoteReplicatorConnectionStatus.
- Volgende stappen: Controleer het foutbericht en controleer of het externe replicatoradres juist is geconfigureerd. Als de externe replicator bijvoorbeeld wordt geopend met het listenadres 'localhost', is deze niet bereikbaar vanaf de buitenkant. Als het adres er correct uitziet, controleert u de verbinding tussen het primaire knooppunt en het externe adres om potentiële netwerkproblemen te vinden.
Replicatiewachtrij vol
System.Replicator meldt een waarschuwing wanneer de replicatiewachtrij vol is. De replicatiewachtrij wordt meestal vol omdat een of meer secundaire replica's traag zijn om bewerkingen te bevestigen. Dit gebeurt meestal wanneer de service traag is om de bewerkingen toe te passen. De waarschuwing wordt gewist wanneer de wachtrij niet meer vol is.
- SourceId: System.Replicator
- Eigenschap: PrimaryReplicationQueueStatus of SecondaryReplicationQueueStatus, afhankelijk van de replicarol.
Trage naamgevingsbewerkingen
System.NamingService rapporteert de status van de primaire replica wanneer een naamgevingsbewerking langer duurt dan acceptabel is. Voorbeelden van naamgevingsbewerkingen zijn CreateServiceAsync of DeleteServiceAsync. Meer methoden vindt u onder FabricClient. Ze zijn bijvoorbeeld te vinden onder methoden voor servicebeheer of methoden voor eigenschapsbeheer.
Notitie
Met de naamgevingsservice worden servicenamen omgezet in een locatie in het cluster. Gebruikers kunnen deze gebruiken om servicenamen en eigenschappen te beheren. Het is een service die is gepartitioneerd en persistent. Een van de partities vertegenwoordigt de instantie-eigenaar, die metagegevens bevat over alle Service Fabric-namen en -services. De Service Fabric-namen worden toegewezen aan verschillende partities, genaamd Naameigenaarpartities , zodat de service uitbreidbaar is. Lees meer over de naamgevingsservice.
Wanneer een naamgevingsbewerking langer duurt dan verwacht, wordt de bewerking gemarkeerd met een waarschuwingsrapport op de primaire replica van de naamgevingsservicepartitie die de bewerking dient. Als de bewerking is voltooid, wordt de waarschuwing gewist. Als de bewerking is voltooid met een fout, bevat het statusrapport details over de fout.
- SourceId: System.NamingService
- Eigenschap: Begint met het voorvoegsel 'Duration_' en identificeert de trage bewerking en de Service Fabric-naam waarop de bewerking wordt toegepast. Als het maken van een service bijvoorbeeld bij name fabric:/MyApp/MyService te lang duurt, is de eigenschap Duration_AOCreateService.fabric:/MyApp/MyService. 'AO' verwijst naar de rol van de naamgevingspartitie voor deze naam en bewerking.
- Volgende stappen: Controleer waarom de naamgevingsbewerking mislukt. Elke bewerking kan verschillende hoofdoorzaken hebben. De verwijderservice kan bijvoorbeeld vastlopen. De service is mogelijk vastgelopen omdat de toepassingshost vastloopt op een knooppunt vanwege een gebruikersfout in de servicecode.
In het volgende voorbeeld ziet u een bewerking voor het maken van een service. De bewerking duurde langer dan de geconfigureerde duur. 'AO' probeert opnieuw en verzendt werk naar 'NEE'. 'NEE' voltooide de laatste bewerking met TIMEOUT. In dit geval is dezelfde replica primair voor zowel de rollen AO als NEE.
PartitionId : 00000000-0000-0000-0000-000000001000
ReplicaId : 131064359253133577
AggregatedHealthState : Warning
UnhealthyEvaluations :
Unhealthy event: SourceId='System.NamingService', Property='Duration_AOCreateService.fabric:/MyApp/MyService', HealthState='Warning', ConsiderWarningAsError=false.
HealthEvents :
SourceId : System.RA
Property : State
HealthState : Ok
SequenceNumber : 131064359308715535
SentAt : 4/29/2016 8:38:50 PM
ReceivedAt : 4/29/2016 8:39:08 PM
TTL : Infinite
Description : Replica has been created.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 4/29/2016 8:39:08 PM, LastWarning = 1/1/0001 12:00:00 AM
SourceId : System.NamingService
Property : Duration_AOCreateService.fabric:/MyApp/MyService
HealthState : Warning
SequenceNumber : 131064359526778775
SentAt : 4/29/2016 8:39:12 PM
ReceivedAt : 4/29/2016 8:39:38 PM
TTL : 00:05:00
Description : The AOCreateService started at 2016-04-29 20:39:08.677 is taking longer than 30.000.
RemoveWhenExpired : True
IsExpired : False
Transitions : Error->Warning = 4/29/2016 8:39:38 PM, LastOk = 1/1/0001 12:00:00 AM
SourceId : System.NamingService
Property : Duration_NOCreateService.fabric:/MyApp/MyService
HealthState : Warning
SequenceNumber : 131064360657607311
SentAt : 4/29/2016 8:41:05 PM
ReceivedAt : 4/29/2016 8:41:08 PM
TTL : 00:00:15
Description : The NOCreateService started at 2016-04-29 20:39:08.689 completed with FABRIC_E_TIMEOUT in more than 30.000.
RemoveWhenExpired : True
IsExpired : False
Transitions : Error->Warning = 4/29/2016 8:39:38 PM, LastOk = 1/1/0001 12:00:00 AM
Statusrapporten van het geïmplementeerdeapplication-systeem
System.Hosting is de instantie voor geïmplementeerde entiteiten.
Activering
System.Hosting rapporteert als OK wanneer een toepassing is geactiveerd op het knooppunt. Anders wordt er een fout gerapporteerd.
- SourceId: System.Hosting
- Eigenschap: Activering, inclusief de implementatieversie.
- Volgende stappen: Als de toepassing niet in orde is, onderzoekt u waarom de activering is mislukt.
In het volgende voorbeeld ziet u een geslaagde activering:
PS C:\> Get-ServiceFabricDeployedApplicationHealth -NodeName _Node_1 -ApplicationName fabric:/WordCount -ExcludeHealthStatistics
ApplicationName : fabric:/WordCount
NodeName : _Node_1
AggregatedHealthState : Ok
DeployedServicePackageHealthStates :
ServiceManifestName : WordCountServicePkg
ServicePackageActivationId :
NodeName : _Node_1
AggregatedHealthState : Ok
HealthEvents :
SourceId : System.Hosting
Property : Activation
HealthState : Ok
SequenceNumber : 131445249083836329
SentAt : 7/14/2017 4:55:08 PM
ReceivedAt : 7/14/2017 4:55:14 PM
TTL : Infinite
Description : The application was activated successfully.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
Downloaden
System.Hosting meldt een fout als het downloaden van het toepassingspakket mislukt.
- SourceId: System.Hosting
- Eigenschap: Downloaden, inclusief de implementatieversie.
- Volgende stappen: Onderzoeken waarom het downloaden op het knooppunt is mislukt.
Statusrapporten van het GeïmplementeerdServicePackage-systeem
System.Hosting is de instantie voor geïmplementeerde entiteiten.
Activering van servicepakketten
System.Hosting rapporteert als OK als de activering van het servicepakket op het knooppunt is geslaagd. Anders wordt er een fout gerapporteerd.
- SourceId: System.Hosting
- Eigenschap: Activering.
- Volgende stappen: Onderzoeken waarom de activering is mislukt.
Activering van codepakket
System.Hosting rapporteert als OK voor elk codepakket als de activering is geslaagd. Als de activering mislukt, wordt er een waarschuwing gerapporteerd zoals geconfigureerd. Als CodePackage niet kan worden geactiveerd of beëindigd met een fout die groter is dan de geconfigureerde CodePackageHealthErrorThreshold, rapporteert hosting een fout. Als een servicepakket meerdere codepakketten bevat, wordt voor elk pakket een activeringsrapport gegenereerd.
- SourceId: System.Hosting
- Eigenschap: Gebruikt het voorvoegsel CodePackageActivation en bevat de naam van het codepakket en het toegangspunt als CodePackageActivation:CodePackageName:SetupEntryPoint/EntryPoint. Bijvoorbeeld CodePackageActivation:Code:SetupEntryPoint.
Registratie van servicetype
System.Hosting rapporteert als OK als het servicetype is geregistreerd. Er wordt een fout gerapporteerd als de registratie niet tijdig is uitgevoerd, zoals geconfigureerd met behulp van ServiceTypeRegistrationTimeout. Als de runtime is gesloten, wordt de registratie van het servicetype van het knooppunt opgehefd en wordt er een waarschuwing gerapporteerd door hosting.
- SourceId: System.Hosting
- Eigenschap: gebruikt het voorvoegsel ServiceTypeRegistration en bevat de naam van het servicetype. Bijvoorbeeld ServiceTypeRegistration:FileStoreServiceType.
In het volgende voorbeeld ziet u een goed geïmplementeerd servicepakket:
PS C:\> Get-ServiceFabricDeployedServicePackageHealth -NodeName _Node_1 -ApplicationName fabric:/WordCount -ServiceManifestName WordCountServicePkg
ApplicationName : fabric:/WordCount
ServiceManifestName : WordCountServicePkg
ServicePackageActivationId :
NodeName : _Node_1
AggregatedHealthState : Ok
HealthEvents :
SourceId : System.Hosting
Property : Activation
HealthState : Ok
SequenceNumber : 131445249084026346
SentAt : 7/14/2017 4:55:08 PM
ReceivedAt : 7/14/2017 4:55:14 PM
TTL : Infinite
Description : The ServicePackage was activated successfully.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
SourceId : System.Hosting
Property : CodePackageActivation:Code:EntryPoint
HealthState : Ok
SequenceNumber : 131445249084306362
SentAt : 7/14/2017 4:55:08 PM
ReceivedAt : 7/14/2017 4:55:14 PM
TTL : Infinite
Description : The CodePackage was activated successfully.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
SourceId : System.Hosting
Property : ServiceTypeRegistration:WordCountServiceType
HealthState : Ok
SequenceNumber : 131445249088096842
SentAt : 7/14/2017 4:55:08 PM
ReceivedAt : 7/14/2017 4:55:14 PM
TTL : Infinite
Description : The ServiceType was registered successfully.
RemoveWhenExpired : False
IsExpired : False
Transitions : Error->Ok = 7/14/2017 4:55:14 PM, LastWarning = 1/1/0001 12:00:00 AM
Downloaden
System.Hosting meldt een fout als het downloaden van het servicepakket mislukt.
- SourceId: System.Hosting
- Eigenschap: Downloaden, inclusief de implementatieversie.
- Volgende stappen: Onderzoeken waarom het downloaden op het knooppunt is mislukt.
Upgradevalidatie
System.Hosting meldt een fout als de validatie tijdens de upgrade mislukt of als de upgrade op het knooppunt mislukt.
- SourceId: System.Hosting
- Eigenschap: Gebruikt het voorvoegsel FabricUpgradeValidation en bevat de upgradeversie.
- Beschrijving: verwijst naar de fout die is opgetreden.
Niet-gedefinieerde knooppuntcapaciteit voor metrische gegevens over resourcebeheer
System.Hosting rapporteert een waarschuwing als knooppuntcapaciteiten niet zijn gedefinieerd in het clustermanifest en de configuratie voor automatische detectie is uitgeschakeld. Service Fabric genereert een statuswaarschuwing wanneer het servicepakket dat gebruikmaakt van resourcegovernanceregisters op een opgegeven knooppunt.
- SourceId: System.Hosting
- Eigenschap: ResourceGovernance.
- Volgende stappen: De voorkeursmethode om dit probleem op te lossen, is door het clustermanifest te wijzigen om automatische detectie van beschikbare resources mogelijk te maken. Een andere manier is om het clustermanifest bij te werken met correct opgegeven knooppuntcapaciteiten voor deze metrische gegevens.