Resolução de problemas de experiências (clássico) no Azure Chaos Studio

Importante

Este artigo aplica-se ao modelo antigo de recursos Experiments (clássico). A Microsoft já não desenvolve funcionalidades para o Experiments (clássico) e considera apenas correções críticas, como atualizações de segurança, para o backport. Para novos testes de resiliência, utilize o Chaos Studio Workspaces, onde o desenvolvimento está ativo. Para escolher um modelo de recursos, veja Escolher entre Espaços de Trabalho do Chaos Studio e Experiências (clássico).

Ao usares Experiências (clássico), podes encontrar problemas com alvos, capacidades, execuções de experiências ou com o agente do Chaos Studio. Este artigo explica problemas comuns e etapas de solução de problemas.

Tip

Para problemas com Espaços de Trabalho e Cenários (pré-visualização), veja Resolução de Problemas de Espaços de Trabalho e Cenários no Azure Chaos Studio.

Sugestões gerais de resolução de problemas

As seguintes fontes são úteis quando você soluciona problemas com o 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 recursos, instalar o agente e criar ou executar um experimento. Falhas no registro de atividades indicam que uma ação do usuário essencial para usar o Chaos Studio pode não ter sido concluída. A maioria das falhas diretas de serviço também injeta falhas executando uma operação do Azure Resource Manager, portanto, o log de atividades também tem o registro de 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 individual do experimento. Abrir uma falha específica nos detalhes do experimento mostra os recursos que falharam e as mensagens de erro para uma falha. Saiba mais sobre como acessar os detalhes do experimento.
  • Registos do agente: Se estiver a usar uma falha com base em agente, poderá ser necessário ligar-se à máquina virtual (VM) por RDP ou SSH para compreender porque é que o agente não conseguiu executar a falha. As instruções para acessar os logs do agente dependem do sistema operacional:
    • Agente Chaos para Windows: Os registos do agente estão no Visualizador de Eventos do Windows, na categoria Aplicação, com a origem AzureChaosAgent. O agente adiciona a este registo eventos de falhas e de verificação regular de estado (capacidade de autenticar e comunicar com o serviço de agente do Chaos Studio).
    • agente Chaos Linux: O agente Linux usa o systemd para gerir o processo do agente enquanto serviço do Linux. Para exibir o diário systemd do agente (os eventos registrados pelo serviço do agente), execute o comando journalctl -u azure-chaos-agent.
  • Estado da extensão da VM: se estiver a utilizar uma falha com base em agente, verifique se a extensão da VM está instalada e em bom estado. No portal do Azure, vá para sua VM e vá para Extensões ou Extensões + aplicativos. Selecione a ChaosAgent extensão e procure os seguintes campos:
    • O status deve mostrar Provisionamento bem-sucedido. Qualquer outro status indica que o agente falhou na instalação. Verifique se você atende a todos os requisitos do sistema. Tente reinstalar o agente.
    • O status do manipulador deve mostrar Pronto. Qualquer outro status indica que o agente instalou, mas não pode se conectar ao 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 reiniciar.

Problemas ao adicionar um recurso

Você pode encontrar os seguintes problemas ao adicionar um recurso.

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

Se não vir os recursos que deseja ativar na lista de alvos do Chaos Studio, pode ser devido a qualquer um dos seguintes problemas:

  • Os recursos não estão numa região suportada pelo Chaos Studio.
  • Os recursos não são de um tipo de recurso suportado no Chaos Studio.
  • Os recursos estão numa subscrição ou num grupo de recursos que foi excluído pelos filtros da lista de destino. Altere os filtros de subscrição e de grupo de recursos para ver os seus recursos.

A ativação de destino ou capacidade falha ou não aparece corretamente na lista de destinos

Se vir um erro ao ativar objetivos ou recursos, tente os seguintes passos:

  1. Verifique se tem as permissões apropriadas para os recursos que está a adicionar. Ativar um objetivo ou capacidades requer a permissão Microsoft.Chaos/* no âmbito do recurso. Funções integradas, como Contribuinte, têm permissões de leitura e escrita com caráter universal, o que inclui permissões para todas as operações Microsoft.Chaos.
  2. Aguarde alguns minutos até que a lista de objetivos e de capacidades seja atualizada. O portal do Azure utiliza o Azure Resource Graph para recolher informações sobre como adicionar objetivos e capacidades. Pode demorar até cinco minutos a propagar as atualizações.
  3. Se o recurso ainda mostrar Não habilitado, tente as seguintes etapas:
    1. Tente habilitar o recurso novamente.
    2. Se a ativação do recurso continuar a falhar, aceda ao registo de atividades e localize a operação de criação do destino com falha para ver informações detalhadas sobre o erro.
  4. Se o recurso mostrar Habilitado , mas a adição de recursos falhou, tente as seguintes etapas:
    1. Selecione Gerenciar ações no recurso na lista de destinos. Verifique os recursos que não foram verificados e selecione Salvar.
    2. Se a ativação da capacidade continuar a falhar, vá ao registo de atividades e localize a operação falhada de criação do destino para ver informações detalhadas sobre o erro.

Problemas de pré-requisitos

Alguns problemas são causados pela falta de pré-requisitos.

As falhas baseadas em agente falham numa máquina virtual

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

  • Nas VMs Linux, as falhas Pressão da CPU, Pressão da Memória Física, Pressão de E/S do Disco e Stress Arbitrário do Stress-ng exigem todas que o utilitário stress-ng esteja instalado na sua VM. Para obter mais informações sobre como instalar o stress-ng, consulte as seções de pré-requisitos de falha.
  • Em VMs Linux ou Windows, a identidade gerenciada atribuída pelo usuário fornecida durante a ativação de destino baseada em agente também deve ser adicionada à VM.
  • Em VMs Linux ou Windows, a identidade gerenciada atribuída ao 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 da Microsoft na VM.)

O Agente Chaos não é instalado em conjuntos de dimensionamento de máquinas virtuais

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

  1. Inicie sessão 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 suas instâncias dos Conjuntos de Escala de Máquina Virtual do Azure para que a instalação do agente do Caos possa ser concluída.

Atualizar instâncias do portal do Azure

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

  1. Inicie sessão 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áquina Virtual 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 obter mais informações, consulte Atualizar as VMs com o modelo de conjunto de dimensionamento mais recente.

Falhas do AKS Chaos Mesh falham

As falhas do Serviço Kubernetes do Azure (AKS) Chaos Mesh podem falhar por vários motivos relacionados à falta de pré-requisitos:

  • O Chaos Mesh tem de ser instalado primeiro no cluster AKS antes de utilizar as falhas do Chaos Mesh no AKS. Para obter instruções, consulte o tutorial sobre falhas do Chaos Mesh no AKS.
  • Chaos Mesh deve ser versão 2.0.4 ou superior. Pode obter a versão do Chaos Mesh ligando-se ao seu cluster do AKS e executando helm version chaos-mesh.
  • Chaos Mesh deve ser instalado com o namespace chaos-testing. Não há suporte para outros nomes de namespace para Chaos Mesh.
  • A função de Administrador de Cluster do AKS deve ser atribuída à identidade gerenciada atribuída ao sistema para o experimento de caos.

Problemas ao criar ou projetar um experimento

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

Quando adiciono uma falha, meu recurso não aparece na lista Recursos de Destino

Quando adiciona uma falha, se não vir o recurso ao qual pretende aplicar a falha na lista Recursos de destino, talvez isso se deva a um dos seguintes problemas:

  • O filtro Subscrição está definido para excluir a subscrição na qual o seu alvo está implantado. Selecione o filtro de subscrição e modifique as sibscrições selecionadas.
  • O recurso ainda não foi adicionado. Vá para a vista de Objetivos e ative o objetivo. Em seguida, feche o painel Adicionar falha e abra-o novamente para ver uma lista de alvos atualizada.
  • O recurso ainda não foi ativado para o tipo de destino dessa falha. Consulte a biblioteca de falhas para ver qual o tipo de destino usado para a falha. Em seguida, vá para a visualização Destinos e habilite esse tipo de destino. O tipo é baseado em agente para falhas do agente microsoft ou service-direct para todos os outros tipos de destino. Em seguida, feche o painel Adicionar falha e abra-o novamente para ver uma lista de alvos atualizada.
  • O recurso ainda não tem a capacidade para essa falha ativada. Consulte a biblioteca de falhas para ver o nome do recurso para a falha. Em seguida, aceda à vista de Objetivos e selecione Gerir ações no recurso de objetivos. Marque a caixa de seleção para a capacidade que corresponde à falha que está a tentar executar e selecione Guardar. Em seguida, feche o painel Adicionar falha e abra-o novamente para ver uma lista de alvos atualizada.
  • O recurso foi adicionado recentemente e ainda não apareceu no Resource Graph. A lista de Recursos de Destino é consultada no Resource Graph. Depois que um novo objetivo é ativado, pode levar até cinco minutos para que a atualização seja propagada para o Resource Graph. Aguarde alguns minutos e reabra o painel Adicionar falha .

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

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

Quando crio um experimento, recebo o erro "O tipo de mídia de conteúdo 'null' não é suportado. Apenas 'application/json' é suportado"

Você pode encontrar esse erro se estiver criando seu experimento usando um modelo do Azure Resource Manager ou a API REST do Chaos Studio. O erro indica que há JSON malformado na definição do experimento. Verifique se tem erros de sintaxe, como parênteses ou parênteses retos incompatíveis ({} e []). Para verificar, use um linter de 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 o início é "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 do experimento com falha para ver informações detalhadas sobre o erro.

Captura de tela que mostra o histórico do experimento.

Como alternativa, use a API REST para obter os detalhes de execução do experimento. Saiba mais no artigo de exemplo da API REST.

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

A minha falha baseada em agente falhou com o erro "Verifique se o alvo foi corretamente adicionado e se foram concedidas à MSI do experimento as permissões de leitura adequadas"

Esse erro pode acontecer se você adicionou o agente usando o portal do Azure, que tem um problema conhecido. A habilitação de um destino baseado em agente não atribui a identidade gerenciada atribuída pelo usuário ao conjunto de dimensionamento de VM ou máquina virtual.

Para resolver esse problema, vá para a VM ou escala de máquina virtual definida no portal do Azure e vá para Identidade. Abra a guia Usuário atribuído e adicione sua identidade atribuída pelo usuário à VM. Depois de terminar, talvez seja necessário reiniciar a VM para que o agente estabeleça ligação.

Minha falha baseada em agente falhou com o erro "O agente já está executando outra tarefa"

Este erro ocorrerá se tentar executar várias falhas do agente ao mesmo tempo. Atualmente, o agente apenas suporta executar uma única falha do agente de cada vez e falhará se definir uma experiência que execute várias falhas do agente em simultâneo.

A experiência não começou ou falhou imediatamente

Depois de iniciar uma experiência, poderá ver 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, verifique se a identidade gerenciada atribuída pelo sistema ou pelo usuário do experimento tem permissão para todos os recursos do experimento. Saiba mais sobre permissões aqui: Permissões e segurança no Azure Chaos Studio. Por exemplo, se o experimento tiver como alvo uma máquina virtual, navegue até a página de identidade da máquina virtual e atribua a função "Colaborador da Máquina Virtual" à identidade gerenciada do experimento.

Meu experimento 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
Não é permitido obter credenciais estáticas porque este cluster está definido para desativar 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 a autenticação do Microsoft Entra com falhas do Chaos Studio AKS.
O experimento 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 necessários.
A versão do Chaos Mesh 'x.x.x' não é suportada atualmente pelo 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.

Quando executo uma experiência com injeção de VNet, recebo o erro "InvalidResourceReference"

Ao executar um experimento, ele pode falhar com a mensagem "Resource /subscriptions/.../providers/Microsoft.Network/virtualNetworks/... referenced by resource /subscriptions/.../providers/Microsoft.Network/privateEndpoints/... was not found. Please make sure that the referenced resource exists, and that both resources are in the same region" em Detalhes da execução do experimento.

Este erro ocorre quando está a utilizar a injeção de VNet e o experimento é criado numa subscrição diferente daquela que contém a rede virtual. Durante a execução do experimento, o Chaos Studio tenta criar um ponto de extremidade privado, mas não consegue encontrar a rede virtual referenciada porque ela está em uma assinatura diferente.

Para resolver este problema, certifique-se de que a experiência é criada na mesma subscrição que a sua rede virtual. Você precisará recriar o experimento na assinatura correta. Para obter mais informações sobre essa limitação, consulte Integração da injeção de rede virtual com o Chaos Studio.

Por que vejo um usuário "masterclient" nos meus logs de auditoria do AKS?

Causa: Quando você executa falhas do Chaos Mesh em seu cluster AKS, mesmo ao usar a autenticação de ID do Microsoft Entra, você pode ver o usuário masterclient nos logs de auditoria do servidor de API. Esse usuário é a conta de administrador local interna para o cluster. Esse comportamento é esperado em clusters AKS que não desabilitaram explicitamente as contas locais.

Solução: Se a política de segurança da sua organização exigir que todas as ações estejam vinculadas a uma identidade específica do Entra ID nos logs, você deve desativar as contas locais no cluster AKS. Isso força toda a autenticação a passar pelo provedor de ID do Microsoft Entra. Você pode encontrar instruções na documentação do AKS: Desativar contas locais com a integração do Microsoft Entra gerenciada pelo AKS.

Problemas ao configurar uma identidade gerenciada

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

Se você estiver tentando adicionar uma identidade gerenciada atribuída pelo usuário ou pelo sistema a um experimento que tenha uma identidade gerenciada atribuída a ele, o experimento não será implantado. Tem de eliminar primeiro a identidade gerida atribuída pelo utilizador ou pelo sistema existente no experimento pretendido first antes de adicionar a identidade gerida pretendida.

Quando executo uma experiência configurada para criar e atribuir automaticamente uma função personalizada, recebo o erro "Não foi possível resolver o(s) recurso(s) de destino. ErrorCode: Acesso negado. Recurso(s) de destino:"

Quando a caixa de seleção "Permissões de função personalizada" é selecionada para um experimento, o Chaos Studio cria e atribui uma função personalizada com as permissões necessárias para a identidade do experimento. No entanto, isso está sujeito aos seguintes limites de atribuiçã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 isto, conceda manualmente permissões à identidade do experimento.

Comunicar problemas e solicitar funcionalidades

Azure Chaos Studio é desenvolvido ao ar livre. Para reportar um bug, pedir uma funcionalidade ou colocar uma questão sobre Workspaces, Cenários ou a extensão CLI do Azure, abra uma questão no repositório Chaos Studio no GitHub. Ao apresentar uma reclamação, pode acompanhar o seu progresso e ver pedidos de outros clientes.