Dela via


sfctl chaos

Starta, stoppa och rapportera om kaostesttjänsten.

Undergrupper

Undergrupp beskrivning
schedule Hämta och ange kaosschemat.

Kommandon

Kommando beskrivning
händelser Hämtar nästa segment av Chaos-händelserna baserat på fortsättningstoken eller tidsintervallet.
get Hämta status för Chaos.
start Startar Kaos i klustret.
Stanna Stoppar kaos om det körs i klustret och placerar Chaos Schedule i ett stoppat tillstånd.

sfctl chaos events

Hämtar nästa segment av Chaos-händelserna baserat på fortsättningstoken eller tidsintervallet.

Om du vill hämta nästa segment av Chaos-händelserna kan du ange ContinuationToken. För att komma igång med ett nytt segment av Chaos-händelser kan du ange tidsintervallet via StartTimeUtc och EndTimeUtc. Du kan inte ange både ContinuationToken och tidsintervallet i samma anrop. När det finns fler än 100 Chaos-händelser returneras Chaos-händelserna i flera segment där ett segment inte innehåller fler än 100 Chaos-händelser och för att få nästa segment gör du ett anrop till det här API:et med fortsättningstoken.

Argument

Argument beskrivning
--continuation-token Parametern fortsättningstoken används för att hämta nästa uppsättning resultat. En fortsättningstoken med ett värde som inte är tomt ingår i API:ets svar när resultatet från systemet inte får plats i ett enda svar. När det här värdet skickas till nästa API-anrop returnerar API:et nästa uppsättning resultat. Om det inte finns några ytterligare resultat innehåller fortsättningstoken inget värde. Värdet för den här parametern ska inte vara URL-kodat.
--end-time-utc Windows-filtiden som representerar sluttiden för det tidsintervall för vilket en Chaos-rapport ska genereras. Mer information finns i DateTime.ToFileTimeUtc-metoden .
--max-results Det maximala antalet resultat som ska returneras som en del av de sidiga frågorna. Den här parametern definierar den övre gränsen för det antal resultat som returneras. Resultatet som returneras kan vara mindre än det angivna maximala resultatet om de inte får plats i meddelandet enligt de maximala begränsningarna för meddelandestorlek som definierats i konfigurationen. Om den här parametern är noll eller inte har angetts innehåller den sidvända frågan så många resultat som möjligt som får plats i returmeddelandet.
--start-time-utc Windows-filtiden som representerar starttiden för det tidsintervall som en Chaos-rapport ska genereras för. Mer information finns i DateTime.ToFileTimeUtc-metoden .
--timeout -t Serverns timeout för att utföra åtgärden i sekunder. Den här tidsgränsen anger hur lång tid klienten är villig att vänta tills den begärda åtgärden har slutförts. Standardvärdet för den här parametern är 60 sekunder. Standard: 60.

Globala argument

Argument beskrivning
--felsöka Öka loggningsverositeten för att visa alla felsökningsloggar.
--help -h Visa det här hjälpmeddelandet och avsluta.
--output -o Utdataformat. Tillåtna värden: json, jsonc, table, tsv. Standard: json.
--fråga JMESPath-frågesträng. Mer http://jmespath.org/ information och exempel finns i.
--mångordig Öka loggningsverbositeten. Använd --debug för fullständiga felsökningsloggar.

sfctl chaos get

Hämta status för Chaos.

Hämta statusen för Chaos som anger om Chaos körs eller inte, de Kaosparametrar som används för att köra Chaos och status för Chaos Schedule.

Argument

Argument beskrivning
--timeout -t Serverns timeout för att utföra åtgärden i sekunder. Den här tidsgränsen anger hur lång tid klienten är villig att vänta tills den begärda åtgärden har slutförts. Standardvärdet för den här parametern är 60 sekunder. Standard: 60.

Globala argument

Argument beskrivning
--felsöka Öka loggningsverositeten för att visa alla felsökningsloggar.
--help -h Visa det här hjälpmeddelandet och avsluta.
--output -o Utdataformat. Tillåtna värden: json, jsonc, table, tsv. Standard: json.
--fråga JMESPath-frågesträng. Mer http://jmespath.org/ information och exempel finns i.
--mångordig Öka loggningsverbositeten. Använd --debug för fullständiga felsökningsloggar.

sfctl chaos start

Startar Kaos i klustret.

Om Chaos inte redan körs i klustret startar det Chaos med de anförda parametrarna i Chaos. Om Chaos redan körs när det här anropet görs misslyckas anropet med felkoden FABRIC_E_CHAOS_ALREADY_RUNNING. Mer information finns i artikeln Inducera kontrollerat kaos i Service Fabric-kluster .

Argument

Argument beskrivning
--app-type-health-policy-map JSON-kodad matris med ordlisteposter (nyckel/värde) med maximalt antal program som inte är felfria i procent för specifika programtyper. Varje ordlistepost anger som en nyckel namnet på programtypen och ett heltal för värde som representerar maxPercentUnhealthyApplications-procentandelen som används för att utvärdera programmen av den angivna programtypen.

Definierar en karta med maximalt antal program som inte är felfria i procent för specifika programtyper. Programtypens hälsoprincipkarta kan användas under utvärdering av klusterhälsa för att beskriva enskilda programtyper. De programtyper som ingår i kartan utvärderas mot den procentandel som anges i kartan och inte med de globala MaxPercentUnhealthyApplications som definierats i klustrets hälsoprincip. Program av programtyper som anges på kartan räknas inte mot den globala programpoolen. Om vissa program av en typ till exempel är kritiska kan klusteradministratören lägga till en post på kartan för den programtypen och tilldela den ett värde på 0 % (tolerera inte några fel). Alla andra program kan utvärderas med MaxPercentUnhealthyApplications inställt på 20 % för att tolerera vissa fel av tusentals programinstanser. Programtypens hälsoprincipkarta används endast om klustermanifestet aktiverar hälsoutvärdering av programtyp med hjälp av konfigurationsposten för HealthManager/EnableApplicationTypeHealthEvaluation.

Exempel på JSON-kodad sträng: [{"key": "fabric:/Voting", "value": "0"}]
--chaos-target-filter JSON-kodad ordlista med två strängtypsnycklar. De två nycklarna är NodeTypeInclusionList och ApplicationInclusionList. Värden för båda dessa nycklar är en lista över strängar. chaos_target_filter definierar alla filter för riktade Chaos-fel, till exempel att endast fela vissa nodtyper eller endast fel i vissa program.

Om chaos_target_filter inte används felar Chaos alla klusterentiteter. Om chaos_target_filter används felar Chaos bara de entiteter som uppfyller chaos_target_filter-specifikationen. NodeTypeInclusionList och ApplicationInclusionList tillåter endast en unionssemantik. Det går inte att ange en skärningspunkt mellan NodeTypeInclusionList och ApplicationInclusionList. Det går till exempel inte att ange "fel endast för det här programmet när det är på den nodtypen". När en entitet ingår i NodeTypeInclusionList eller ApplicationInclusionList kan den entiteten inte uteslutas med Hjälp av ChaosTargetFilter. Även om applicationX inte visas i ApplicationInclusionList kan det i vissa Chaos iteration applicationX felas eftersom det råkar finnas på en nod av nodeTypeY som ingår i NodeTypeInclusionList. Om både NodeTypeInclusionList och ApplicationInclusionList är tomma genereras ett ArgumentException. Alla typer av fel (omstartsnod, omstartskodpaket, ta bort replik, starta om replik, flytta primär och flytta sekundär) är aktiverade för noderna i dessa nodtyper. Om en nodtyp (t.ex. NodeTypeX) inte visas i NodeTypeInclusionList aktiveras aldrig fel på nodnivå (t.ex. NodeRestart) för noderna i NodeTypeX, men kodpaket- och replikfel kan fortfarande aktiveras för NodeTypeX om ett program i ApplicationInclusionList råkar finnas på en nod i NodeTypeX. Högst 100 nodtypsnamn kan inkluderas i den här listan, för att öka det här antalet krävs en konfigurationsuppgradering för Konfiguration av MaxNumberOfNodeTypesInChaosEntityFilter. Alla repliker som hör till tjänster i dessa program kan användas för replikfel (starta om repliken, ta bort repliken, flytta primär och flytta sekundär) av Chaos. Kaos kan bara starta om ett kodpaket om kodpaketet endast är värd för repliker av dessa program. Om ett program inte visas i den här listan kan det fortfarande felas i en viss Chaos-iteration om programmet hamnar på en nod av en nodtyp som ingår i NodeTypeInclusionList. Men om applicationX är kopplat till nodeTypeY via placeringsbegränsningar och applicationX saknas från ApplicationInclusionList och nodeTypeY saknas från NodeTypeInclusionList, kommer applicationX aldrig att felas. Högst 1 000 programnamn kan ingå i den här listan, för att öka antalet krävs en konfigurationsuppgradering för Konfiguration av MaxNumberOfApplicationsInChaosEntityFilter.
--sammanhang JSON-kodad karta över nyckel/värde-par av typen (sträng, sträng). Kartan kan användas för att registrera information om Chaos-körningen. Det får inte finnas fler än 100 sådana par och varje sträng (nyckel eller värde) kan vara högst 4 095 tecken lång. Den här kartan anges av startprogrammet för Chaos-körningen för att eventuellt lagra kontexten om den specifika körningen.
--disable-move-replica-faults Inaktiverar den primära flytten och flyttar sekundära fel.
--max-cluster-stabilization Den maximala väntetiden för att alla klusterentiteter ska bli stabila och felfria. Standard: 60.

Kaos körs i iterationer och i början av varje iteration validerar det hälsotillståndet för klusterentiteter. Under valideringen om en klusterentitet inte är stabil och felfri i MaxClusterStabilizationTimeoutInSeconds genererar Chaos en valideringsfelhändelse.
--max-concurrent-faults Det maximala antalet samtidiga fel som framkallas per iteration. Kaos körs i iterationer och två iterationer i följd avgränsas med en valideringsfas. Ju högre samtidighet, desto mer aggressiv är inmatningen av fel , vilket leder till mer komplexa serier av tillstånd för att upptäcka buggar. Rekommendationen är att börja med värdet 2 eller 3 och att vara försiktig när du flyttar upp. Standard: 1.
--max-percent-unhealthy-apps När du utvärderar klusterhälsan under Kaos, den maximala tillåtna procentandelen program som inte är felfria innan ett fel rapporteras.

Den maximala tillåtna procentandelen program som inte är felfria innan ett fel rapporteras. Om du till exempel vill tillåta att 10 % av programmen inte är felfria är det här värdet 10. Procentandelen representerar den maximala tillåtna procentandelen program som kan vara felfria innan klustret betraktas som ett fel. Om procentandelen respekteras men det finns minst ett program med feltillstånd utvärderas hälsotillståndet som Varning. Detta beräknas genom att dividera antalet program som inte är felfria jämfört med det totala antalet programinstanser i klustret, exklusive program av programtyper som ingår i ApplicationTypeHealthPolicyMap. Beräkningen avrundar uppåt för att tolerera ett fel i ett litet antal program. Standardprocenten är noll.
--max-percent-unhealthy-nodes När du utvärderar klusterhälsan under Kaos, den maximala tillåtna procentandelen ej felfria noder innan du rapporterar ett fel.

Den maximala tillåtna procentandelen ej felfria noder innan du rapporterar ett fel. Om du till exempel vill tillåta att 10 % av noderna inte är felfria är det här värdet 10. Procentandelen representerar den maximala tillåtna procentandelen noder som kan vara felfria innan klustret betraktas som ett fel. Om procentandelen respekteras men det finns minst en nod som inte är felfri utvärderas hälsotillståndet som Varning. Procentandelen beräknas genom att dividera antalet noder med feltillstånd över det totala antalet noder i klustret. Beräkningen avrundar uppåt för att tolerera ett fel på ett litet antal noder. Standardprocenten är noll. I stora kluster är vissa noder alltid nere eller ute för reparationer, så den här procentandelen bör konfigureras för att tolerera det.
--time-to-run Total tid (i sekunder) för vilken Chaos körs innan automatiskt stoppas. Det högsta tillåtna värdet är 4 294 967 295 (System.UInt32.MaxValue). Standard: 4294967295.
--timeout -t Standard: 60.
--wait-time-between-faults Väntetid (i sekunder) mellan på varandra följande fel inom en enda iteration. Standard: 20.

Ju större värde, desto lägre överlappning mellan fel och den enklare sekvensen av tillståndsövergångar som klustret går igenom. Rekommendationen är att börja med ett värde mellan 1 och 5 och vara försiktig när du flyttar upp.
--wait-time-between-iterations Tidsseparation (i sekunder) mellan två på varandra följande iterationer av Kaos. Ju större värde desto lägre felinmatningshastighet. Standard: 30.
--warning-as-error Anger om varningar behandlas med samma allvarlighetsgrad som fel.

Globala argument

Argument beskrivning
--felsöka Öka loggningsverositeten för att visa alla felsökningsloggar.
--help -h Visa det här hjälpmeddelandet och avsluta.
--output -o Utdataformat. Tillåtna värden: json, jsonc, table, tsv. Standard: json.
--fråga JMESPath-frågesträng. Mer http://jmespath.org/ information och exempel finns i.
--mångordig Öka loggningsverbositeten. Använd --debug för fullständiga felsökningsloggar.

sfctl chaos stop

Stoppar kaos om det körs i klustret och placerar Chaos Schedule i ett stoppat tillstånd.

Hindrar Chaos från att köra nya fel. Fel under flygning fortsätter att köras tills de har slutförts. Det aktuella kaosschemat försätts i ett stoppat tillstånd. När ett schema har stoppats förblir det i stoppat tillstånd och används inte till Chaos Schedule nya körningar av Chaos. Ett nytt Kaosschema måste anges för att kunna återuppta schemaläggningen.

Argument

Argument beskrivning
--timeout -t Serverns timeout för att utföra åtgärden i sekunder. Den här tidsgränsen anger hur lång tid klienten är villig att vänta tills den begärda åtgärden har slutförts. Standardvärdet för den här parametern är 60 sekunder. Standard: 60.

Globala argument

Argument beskrivning
--felsöka Öka loggningsverositeten för att visa alla felsökningsloggar.
--help -h Visa det här hjälpmeddelandet och avsluta.
--output -o Utdataformat. Tillåtna värden: json, jsonc, table, tsv. Standard: json.
--fråga JMESPath-frågesträng. Mer http://jmespath.org/ information och exempel finns i.
--mångordig Öka loggningsverbositeten. Använd --debug för fullständiga felsökningsloggar.

Nästa steg

  • Konfigurera Service Fabric CLI.
  • Lär dig hur du använder Service Fabric CLI med hjälp av exempelskripten.