sfctl chaos
Inicie, pare e informe sobre o serviço de teste de caos.
Subgrupos
Subgrupo | Description |
---|---|
schedule | Pegue e defina o cronograma do caos. |
Comandos
Comando | Description |
---|---|
eventos | Obtém o próximo segmento dos eventos Chaos com base no token de continuação ou no intervalo de tempo. |
get | Obtenha o status de Caos. |
iniciar | Inicia o Caos no cluster. |
parar | Interrompe o Caos se ele estiver sendo executado no cluster e coloca o Chaos Schedule em um estado interrompido. |
Eventos de caos da SFCTL
Obtém o próximo segmento dos eventos Chaos com base no token de continuação ou no intervalo de tempo.
Para obter o próximo segmento dos eventos Chaos, você pode especificar o ContinuationToken. Para obter o início de um novo segmento de eventos Chaos, você pode especificar o intervalo de tempo através de StartTimeUtc e EndTimeUtc. Não é possível especificar o ContinuationToken e o intervalo de tempo na mesma chamada. Quando há mais de 100 eventos Chaos, os eventos Chaos são retornados em vários segmentos onde um segmento não contém mais de 100 eventos Chaos e, para obter o próximo segmento, você faz uma chamada para essa API com o token de continuação.
Argumentos
Argumento | Description |
---|---|
--continuação-token | O parâmetro de token de continuação é usado para obter o próximo conjunto de resultados. Um token de continuação com um valor não vazio é incluído na resposta da API quando os resultados do sistema não cabem em uma única resposta. Quando esse valor é passado para a próxima chamada de API, a API retorna o próximo conjunto de resultados. Se não houver mais resultados, o token de continuação não conterá um valor. O valor desse parâmetro não deve ser codificado por URL. |
--fim-hora-UTC | A hora do arquivo do Windows que representa a hora de término do intervalo de tempo para o qual um relatório de Caos deve ser gerado. Consulte o método DateTime.ToFileTimeUtc para obter detalhes. |
--max-resultados | O número máximo de resultados a serem retornados como parte das consultas paginadas. Este parâmetro define o limite superior do número de resultados retornados. Os resultados retornados podem ser menores do que os resultados máximos especificados se eles não se encaixarem na mensagem de acordo com as restrições de tamanho máximo de mensagem definidas na configuração. Se esse parâmetro for zero ou não especificado, a consulta paginada incluirá tantos resultados quanto possível que cabem na mensagem de retorno. |
--hora-início-UTC | A hora do arquivo do Windows que representa a hora de início do intervalo de tempo para o qual um relatório de Caos deve ser gerado. Consulte o método DateTime.ToFileTimeUtc para obter detalhes. |
--tempo limite -t | O tempo limite do servidor para executar a operação em segundos. Esse tempo limite especifica a duração do tempo que o cliente está disposto a aguardar a conclusão da operação solicitada. O valor padrão para esse parâmetro é 60 segundos. Padrão: 60. |
Argumentos globais
Argumento | Description |
---|---|
--depuração | Aumente a verbosidade do log para mostrar todos os logs de depuração. |
--ajuda -h | Mostrar esta mensagem de ajuda e sair. |
--saída -o | Formato de saída. Valores permitidos: json, jsonc, table, tsv. Padrão: json. |
--consulta | Cadeia de caracteres de consulta JMESPath. Consulte http://jmespath.org/ para obter mais informações e exemplos. |
--verborrágico | Aumente a verbosidade do registro. Use --debug para logs de depuração completos. |
sfctl caos obter
Obtenha o status de Caos.
Obtenha o status de Caos indicando se o Chaos está ou não em execução, os parâmetros de Chaos usados para executar o Chaos e o status do Chaos Schedule.
Argumentos
Argumento | Description |
---|---|
--tempo limite -t | O tempo limite do servidor para executar a operação em segundos. Esse tempo limite especifica a duração do tempo que o cliente está disposto a aguardar a conclusão da operação solicitada. O valor padrão para esse parâmetro é 60 segundos. Padrão: 60. |
Argumentos globais
Argumento | Description |
---|---|
--depuração | Aumente a verbosidade do log para mostrar todos os logs de depuração. |
--ajuda -h | Mostrar esta mensagem de ajuda e sair. |
--saída -o | Formato de saída. Valores permitidos: json, jsonc, table, tsv. Padrão: json. |
--consulta | Cadeia de caracteres de consulta JMESPath. Consulte http://jmespath.org/ para obter mais informações e exemplos. |
--verborrágico | Aumente a verbosidade do registro. Use --debug para logs de depuração completos. |
início do caos sfctl
Inicia o Caos no cluster.
Se Chaos ainda não estiver em execução no cluster, ele iniciará Chaos com os parâmetros passados em Chaos. Se o Chaos já estiver em execução quando esta chamada for feita, a chamada falhará com o código de erro FABRIC_E_CHAOS_ALREADY_RUNNING. Consulte o artigo Induzir caos controlado em clusters do Service Fabric para obter mais detalhes.
Argumentos
Argumento | Description |
---|---|
--app-type-health-policy-map | Matriz codificada JSON de entradas de dicionário (chave/valor) com porcentagem máxima de aplicativos não íntegros para tipos de aplicativos específicos. Cada entrada de dicionário especifica como chave o nome do tipo de aplicativo e um inteiro para o valor que representa a porcentagem MaxPercentUnhealthyApplications usada para avaliar os aplicativos do tipo de aplicativo especificado. Define um mapa com porcentagem máxima de aplicativos não íntegros para tipos de aplicativos específicos. O mapa da política de integridade do tipo de aplicativo pode ser usado durante a avaliação da integridade do cluster para descrever tipos de aplicativos individuais. Os tipos de aplicativo incluídos no mapa são avaliados em relação à porcentagem especificada no mapa, e não com o MaxPercentUnhealthyApplications global definido na diretiva de integridade do cluster. Os aplicativos dos tipos de aplicativos especificados no mapa não são contados em relação ao pool global de aplicativos. Por exemplo, se alguns aplicativos de um tipo forem críticos, o administrador de cluster poderá adicionar uma entrada ao mapa para esse tipo de aplicativo e atribuir-lhe um valor de 0% (não tolere falhas). Todos os outros aplicativos podem ser avaliados com MaxPercentUnhealthyApplications definido como 20% para tolerar algumas falhas entre milhares de instâncias de aplicativos. O mapa da diretiva de integridade do tipo de aplicativo será usado somente se o manifesto do cluster habilitar a avaliação da integridade do tipo de aplicativo usando a entrada de configuração para HealthManager/EnableApplicationTypeHealthEvaluation. Exemplo de cadeia de caracteres codificada JSON: [{"key": "fabric:/Voting", "value": "0"}] |
--caos-alvo-filtro | Dicionário codificado JSON com duas chaves de tipo de cadeia de caracteres. As duas chaves são NodeTypeInclusionList e ApplicationInclusionList. Os valores para ambas as chaves são lista de cadeia de caracteres. chaos_target_filter define todos os filtros para falhas Chaos direcionadas, por exemplo, falhando apenas certos tipos de nó ou falhando apenas determinados aplicativos. Se chaos_target_filter não for usado, o Chaos falhará todas as entidades do cluster. Se chaos_target_filter for usado, o Chaos falhará apenas as entidades que atendem à especificação chaos_target_filter. NodeTypeInclusionList e ApplicationInclusionList permitem apenas uma semântica de união. Não é possível especificar uma interseção de NodeTypeInclusionList e ApplicationInclusionList. Por exemplo, não é possível especificar "falha neste aplicativo somente quando ele estiver nesse tipo de nó". Depois que uma entidade é incluída em NodeTypeInclusionList ou ApplicationInclusionList, essa entidade não pode ser excluída usando ChaosTargetFilter. Mesmo que applicationX não apareça em ApplicationInclusionList, em algumas iterações do Chaos applicationX pode estar com defeito porque acontece de estar em um nó de nodeTypeY que está incluído em NodeTypeInclusionList. Se NodeTypeInclusionList e ApplicationInclusionList estiverem vazios, um ArgumentException será lançado. Todos os tipos de falhas (nó de reinicialização, pacote de código de reinicialização, remoção de réplica, réplica de reinicialização, mover primário e mover secundário) são habilitados para os nós desses tipos de nó. Se um tipo de nó (digamos NodeTypeX) não aparecer na NodeTypeInclusionList, as falhas no nível do nó (como NodeRestart) nunca serão habilitadas para os nós do NodeTypeX, mas as falhas do pacote de código e da réplica ainda poderão ser habilitadas para o NodeTypeX se um aplicativo na ApplicationInclusionList residir em um nó do NodeTypeX. No máximo 100 nomes de tipo de nó podem ser incluídos nesta lista, para aumentar esse número, uma atualização de configuração é necessária para a configuração MaxNumberOfNodeTypesInChaosEntityFilter. Todas as réplicas pertencentes aos serviços desses aplicativos são passíveis de falhas de réplica (reiniciar réplica, remover réplica, mover primário e mover secundário) pelo Chaos. O caos pode reiniciar um pacote de código somente se o pacote de código hospedar réplicas somente desses aplicativos. Se um aplicativo não aparecer nessa lista, ele ainda poderá apresentar falhas em alguma iteração do Chaos se o aplicativo acabar em um nó de um tipo de nó incluído em NodeTypeInclusionList. No entanto, se applicationX estiver vinculado a nodeTypeY por meio de restrições de posicionamento e applicationX estiver ausente de ApplicationInclusionList e nodeTypeY estiver ausente de NodeTypeInclusionList, applicationX nunca será defeituoso. No máximo 1000 nomes de aplicativos podem ser incluídos nesta lista, para aumentar esse número, uma atualização de configuração é necessária para a configuração MaxNumberOfApplicationsInChaosEntityFilter. |
--contexto | Mapa codificado JSON de pares chave-valor do tipo (string, string). O mapa pode ser usado para registrar informações sobre a corrida do Caos. Não pode haver mais de 100 pares desse tipo e cada string (chave ou valor) pode ter no máximo 4095 caracteres. Este mapa é definido pelo iniciador da execução do Caos para, opcionalmente, armazenar o contexto sobre a execução específica. |
--desativar-mover-réplica-falhas | Desativa as falhas primárias de movimento e secundárias de movimento. |
--max-cluster-estabilização | O tempo máximo de espera para que todas as entidades de cluster se tornem estáveis e íntegros. Padrão: 60. O caos é executado em iterações e, no início de cada iteração, valida a integridade das entidades do cluster. Durante a validação, se uma entidade de cluster não estiver estável e íntegra em MaxClusterStabilizationTimeoutInSeconds, Chaos gerará um evento de falha de validação. |
--máx-falhas simultâneas | O número máximo de falhas simultâneas induzidas por iteração. O caos é executado em iterações e duas iterações consecutivas são separadas por uma fase de validação. Quanto maior a simultaneidade, mais agressiva é a injeção de falhas - induzindo séries mais complexas de estados a descobrir bugs. A recomendação é começar com um valor de 2 ou 3 e ter cautela ao subir. Padrão: 1. |
--max-percent-unhealthy-apps | Ao avaliar a integridade do cluster durante o Caos, a porcentagem máxima permitida de aplicativos não íntegros antes de relatar um erro. A porcentagem máxima permitida de aplicativos não íntegros antes de relatar um erro. Por exemplo, para permitir que 10% dos aplicativos não estejam íntegros, esse valor seria 10. A porcentagem representa a porcentagem máxima tolerada de aplicativos que podem não estar íntegros antes que o cluster seja considerado errado. Se a percentagem for respeitada, mas houver pelo menos uma aplicação insalubre, a saúde é avaliada como Aviso. Isso é calculado dividindo o número de aplicativos não íntegros pelo número total de instâncias de aplicativo no cluster, excluindo aplicativos de tipos de aplicativo incluídos no ApplicationTypeHealthPolicyMap. O cálculo arredonda para cima para tolerar uma falha em um pequeno número de aplicações. A percentagem por defeito é zero. |
--max-percent-unhealthy-nodes | Ao avaliar a integridade do cluster durante o Caos, a porcentagem máxima permitida de nós não íntegros antes de relatar um erro. A porcentagem máxima permitida de nós não íntegros antes de relatar um erro. Por exemplo, para permitir que 10% dos nós não estejam íntegros, esse valor seria 10. A porcentagem representa a porcentagem máxima tolerada de nós que podem não estar íntegros antes que o cluster seja considerado errado. Se a porcentagem for respeitada, mas houver pelo menos um nó não íntegro, a integridade será avaliada como Aviso. A porcentagem é calculada dividindo o número de nós não íntegros sobre o número total de nós no cluster. O cálculo arredonda para cima para tolerar uma falha em pequenos números de nós. A percentagem por defeito é zero. Em clusters grandes, alguns nós sempre estarão inativos ou fora para reparos, então essa porcentagem deve ser configurada para tolerar isso. |
--tempo de execução | Tempo total (em segundos) durante o qual o Caos será executado antes de parar automaticamente. O valor máximo permitido é 4.294.967.295 (System.UInt32.MaxValue). Padrão: 4294967295. |
--tempo limite -t | Padrão: 60. |
--tempo de espera-entre-falhas | Tempo de espera (em segundos) entre falhas consecutivas em uma única iteração. Padrão: 20. Quanto maior o valor, menor a sobreposição entre falhas e mais simples a sequência de transições de estado pelas quais o cluster passa. A recomendação é começar com um valor entre 1 e 5 e ter cautela ao subir. |
--tempo de espera-entre-iterações | Separação de tempo (em segundos) entre duas iterações consecutivas do Caos. Quanto maior o valor, menor a taxa de injeção de falhas. Padrão: 30. |
--aviso-como-erro | Indica se os avisos são tratados com a mesma gravidade que os erros. |
Argumentos globais
Argumento | Description |
---|---|
--depuração | Aumente a verbosidade do log para mostrar todos os logs de depuração. |
--ajuda -h | Mostrar esta mensagem de ajuda e sair. |
--saída -o | Formato de saída. Valores permitidos: json, jsonc, table, tsv. Padrão: json. |
--consulta | Cadeia de caracteres de consulta JMESPath. Consulte http://jmespath.org/ para obter mais informações e exemplos. |
--verborrágico | Aumente a verbosidade do registro. Use --debug para logs de depuração completos. |
Parada do caos da SFCTL
Interrompe o Caos se ele estiver sendo executado no cluster e coloca o Chaos Schedule em um estado interrompido.
Impede que o Chaos execute novas falhas. As falhas durante o voo continuarão a ser executadas até serem concluídas. O atual Chaos Schedule é colocado em um estado parado. Uma vez que um cronograma é interrompido, ele permanecerá no estado parado e não será usado para Chaos Schedule novas execuções do Caos. Um novo Cronograma do Caos deve ser definido para retomar o agendamento.
Argumentos
Argumento | Description |
---|---|
--tempo limite -t | O tempo limite do servidor para executar a operação em segundos. Esse tempo limite especifica a duração do tempo que o cliente está disposto a aguardar a conclusão da operação solicitada. O valor padrão para esse parâmetro é 60 segundos. Padrão: 60. |
Argumentos globais
Argumento | Description |
---|---|
--depuração | Aumente a verbosidade do log para mostrar todos os logs de depuração. |
--ajuda -h | Mostrar esta mensagem de ajuda e sair. |
--saída -o | Formato de saída. Valores permitidos: json, jsonc, table, tsv. Padrão: json. |
--consulta | Cadeia de caracteres de consulta JMESPath. Consulte http://jmespath.org/ para obter mais informações e exemplos. |
--verborrágico | Aumente a verbosidade do registro. Use --debug para logs de depuração completos. |