Solucionar problemas com o Azure Chaos Studio

Ao usar o Azure Chaos Studio, ocasionalmente, você poderá encontrar alguns problemas. Este artigo explica problemas comuns e etapas de solução de problemas.

Dicas de solução de problemas gerais

As seguintes fontes são úteis para a solução de problemas do Chaos Studio:

  • Log de atividades: o log de atividades do Azure tem um registro de todas as operações de criação, atualização e exclusão em uma assinatura. Esses registros incluem operações do Chaos Studio, como habilitar um destino ou funcionalidades, instalar o agente e criar ou executar um experimento. As falhas no log de atividades indicam que uma ação do usuário essencial ao uso do Chaos Studio pode não ter sido concluída. A maioria das falhas diretas do serviço também injeta falhas executando uma operação do Azure Resource Manager, portanto, o log de atividades também tem o registro das falhas que foram injetadas durante um experimento para algumas falhas diretas de serviço.
  • Detalhes do experimento: os detalhes da execução do experimento mostram o status e os erros de uma execução de experimento individual. A abertura de uma falha específica nos detalhes do experimento mostra os recursos que falharam e as mensagens de erro de uma falha. Saiba mais sobre como acessar os detalhes do experimento.
  • Logs de agente: se estiver usando uma falha baseada em agente, talvez seja necessário executar RDP ou SSH na máquina virtual para entender por que o agente não pôde executar uma falha. As instruções para acessar os logs de agente dependem do sistema operacional:
    • Agente do Windows para o Chaos: os logs de agente estão no Log de Eventos do Windows na categoria Aplicativo com a fonte AzureChaosAgent. O agente adiciona atividade de falha e verificação de integridade regular (capacidade autenticar os serviços de agente do Chaos Studio e comunicar-se com eles) a esse log.
    • Agente do Linux para o Chaos: o agente do Linux usa o systemd para gerenciar o processo do agente como um serviço do Linux. Para ver o diário do sistema do agente (os eventos registrados pelo serviço de agente), execute o comando journalctl -u azure-chaos-agent.
  • Status da extensão da VM: se você estiver usando uma falha baseada em agente, verifique se a extensão da VM está instalada e íntegra. No portal do Azure, vá até a VM e acesse Extensões ou Extensões + aplicativos. Selecione a extensão ChaosAgent e procure os seguintes campos:
    • Status deve mostrar Provisionamento bem-sucedido. Qualquer outro status indica que o agente não pôde ser instalado. Verifique se você atendeu a todos os requisitos do sistema. Tente reinstalar o agente.
    • O status do manipulador deve ser Pronto. Qualquer outro status indica que o agente está instalado, mas não pode se conectar com o Chaos Studio. Verifique se você atende a todos os requisitos de rede e se a identidade gerenciada atribuída pelo usuário foi adicionada à VM. Tente reinicializar.

Problemas ao adicionar um recurso

Talvez você encontre os seguintes problemas ao adicionar um recurso.

Os recursos não aparecem na lista de destinos no portal do Azure

Se você não vir os recursos que deseja habilitar na lista de destinos do Chaos Studio, o motivo poderá ser um dos seguintes problemas:

A habilitação de um destino ou de funcionalidade falha ou não aparece corretamente na lista de destinos

Se aparecer um erro ao habilitar destinos ou funcionalidades, tente as seguintes etapas:

  1. Verifique se você tem as permissões apropriadas para os recursos que está adicionando. A habilitação de um destino ou de funcionalidades requer a permissão Microsoft.Chaos/* no escopo do recurso. As funções internas, como colaborador, têm permissão de leitura e gravação curinga, o que inclui a permissão para todas as operações do Microsoft.Chaos.
  2. Aguarde alguns minutos para que a lista de destinos e funcionalidades seja atualizada. O portal do Azure usa o Azure Resource Graph para coletar informações sobre como adicionar destinos e recursos. Pode levar até cinco minutos para que a atualização se propague.
  3. Se o recurso ainda mostrar Não habilitado, tente as seguintes etapas:
    1. Tente habilitar o recurso novamente.
    2. Se a habilitação do recurso ainda falhar, vá até o log de atividades e localize a operação de criação de destino com falha para ver informações detalhadas sobre o erro.
  4. Se o recurso mostrar Habilitado, mas a adição das funcionalidades falhar, tente as seguintes etapas:
    1. Selecione Gerenciar ações no recurso na lista de destinos. Marque as funcionalidades que não estão marcadas e selecione Salvar.
    2. Se a habilitação das funcionalidades ainda falhar, vá até o log de atividades e localize a operação de criação de destino com falha para ver informações detalhadas sobre o erro.

Problemas de pré-requisito

Alguns problemas são causados por pré-requisitos ausentes.

As falhas baseadas em agente falham em uma máquina virtual

As falhas baseadas em agente podem falhar por vários motivos relacionados à ausência de pré-requisitos:

  • Em VMs do Linux, as falhas de Demanda de CPU, Demanda de Memória Física, Demanda de E/S de Disco e Estresse do Stress-ng Arbitrário, exigem que o Utilitário stress-ng seja instalado na VM. Para obter mais informações sobre como instalar o stress-ng, confira as seções de pré-requisitos de falha.
  • Em VMs do Linux ou do Windows, a identidade gerenciada atribuída pelo usuário fornecida durante a habilitação de destino baseada em agente também precisa ser adicionada à VM.
  • Em VMs Linux ou Windows, a identidade gerenciada atribuída pelo sistema para o experimento deve receber a função Leitor na VM. (Funções aparentemente elevadas, como Colaborador de Máquina Virtual, não incluem a operação */Read necessária para que o agente do Chaos Studio leia o recurso de proxy de destino do agente microsoft na VM.)

O agente do Chaos não será instalado em conjuntos de dimensionamento de máquinas virtuais

A instalação do agente do Chaos em conjuntos de dimensionamento de máquinas virtuais pode falhar sem mostrar um erro se a política de atualização do conjunto de dimensionamento de máquinas virtuais estiver definida como Manual. Para verificar a política de atualização em conjuntos de dimensionamento de máquinas virtuais:

  1. Entre no portal do Azure.
  2. Selecione Conjunto de Dimensionamento de Máquinas Virtuais.
  3. No painel esquerdo, selecione Política de atualização.
  4. Verifique o Modo de atualização para ver se ele está definido como Manual – As instâncias existentes devem ser atualizadas manualmente.

Se a política de atualização estiver definida como Manual, você deverá atualizar as instâncias dos Conjuntos de Dimensionamento de Máquinas Virtuais do Azure para que a instalação do agente do Chaos possa ser concluída.

Atualizar instâncias do portal do Azure

Você pode atualizar suas instâncias de Conjuntos de Dimensionamento de Máquinas Virtuais no portal do Azure:

  1. Entre no portal do Azure.
  2. Selecione Conjunto de Dimensionamento de Máquinas Virtuais.
  3. No painel esquerdo, selecione Instâncias.
  4. Selecione todas as instâncias e selecione Atualizar.

Atualizar instâncias com a CLI do Azure

Você pode atualizar suas instâncias de Conjuntos de Dimensionamento de Máquinas Virtuais com a CLI do Azure:

  • Na CLI do Azure, use az vmss update-instances para atualizar manualmente suas instâncias:

    az vmss update-instances --resource-group myResourceGroup --name myScaleSet --instance-ids {instanceIds}
    

Para saber mais, confira Atualizar as VMs com o modelo mais recente do conjunto de dimensionamento.

Falha na malha do Chaos do AKS

As falhas da Chaos Mesh do AKS (Serviço de Kubernetes do Azure) podem ocorrer por vários motivos relacionados aos pré-requisitos ausentes:

  • Primeiro, o Chaos Mesh precisa ser instalado no cluster do AKS para usar as falhas do Chaos Mesh do AKS. Para obter as instruções, confira o tutorial Falhas do Chaos Mesh no AKS.
  • A malha do Chaos precisa ser da versão 2.0.4 ou superior. Você pode obter a versão da malha do Chaos se conectando com o cluster do AKS e executando helm version chaos-mesh.
  • A malha do Chaos precisa ser instalada com o namespace chaos-testing. Não há suporte para outros nomes de namespace no Chaos Mesh.
  • A função de Administrador de Cluster do AKS deve ser atribuída à identidade gerenciada atribuída pelo sistema para o experimento do Chaos.

Problemas ao criar ou projetar um experimento

Você pode encontrar problemas ao criar ou projetar um experimento.

Ao adicionar uma falha, meu recurso não aparece na lista de Recursos de Destino

Ao adicionar uma falha, se o recurso de destino da falha não aparecer na lista de Recursos de Destino, o motivo poderá ser um dos seguintes problemas:

  • O filtro Assinatura é definido para excluir a assinatura na qual o destino está implantado. Selecione o filtro de assinatura e modifique as assinaturas selecionadas.
  • O recurso ainda não foi adicionado. Vá até a exibição Destinos e habilite o destino. Depois, feche o painel Adicionar Falha e reabra-o para que a lista de destinos seja atualizada.
  • O recurso ainda não foi habilitado para o tipo de destino dessa falha. Consulte a biblioteca de falhas para ver qual tipo de destino é usado para a falha. Depois, vá até a exibição Destinos e habilite o tipo de destino. O tipo é baseado em agente para falhas do agente da microsoft ou de serviço direto para todos os outros tipos de destino. Depois, feche o painel Adicionar Falha e reabra-o para que a lista de destinos seja atualizada.
  • O recurso ainda não tem a funcionalidade habilitada para essa falha. Consulte a biblioteca de falhas para ver o nome da funcionalidade da falha. Em seguida, vá para a exibição Destinos e selecione Gerenciar ações no recurso de destino. Marque a caixa da funcionalidade que corresponde à falha que você está tentando executar e selecione Salvar. Depois, feche o painel Adicionar Falha e reabra-o para que a lista de destinos seja atualizada.
  • O recurso foi adicionado recentemente e ainda não apareceu no Resource Graph. A lista Recursos de Destino é consultada do Resource Graph. Depois que um novo destino é habilitado, pode levar até cinco minutos para que a atualização seja propagada para o Resource Graph. Aguarde alguns minutos e abra novamente o painel Adicionar Falha.

Quando crio um experimento, recebo o erro "O provedor microsoft:agent requer uma identidade gerenciada"

Esse erro ocorre quando o agente não foi implantado em sua VM. Para obter instruções de instalação, confira Criar e executar um experimento que usa falhas baseadas em agente.

Quando crio um experimento, recebo o erro "Não há suporte para o tipo de mídia de conteúdo 'nulo'. Somente 'application/json' tem suporte"

Você pode encontrar esse erro se estiver criando o experimento usando um modelo do Azure Resource Manager ou a API REST do Chaos Studio. O erro indica que há um JSON malformado na definição do experimento. Verifique se há erros de sintaxe, como chaves ou colchetes incompatíveis ({} e []). Para verificar, use um linter JSON como o Visual Studio Code.

Problemas ao executar um experimento

Você pode encontrar problemas ao executar um experimento.

O status de execução do meu experimento após a inicialização é "Com falha"

Na lista Experimentos no portal do Azure, selecione o nome do experimento para ver a Visão Geral do Experimento. Na seção Histórico, selecione Detalhes ao lado da execução de experimento com falha para ver informações detalhadas sobre o erro.

Captura de tela que mostra o histórico de experimentos.

Alternativamente, use a API REST para obter os detalhes de execução do experimento. Saiba mais no artigo sobre a amostra de API REST.

az rest --method post --url "https://management.azure.com/{experimentId}/executions/{executionDetailsId}/getExecutionDetails?api-version={apiVersion}" 

Falha baseada em agente falhou com o erro: "Verifique se o destino está integrado corretamente e se as permissões de leitura adequadas foram fornecidas para o msi do experimento"

Esse erro poderá ocorrer se você adicionou o agente usando o portal do Azure, que tem um problema conhecido. Habilitar um destino baseado em agente não atribui a identidade gerenciada atribuída pelo usuário à VM ou ao conjunto de dimensionamento de máquinas virtuais.

Para resolver esse problema, acesse a VM ou o conjunto de dimensionamento de máquinas virtuais no portal do Azure e acesse Identidade. Abra a guia Atribuído pelo usuário e adicione sua identidade atribuída pelo usuário à VM. Depois de terminar, talvez seja necessário reinicializar a VM para que o agente se conecte.

Falha com base em meu agente com o erro "O agente já está executando outra tarefa"

Esse erro ocorrerá se você tentar executar várias falhas de agente ao mesmo tempo. Hoje, o agente só dá suporte à execução de uma única falha de agente por vez e falhará se você definir um experimento que executa várias falhas de agente ao mesmo tempo.

O experimento não começou ou falhou imediatamente

Após iniciar um experimento, talvez você veja uma mensagem de erro como: The long-running operation has failed. InternalServerError. The target resource(s) could not be resolved. Error Code: OperationFailedException. Normalmente, isso indica que a identidade do experimento não tem as permissões necessárias.

Para resolver esse erro, certifique-se de que a identidade gerenciada do experimento, atribuída pelo sistema ou atribuída pelo usuário, tenha permissão para todos os recursos no experimento. Saiba mais sobre permissões aqui: Permissões e segurança no Azure Chaos Studio. Por exemplo, se o experimento envolver uma máquina virtual, navegue até a página de identidade da máquina virtual e atribua a função "Colaborador de Máquina Virtual" à identidade gerenciada do experimento.

Meu experimento do AKS Chaos Mesh falhou

Há vários erros comuns que você pode encontrar ao usar falhas do AKS Chaos Mesh.

Mensagem de erro Ação sugerida
Obter credencial estática não é permitido porque esse cluster está configurado para desabilitar contas locais. As falhas do AKS Chaos Mesh podem usar contas locais do Kubernetes ou autenticação do Microsoft Entra a partir da versão 2.2. Saiba como migrar seus experimentos aqui: Usando autenticação do Microsoft Entra com falhas do Chaos Studio AKS.
O experimento do Chaos Mesh não pôde ser iniciado porque a configuração fornecida era inválida Certifique-se de que o jsonSpec contém todos os campos obrigatórios.
No momento, não há suporte para a versão 'x.x.x' do Chaos Mesh no Chaos Studio Verifique a versão instalada na página de compatibilidade de versão do Azure Chaos Studio e envie uma solicitação de recurso se a versão desejada não estiver listada.

Problemas ao configurar uma identidade gerenciada

Quando tento adicionar uma identidade gerenciada atribuída pelo sistema/atribuída pelo usuário ao meu experimento existente, ela falha ao salvar.

Se você estiver tentando adicionar uma identidade gerenciada atribuída pelo usuário ou atribuída pelo sistema a um experimento que já tenha uma identidade gerenciada atribuída, o experimento falhará na implantação. Você precisa excluir a identidade gerenciada atribuída pelo usuário ou atribuída pelo sistema existente no experimento desejado primeiro antes de adicionar sua identidade gerenciada desejada.

Quando executo um experimento configurado para criar e atribuir automaticamente uma função personalizada, recebo o erro "Os recursos de destino não puderam ser resolvidos. ErrorCode: AccessDenied. Recursos-alvos:"

Quando a caixa de seleção "Permissões de função personalizadas" é selecionada para um experimento, o Chaos Studio cria e atribui uma função personalizada com as permissões necessárias à identidade do experimento. No entanto, isso está sujeito aos seguintes limites de atribuição de função e definição de função:

  • Cada assinatura do Azure tem um limite de 4000 atribuições de função.
  • Cada locatário do Microsoft Entra tem um limite de 5000 definições de função (ou 2000 definições de função para o Azure na China).

Quando um desses limites for atingido, esse erro ocorrerá. Para contornar isso, conceda permissões à identidade do experimento manualmente.