Solucionar problemas com o Azure Chaos Studio

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

Dicas gerais de soluçã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.
  • Logs do agente: Se você estiver usando uma falha baseada em agente, talvez seja necessário RDP ou SSH na máquina virtual (VM) para entender por que o agente falhou ao executar uma falha. As instruções para acessar os logs do agente dependem do sistema operacional:
    • Chaos Windows agent: Os logs do agente estão no log de eventos do Windows na categoria Aplicativo com a origem AzureChaosAgent. O agente adiciona atividade de falha e verificação de integridade regular (capacidade de autenticar e se comunicar com o serviço do agente do Chaos Studio) a esse log.
    • Agente Linux do Caos: O agente Linux usa systemd para gerenciar o processo do agente como um serviço 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.
  • 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á 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 você não vir os recursos que deseja habilitar na lista de destinos do Chaos Studio, pode ser devido a qualquer um dos seguintes problemas:

  • Os recursos não estão em uma 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 em uma assinatura ou grupo de recursos filtrado nos 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 você vir um erro ao habilitar destinos ou recursos, tente as seguintes etapas:

  1. Verifique se você tem as permissões apropriadas para os recursos que está adicionando. Habilitar um destino ou recursos requer a permissão Microsoft.Chaos/* no escopo do recurso. Funções internas, como Colaborador, têm permissão de leitura e gravação curinga, que inclui permissão para todas as operações Microsoft.Chaos.
  2. Aguarde alguns minutos até que a lista de destino e de recursos 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 ativação de recursos ainda falhar, vá para o log de atividades e localize a operação de criação de destino com falha para ver informações detalhadas de 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 de capacidade ainda falhar, vá para o log de atividades e localize a operação de criação de destino com falha para ver informações detalhadas de erro.

Problemas de pré-requisitos

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

Falhas baseadas em agente falham em uma máquina virtual

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

  • Em VMs Linux, a pressão da CPU, a pressão da memória física, a pressão de E/S do disco e as falhas de tensão de tensão arbitrária exigem que o utilitário de tensão 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 do caos não será 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 VMs com o modelo de conjunto de escala 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 deve primeiro ser instalado no cluster AKS antes de usar as falhas do AKS Chaos Mesh. Para obter instruções, consulte o tutorial Chaos Mesh faults on AKS.
  • Chaos Mesh deve ser versão 2.0.4 ou superior. Você pode obter a versão Chaos Mesh conectando-se ao seu cluster AKS e executando helm version chaos-mesho .
  • 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 você adiciona uma falha, se não vir o recurso que deseja direcionar com uma falha na lista Recursos de destino, pode ser devido a qualquer um dos seguintes problemas:

  • O filtro Subscrição está definido para excluir a subscrição na qual o seu destino está implementado. Selecione o filtro de assinatura e modifique as assinaturas selecionadas.
  • O recurso ainda não foi adicionado. Vá para a visualização Destinos e habilite o destino. Em seguida, feche o painel Adicionar falha e abra-o novamente para ver uma lista de destino 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. Em seguida, vá para a visualização Destinos e habilite esse tipo de destino. O tipo é baseado em agente para falhas do microsoft agent 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 destino atualizada.
  • O recurso ainda não tem a capacidade para essa falha habilitada. Consulte a biblioteca de falhas para ver o nome do recurso para a falha. Em seguida, vá para a visualização Destinos e selecione Gerenciar ações no recurso de destino. Marque a caixa de seleção para o recurso que corresponde à falha que você está tentando executar e selecione Salvar. Em seguida, feche o painel Adicionar falha e abra-o novamente para ver uma lista de destino atualizada.
  • O recurso foi adicionado recentemente e ainda não apareceu no Gráfico de Recursos. A lista Recursos de Destino é consultada a partir do Gráfico de Recursos. Depois que um novo destino é habilitado, pode levar até cinco minutos para que a atualização se propague para o Gráfico de Recursos. 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 você tem erros de sintaxe, como chaves ou colchetes incompatíveis ({} e []). Para verificar, use um linter JSON como 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.

Minha falha baseada em agente falhou com o erro "Verifique se o destino foi adicionado corretamente e se as permissões de leitura adequadas são fornecidas ao msi do experimento"

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 reinicializar a VM para que o agente se conecte.

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

Esse erro acontecerá se você tentar executar várias falhas de agente ao mesmo tempo. Atualmente, o agente só suporta a execução de uma única falha de agente de cada vez e falhará se você definir um experimento que execute várias falhas de agente ao mesmo tempo.

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. Você precisa excluir a identidade gerenciada atribuída pelo usuário ou pelo sistema existente no experimento desejado antes de adicionar a identidade gerenciada desejada.

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 isso, conceda permissões para a identidade do experimento manualmente.