Delen via


sfctl chaos

Start, stop en rapporteer over de chaostestservice.

Subgroepen

Deelgroep Beschrijving
schedule Haal en stel het chaosschema in.

Opdracht

Opdracht Beschrijving
gebeurtenissen Hiermee haalt u het volgende segment van de Chaos-gebeurtenissen op op basis van het vervolgtoken of het tijdsbereik.
Toevoegen Haal de status van Chaos op.
starten Start Chaos in het cluster.
stoppen Stopt Chaos als deze wordt uitgevoerd in het cluster en de Chaos Schedule in een gestopte status plaatst.

sfctl chaos gebeurtenissen

Hiermee haalt u het volgende segment van de Chaos-gebeurtenissen op op basis van het vervolgtoken of het tijdsbereik.

Als u het volgende segment van de Chaos-gebeurtenissen wilt ophalen, kunt u het Vervolgtoken opgeven. Als u het begin van een nieuw segment chaos-gebeurtenissen wilt ophalen, kunt u het tijdsbereik opgeven via StartTimeUtc en EndTimeUtc. U kunt niet zowel het Vervolgtoken als het tijdsbereik in dezelfde aanroep opgeven. Wanneer er meer dan 100 Chaos-gebeurtenissen zijn, worden de Chaos-gebeurtenissen geretourneerd in meerdere segmenten waarin een segment niet meer dan 100 Chaos-gebeurtenissen bevat en om het volgende segment te verkrijgen dat u aanroept naar deze API met het vervolgtoken.

Argumenten

Argument Beschrijving
--vervolgtoken De vervolgtokenparameter wordt gebruikt om de volgende set resultaten te verkrijgen. Een vervolgtoken met een niet-lege waarde wordt opgenomen in het antwoord van de API wanneer de resultaten van het systeem niet in één antwoord passen. Wanneer deze waarde wordt doorgegeven aan de volgende API-aanroep, retourneert de API de volgende set resultaten. Als er geen verdere resultaten zijn, bevat het vervolgtoken geen waarde. De waarde van deze parameter mag niet url-gecodeerd zijn.
--end-time-utc De Windows-bestandstijd die de eindtijd van het tijdsbereik aangeeft waarvoor een Chaos-rapport moet worden gegenereerd. Raadpleeg de methode DateTime.ToFileTimeUtc voor meer informatie.
--max-results Het maximum aantal resultaten dat moet worden geretourneerd als onderdeel van de paginaquery's. Deze parameter definieert de bovengrens voor het aantal geretourneerde resultaten. De geretourneerde resultaten kunnen kleiner zijn dan de opgegeven maximumresultaten als ze niet in het bericht passen volgens de beperkingen voor maximale berichtgrootte die zijn gedefinieerd in de configuratie. Als deze parameter nul is of niet is opgegeven, bevat de gepaginade query zoveel mogelijk resultaten die in het retourbericht passen.
--start-time-utc De Windows-bestandstijd die de begintijd van het tijdsbereik aangeeft waarvoor een Chaos-rapport moet worden gegenereerd. Raadpleeg de methode DateTime.ToFileTimeUtc voor meer informatie.
--time-out -t De servertime-out voor het uitvoeren van de bewerking in seconden. Deze time-out geeft de tijdsduur aan die de client wil wachten tot de aangevraagde bewerking is voltooid. De standaardwaarde voor deze parameter is 60 seconden. Standaard: 60.

Globale argumenten

Argument Beschrijving
--debug Vergroot de uitgebreidheid van logboekregistratie om alle logboeken voor foutopsporing weer te geven.
--help -h Dit Help-bericht weergeven en afsluiten.
--output -o Uitvoerindeling. Toegestane waarden: json, jsonc, tabel, tsv. Standaard: json.
--vraag JMESPath-queryreeks. Zie http://jmespath.org/ voor meer informatie en voorbeelden.
--verbose Vergroot de uitgebreidheid van logboekregistratie. Gebruik --debug voor volledige foutopsporingslogboeken.

sfctl chaos get

Haal de status van Chaos op.

Haal de status van Chaos op die aangeeft of Chaos wordt uitgevoerd, de Chaos-parameters die worden gebruikt voor het uitvoeren van Chaos en de status van de Chaos-planning.

Argumenten

Argument Beschrijving
--time-out -t De servertime-out voor het uitvoeren van de bewerking in seconden. Deze time-out geeft de tijdsduur aan die de client wil wachten tot de aangevraagde bewerking is voltooid. De standaardwaarde voor deze parameter is 60 seconden. Standaard: 60.

Globale argumenten

Argument Beschrijving
--debug Vergroot de uitgebreidheid van logboekregistratie om alle logboeken voor foutopsporing weer te geven.
--help -h Dit Help-bericht weergeven en afsluiten.
--output -o Uitvoerindeling. Toegestane waarden: json, jsonc, tabel, tsv. Standaard: json.
--vraag JMESPath-queryreeks. Zie http://jmespath.org/ voor meer informatie en voorbeelden.
--verbose Vergroot de uitgebreidheid van logboekregistratie. Gebruik --debug voor volledige foutopsporingslogboeken.

sfctl chaos start

Start Chaos in het cluster.

Als Chaos nog niet wordt uitgevoerd in het cluster, wordt Chaos gestart met de parameters Chaos die is doorgegeven. Als Chaos al wordt uitgevoerd wanneer deze aanroep wordt uitgevoerd, mislukt de aanroep met de foutcode FABRIC_E_CHAOS_ALREADY_RUNNING. Raadpleeg het artikel Beheerde chaos in Service Fabric-clusters veroorzaken voor meer informatie.

Argumenten

Argument Beschrijving
--app-type-health-policy-map JSON gecodeerde matrix van woordenlijstvermeldingen (sleutel/waarde) met maximaal percentage beschadigde toepassingen voor specifieke toepassingstypen. Elke woordenlijstvermelding geeft aan als sleutel de naam van het toepassingstype en een geheel getal voor de waarde die het percentage MaxPercentUnhealthyApplications vertegenwoordigt dat wordt gebruikt om de toepassingen van het opgegeven toepassingstype te evalueren.

Hiermee definieert u een kaart met maximaal percentage beschadigde toepassingen voor specifieke toepassingstypen. De statusbeleidstoewijzing van het toepassingstype kan worden gebruikt tijdens de evaluatie van de clusterstatus om afzonderlijke toepassingstypen te beschrijven. De toepassingstypen die zijn opgenomen in de kaart, worden geëvalueerd op basis van het percentage dat is opgegeven in de kaart en niet met de globale MaxPercentUnhealthyApplications die zijn gedefinieerd in het clusterstatusbeleid. De toepassingen van toepassingstypen die zijn opgegeven in de kaart, worden niet meegeteld voor de globale groep toepassingen. Als sommige toepassingen van een type bijvoorbeeld kritiek zijn, kan de clusterbeheerder een vermelding toevoegen aan de kaart voor dat toepassingstype en deze een waarde van 0% toewijzen (geen fouten tolereren). Alle andere toepassingen kunnen worden geëvalueerd met MaxPercentUnhealthyApplications ingesteld op 20% om enkele fouten van de duizenden toepassingsexemplaren te tolereren. De statusbeleidstoewijzing van het toepassingstype wordt alleen gebruikt als het clustermanifest statusevaluatie van toepassingstypen inschakelt met behulp van de configuratievermelding voor HealthManager/EnableApplicationTypeHealthEvaluation.

Voorbeeld van JSON-gecodeerde tekenreeks: [{"key": "fabric:/Voting", "value": "0"}]
--chaos-target-filter In JSON gecodeerde woordenlijst met twee tekenreekstypesleutels. De twee sleutels zijn NodeTypeInclusionList en ApplicationInclusionList. Waarden voor beide sleutels zijn een lijst met tekenreeksen. chaos_target_filter definieert alle filters voor gerichte Chaos-fouten, bijvoorbeeld als er alleen bepaalde knooppunttypen in fouten worden opgelopen of alleen bepaalde toepassingen worden beschadigd.

Als chaos_target_filter niet wordt gebruikt, krijgt Chaos fouten in alle clusterentiteiten. Als chaos_target_filter wordt gebruikt, worden alleen de entiteiten die voldoen aan de specificatie van de chaos_target_filter, door Chaos defect. NodeTypeInclusionList en ApplicationInclusionList staan alleen semantiek van een samenvoeging toe. Het is niet mogelijk om een snijpunt van NodeTypeInclusionList en ApplicationInclusionList op te geven. Het is bijvoorbeeld niet mogelijk om 'deze toepassing alleen fout op te geven wanneer deze zich op dat knooppunttype bevindt'. Zodra een entiteit is opgenomen in NodeTypeInclusionList of ApplicationInclusionList, kan die entiteit niet worden uitgesloten met Behulp van ChaosTargetFilter. Zelfs als applicationX niet wordt weergegeven in ApplicationInclusionList, kan in sommige chaos-iteratietoepassingX worden beschadigd omdat deze zich op een knooppunt van nodeTypeY bevindt dat is opgenomen in NodeTypeInclusionList. Als zowel NodeTypeInclusionList als ApplicationInclusionList leeg zijn, wordt er een ArgumentException gegenereerd. Alle typen fouten (opnieuw opstarten van knooppunt, codepakket opnieuw opstarten, replica verwijderen, replica opnieuw opstarten, primaire verplaatsen en secundaire verplaatsen) zijn ingeschakeld voor de knooppunten van deze knooppunttypen. Als een knooppunttype (bijvoorbeeld NodeTypeX) niet wordt weergegeven in de NodeTypeInclusionList, worden fouten op knooppuntniveau (zoals NodeRestart) nooit ingeschakeld voor de knooppunten van NodeTypeX, maar kunnen codepakket- en replicafouten nog steeds worden ingeschakeld voor NodeTypeX als een toepassing in applicationInclusionList zich op een knooppunt van NodeTypeX bevindt. Maximaal 100 namen van knooppunttypen kunnen in deze lijst worden opgenomen om dit aantal te verhogen. Er is een configuratie-upgrade vereist voor de configuratie van MaxNumberOfNodeTypesInChaosEntityFilter. Alle replica's die behoren tot services van deze toepassingen, kunnen worden beheerd door replicafouten (replica opnieuw opstarten, replica verwijderen, primair verplaatsen en secundair verplaatsen) door Chaos. Chaos kan een codepakket alleen opnieuw opstarten als het codepakket alleen replica's van deze toepassingen host. Als een toepassing niet wordt weergegeven in deze lijst, kan er nog steeds een fout optreden in een chaos-iteratie als de toepassing terechtkomt op een knooppunt van een knooppunttype dat is opgenomen in NodeTypeInclusionList. Als applicationX echter is gekoppeld aan nodeTypeY via plaatsingsbeperkingen en applicationX afwezig is in ApplicationInclusionList en nodeTypeY ontbreekt in NodeTypeInclusionList, krijgt applicationX nooit een fout. Maximaal 1000 toepassingsnamen kunnen worden opgenomen in deze lijst, om dit aantal te verhogen, is een configuratie-upgrade vereist voor de configuratie maxNumberOfApplicationsInChaosEntityFilter-configuratie.
--context JSON-gecodeerde kaart van (tekenreeks, tekenreeks) sleutel-waardeparen. De kaart kan worden gebruikt om informatie over de Chaos-uitvoering vast te leggen. Er mogen maximaal 100 dergelijke paren zijn en elke tekenreeks (sleutel of waarde) mag maximaal 4095 tekens lang zijn. Deze kaart wordt ingesteld door de starter van de Chaos-uitvoering om eventueel de context over de specifieke uitvoering op te slaan.
--disable-move-replica-faults Hiermee schakelt u de primaire verplaatsing uit en verplaatst u secundaire fouten.
--max-cluster-stabilisatie De maximale hoeveelheid tijd die moet worden gewacht totdat alle clusterentiteiten stabiel en in orde zijn. Standaard: 60.

Chaos wordt uitgevoerd in iteraties en aan het begin van elke iteratie wordt de status van clusterentiteiten gevalideerd. Tijdens de validatie als een clusterentiteit niet stabiel en in orde is binnen MaxClusterStabilizationTimeoutInSeconds, genereert Chaos een mislukte validatiegebeurtenis.
--max-gelijktijdig-faults Het maximum aantal gelijktijdige fouten dat per iteratie wordt veroorzaakt. Chaos wordt uitgevoerd in iteraties en twee opeenvolgende iteraties worden gescheiden door een validatiefase. Hoe hoger de gelijktijdigheid, hoe agressiever de injectie van fouten - waardoor complexere reeks statussen fouten kunnen worden ontdekt. De aanbeveling is om te beginnen met een waarde van 2 of 3 en om voorzichtig te zijn bij het omhoog gaan. Standaard: 1.
--max-percent-beschadigde-apps Bij het evalueren van de clusterstatus tijdens Chaos, het maximaal toegestane percentage beschadigde toepassingen voordat er een fout wordt gerapporteerd.

Het maximaal toegestane percentage beschadigde toepassingen voordat er een fout wordt gerapporteerd. Als u bijvoorbeeld wilt toestaan dat 10% van de toepassingen niet in orde is, is deze waarde 10. Het percentage vertegenwoordigt het maximaal getolereerde percentage toepassingen dat niet in orde kan zijn voordat het cluster als fout wordt beschouwd. Als het percentage wordt gerespecteerd, maar er ten minste één beschadigde toepassing is, wordt de status geëvalueerd als Waarschuwing. Dit wordt berekend door het aantal beschadigde toepassingen te verdelen over het totale aantal toepassingsexemplaren in het cluster, met uitzondering van toepassingen van toepassingstypen die zijn opgenomen in de ApplicationTypeHealthPolicyMap. De berekening rondt af om één fout op kleine aantallen toepassingen te tolereren. Het standaardpercentage is nul.
--max-percent-beschadigde-knooppunten Bij het evalueren van de clusterstatus tijdens Chaos, het maximaal toegestane percentage beschadigde knooppunten voordat er een fout wordt gerapporteerd.

Het maximaal toegestane percentage beschadigde knooppunten voordat er een fout wordt gerapporteerd. Als u bijvoorbeeld wilt dat 10% van de knooppunten beschadigd is, is deze waarde 10. Het percentage vertegenwoordigt het maximaal getolereerde percentage knooppunten dat niet in orde kan zijn voordat het cluster als fout wordt beschouwd. Als het percentage wordt gerespecteerd, maar er ten minste één beschadigd knooppunt is, wordt de status geëvalueerd als Waarschuwing. Het percentage wordt berekend door het aantal beschadigde knooppunten te delen over het totale aantal knooppunten in het cluster. De berekening wordt afgerond om één fout op kleine aantallen knooppunten te tolereren. Het standaardpercentage is nul. In grote clusters zijn sommige knooppunten altijd niet beschikbaar voor reparaties, dus dit percentage moet worden geconfigureerd om dat te tolereren.
--time-to-run Totale tijd (in seconden) waarvoor Chaos wordt uitgevoerd voordat deze automatisch wordt gestopt. De maximaal toegestane waarde is 4.294.967.295 (System.UInt32.MaxValue). Standaard: 4294967295.
--time-out -t Standaard: 60.
--wait-time-between-faults Wachttijd (in seconden) tussen opeenvolgende fouten binnen één iteratie. Standaard: 20.

Hoe groter de waarde, hoe lager de overlapping tussen fouten en hoe eenvoudiger de volgorde van statusovergangen die het cluster doorloopt. De aanbeveling is om te beginnen met een waarde tussen 1 en 5 en wees voorzichtig bij het omhoog gaan.
--wachttijd-tijd-tussen-iteraties Tijdscheiding (in seconden) tussen twee opeenvolgende iteraties van Chaos. Hoe groter de waarde, hoe lager de foutinjectiesnelheid. Standaard: 30.
--warning-as-error Geeft aan of waarschuwingen worden behandeld met dezelfde ernst als fouten.

Globale argumenten

Argument Beschrijving
--debug Vergroot de uitgebreidheid van logboekregistratie om alle logboeken voor foutopsporing weer te geven.
--help -h Dit Help-bericht weergeven en afsluiten.
--output -o Uitvoerindeling. Toegestane waarden: json, jsonc, tabel, tsv. Standaard: json.
--vraag JMESPath-queryreeks. Zie http://jmespath.org/ voor meer informatie en voorbeelden.
--verbose Vergroot de uitgebreidheid van logboekregistratie. Gebruik --debug voor volledige foutopsporingslogboeken.

sfctl chaos stop

Stopt Chaos als deze wordt uitgevoerd in het cluster en de Chaos Schedule in een gestopte status plaatst.

Hiermee voorkomt u dat Chaos nieuwe fouten uitvoert. In-flight fouten blijven worden uitgevoerd totdat ze zijn voltooid. De huidige chaosplanning wordt in een gestopte status geplaatst. Zodra een schema is gestopt, blijft het in de gestopte status en wordt het niet gebruikt om Chaos Schedule nieuwe uitvoeringen van Chaos te plannen. Er moet een nieuwe chaosplanning worden ingesteld om de planning te hervatten.

Argumenten

Argument Beschrijving
--time-out -t De servertime-out voor het uitvoeren van de bewerking in seconden. Deze time-out geeft de tijdsduur aan die de client wil wachten tot de aangevraagde bewerking is voltooid. De standaardwaarde voor deze parameter is 60 seconden. Standaard: 60.

Globale argumenten

Argument Beschrijving
--debug Vergroot de uitgebreidheid van logboekregistratie om alle logboeken voor foutopsporing weer te geven.
--help -h Dit Help-bericht weergeven en afsluiten.
--output -o Uitvoerindeling. Toegestane waarden: json, jsonc, tabel, tsv. Standaard: json.
--vraag JMESPath-queryreeks. Zie http://jmespath.org/ voor meer informatie en voorbeelden.
--verbose Vergroot de uitgebreidheid van logboekregistratie. Gebruik --debug voor volledige foutopsporingslogboeken.

Volgende stappen