Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Esse artigo orienta você através de possíveis causas e etapas de solução de problemas para falhas de artefatos em seus recursos de máquina virtual (VM) do Azure DevTest Labs.
Artefatos são ferramentas, ações ou software que você pode instalar em VMs de laboratório durante ou após a criação da VM. Os proprietários de laboratório podem pré-selecionar artefatos obrigatórios a serem aplicados em todas as VMs de laboratório na criação, e os usuários do laboratório podem aplicar artefatos às VMs que eles possuem. Vários problemas possíveis podem fazer com que os artefatos não sejam instalados e aplicados a um laboratório ou executados corretamente num VM de laboratório.
Quando um artefato parece parar de responder, a primeira etapa é tentar determinar por que o processo está travado. A instalação do artefato pode ser bloqueada durante a solicitação inicial ou falhar durante a execução da solicitação. Você pode solucionar falhas de artefatos no portal do Azure ou na VM onde ocorre a falha do artefato.
Solucionar problemas no portal do Azure
Se um artefacto não se aplicar com sucesso ao seu VM de laboratório, pode começar por investigar o estado do seu VM no portal do Azure. Você pode encontrar informações sobre o estado da VM, confirmar que ela está em execução e verificar se os artefatos podem ser aplicados. Os dados do log de atividades da VM do laboratório mostram entradas sobre processos de instalação. É possível verificar as entradas para localizar informações sobre falhas de artefato.
Verificar o status da VM
Verifique o status da VM no portal do Azure concluindo estas etapas:
Vá para a página Visão geral da VM do laboratório DevTest Labs e confirme se o status do computador está em execução:
Selecione Artefatos para abrir a lista de artefatos para a VM do laboratório:
Verifique a opção Aplicar artefatos e confirme se a VM do laboratório está pronta para aceitar artefatos aplicados:
Quando a opção Aplicar artefatos aparece esmaecida, você não pode aplicar artefatos à VM do laboratório e vê uma mensagem de notificação na página:
Usar um comando do PowerShell
Você também pode usar o Azure PowerShell para verificar se a VM do laboratório pode receber artefatos aplicados.
O seguinte comando GET retorna o sinalizador canApplyArtifacts com um valor True ou False. Para executar o comando, substitua o $SubscriptionId parâmetro pela ID da assinatura, o $LabName/$VmName parâmetro pelo nome do laboratório e pelo nome da VM e o $LabRgName parâmetro pelo nome do grupo de recursos do laboratório.
Select-AzSubscription -SubscriptionId $SubscriptionId | Out-Null
$vm = Get-AzResource `
-Name "$LabName/$VmName" `
-ResourceGroupName $LabRgName `
-ResourceType 'microsoft.devtestlab/labs/virtualmachines' `
-ApiVersion '2018-10-15-preview' `
-ODataQuery '$expand=Properties($expand=ComputeVm)'
$vm.Properties.canApplyArtifacts
Investigue detalhes do artefato com falha
Um artefato pode parar de responder e eventualmente aparecer como Falha na lista de artefatos da VM do laboratório.
Investigue artefatos falhados concluindo estas etapas:
Vá para a página de lista Artefatos da VM do laboratório e selecione o artefato com status de Falha.
A visualização de detalhes do Artefato é aberta. Os detalhes incluem as informações Mensagem de implantação e Mensagem de extensão sobre a falha do artefato:
Inspecione os registros de atividades
Para instalar artefatos, o DevTest Labs cria e implanta um modelo do ARM (Azure Resource Manager) que solicita o uso da CSE (Extensão de Script Personalizado). Um erro nesse nível aparece nos logs de atividade da assinatura e no grupo de recursos que contém a VM do laboratório.
Note
Ao visualizar os logs de atividades, talvez seja necessário expandir as entradas do processo de instalação para ver os resumos de erros de falha.
Inspecione as entradas de log de atividades em busca de falhas relacionadas à instalação ou à aplicação do artefato na VM do laboratório, concluindo estas etapas:
Vá para a página Log de Atividades da VM do laboratório e localize o artefato com o status Falhado:
Selecione a entrada para abrir o painel de detalhes e visualizar as informações de registro:
Se você estiver tentando aplicar o artefato diretamente à VM do laboratório, procure erros de falha relacionados ao processo de instalação Criar ou Atualizar a Extensão da Máquina Virtual.
Se você estiver criando uma VM e aplicando o artefato durante o processo, procure erros de falha relatados para o processo de instalação Criar ou Atualizar Máquina Virtual.
O título do painel corresponde ao título da entrada, por exemplo, Aplicar artefatos à máquina virtual:
No painel de detalhes, selecione JSON para revisar o conteúdo da carga JSON. Você pode ver o erro no final do documento JSON:
Investigar o repositório de artefatos e a conta de armazenamento de laboratório
Ao aplicar um artefato, o DevTest Labs lê a configuração do artefato e os arquivos dos repositórios configurados. Se um artefato não for instalado ou aplicado à VM do laboratório, o problema poderá estar relacionado ao acesso ao repositório.
Por padrão, o DevTest Labs tem acesso ao repositório de artefatos público do DevTest Labs. Você também pode conectar um laboratório a um repositório privado para acessar artefatos personalizados. Dependendo da configuração, as VMs de laboratório podem não ter acesso direto ao repositório de artefatos. O DevTest Labs armazena em cache os artefatos em uma conta de armazenamento de laboratório criada quando o laboratório é inicializado pela primeira vez.
Se um artefato personalizado falhar na instalação, certifique-se de que o token de acesso pessoal (PAT) do repositório privado não tenha expirado. Se o PAT expirar, o artefato não será listado e todos os scripts que se referem aos artefatos desse repositório falharão.
Se o acesso à conta de armazenamento for bloqueado, você poderá ver um erro semelhante a este:
CSE Error: Failed to download all specified files. Exiting. Exception: Microsoft.WindowsAzure.Storage.StorageException: The remote server returned an error: (403) Forbidden. ---> System.Net.WebException: The remote server returned an error: (403) Forbidden.Por exemplo, você pode encontrar esse erro quando o tráfego é bloqueado da VM para o serviço de Armazenamento do Azure. O erro aparece no log de atividades do grupo de recursos da VM do laboratório.
Identifique os problemas de conexão do repositório com a conta de Armazenamento do Azure concluindo estas etapas:
Verifique se há NSG (grupos de segurança de rede) adicionados. Se uma política de assinatura for adicionada para configurar automaticamente NSGs em todas as redes virtuais, ela poderá afetar a rede virtual usada para criar suas VMs de laboratório.
Verifique todas as regras do NSG:
Use a verificação de fluxo de IP para determinar se uma regra de NSG está bloqueando o tráfego para ou de uma VM.
Examine as regras efetivas do grupo de segurança para garantir que exista uma regra NSG de Permissão de entrada. Para saber mais, confira Usar regras de segurança efetivas para solucionar problemas de fluxo de tráfego de VM.
Verifique a conta de armazenamento padrão do seu laboratório.
A conta de armazenamento padrão é a primeira conta de armazenamento criada durante a criação do laboratório. O nome geralmente começa com a letra "a" e termina com um número de vários dígitos:
a<labname>#.Vá para a página Visão geral do laboratório DevTest Labs e selecione Visualizador de recursos.
No diagrama, localize a conta de armazenamento que tem um nome que corresponde à convenção de nomenclatura descrita,
a<labname>#.Coloque o ponteiro do mouse sobre o recurso de conta de armazenamento , mova o ponteiro para o ícone i para ver o menu pop-up e selecione Exibir:
Na página Visão geral da conta de armazenamento, expanda a seção Segurança + rede no menu à esquerda e selecione Rede:
Na aba Firewalls e redes virtuais, verifique a configuração da opção Acesso à rede pública:
Se Habilitado a partir de redes virtuais e endereços IP selecionados estiver selecionado, confirme se a lista de endereços IP permitidos mostra as redes virtuais do laboratório que podem ser usadas para criar VMs de laboratório:
Caso contrário, confirme que Habilitado de todas as redes está selecionado:
Para uma solução de problemas detalhada, veja Configurar redes virtuais e firewalls do Armazenamento do Microsoft Azure.
Solucionar problemas na máquina do laboratório
Você pode se conectar à VM do laboratório onde o artefato falhou e investigar o problema.
Inspecionar o arquivo de log do CSE
Exiba o arquivo de log do CSE para uma VM do Windows concluindo estas etapas:
Conecte-se à VM do laboratório do DevTest Labs em execução.
No Explorador de Arquivos, acesse C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Status\. Um exemplo <Versão CSE> é
1.10.12.
Abra e inspecione um arquivo STATUS, como 1.status, para exibir o erro.
Para obter instruções sobre como localizar os arquivos de log em uma VM linux, consulte Usar o CSE do Azure versão 2 com máquinas virtuais linux.
Verifique o Agente de Máquina Virtual do Azure
Verifique se o Agente de Máquina Virtual do Azure (Agente de VM) para sua VM de laboratório está instalado e pronto.
Quando a VM do laboratório for iniciada pela primeira vez ou quando o CSE for instalado pela primeira vez para atender à solicitação de aplicação de artefatos, a VM do laboratório poderá precisar atualizar o Agente da VM ou aguardar a inicialização do Agente da VM. O Agente de VM pode depender de serviços que levam muito tempo para serem inicializados.
Determine se o Agente de VM está fazendo com que o artefato pare de responder concluindo estas etapas:
Conecte-se à VM do laboratório do DevTest Labs em execução.
No Explorador de Arquivos e vá para a pasta que contém os arquivos de log para sua VM de laboratório, por exemplo, C:\WindowsAzure\logs.
Abra o arquivo WaAppAgent.log.
No arquivo de log, procure entradas que mostrem o Agente VM iniciando, finalizando a inicialização e enviando a primeira pulsação. Verifique as entradas em busca de carimbos de data/hora em torno do momento em que você teve o problema do artefato. O snippet a seguir mostra alguns exemplos de entradas do arquivo de log:
[00000006] [11/14/2019 05:52:13.44] [INFO] WindowsAzureGuestAgent starting. Version 2.7.41491.949 ... [00000006] [11/14/2019 05:52:31.77] [WARN] Waiting for OOBE to Complete ... ... [00000006] [11/14/2019 06:02:30.43] [WARN] Waiting for OOBE to Complete ... [00000006] [11/14/2019 06:02:33.43] [INFO] StateExecutor initialization completed. [00000020] [11/14/2019 06:02:33.43] [HEART] WindowsAzureGuestAgent Heartbeat.Nesse exemplo, o Agente VM demorou 10 minutos e 20 segundos para iniciar. O atraso ocorreu porque o serviço OOBE (experiência fora da caixa) levou muito tempo para iniciar. O longo tempo de início do Agente VM fez com que o artefato parasse de responder.
Para obter informações gerais sobre extensões do Azure, confira Recursos e extensões de máquina virtual do Azure. Para obter mais ideias de resolução de problemas, veja visão geral do Agente de Máquina Virtual Azure.
Investigar problemas de script
Outro motivo pelo qual a instalação do artefato pode falhar é devido à maneira como o script de instalação do artefato é gravado.
Aqui estão alguns exemplos de possíveis problemas de script:
O script possui parâmetros obrigatórios, mas um valor esperado não é passado durante a execução do script. Esse cenário pode acontecer se o usuário tiver permissão para deixar um parâmetro esperado em branco e um valor padrão não for especificado no arquivo de definição artifactfile.json. Como resultado, o script para de responder porque está aguardando a entrada do usuário. Quando o script requer valores de parâmetros, é uma boa prática definir padrões e exigir que o usuário insira um valor.
O script requer ação do usuário durante a execução do script. Esse cenário pode acontecer se houver um longo atraso na execução do script enquanto aguarda a ação do usuário. É uma boa prática escrever scripts que podem funcionar silenciosamente sem exigir intervenção do usuário.
Determine se o script está fazendo com que o artefato pare de responder concluindo estas etapas:
Conecte-se à VM do laboratório do DevTest Labs em execução.
Abra o Explorador de Arquivos.
Vá para a pasta Baixar que tem o script de instalação do artefato para sua VM, por exemplo, C:\Packages\Plugins\Microsoft.Compute.CustomScriptExtension\<CSE version>\Downloads\. Um exemplo <Versão CSE> é
1.10.12.Para as etapas subsequentes, você pode trabalhar com o script nesta pasta ou copiar o script para uma pasta de trabalho em sua VM.
Abra uma janela do prompt de comando com privilégios administrativos em sua VM.
Execute o script de instalação do artefato na janela do prompt de comando.
Siga os prompts do script e insira os valores de parâmetro necessários. Para investigar se a falta de entrada do usuário ou a ação atrasada do usuário causa um problema, tente reproduzir o comportamento específico.
Determine se o script demonstra comportamento inesperado ou problemático.
Conforme necessário, corrija o script em sua VM de laboratório e execute o script novamente para confirmar se os problemas foram resolvidos.
Verifique a estrutura do artefato
Um artefato personalizado precisa ter a estrutura adequada. Certifique-se de confirmar se os artefatos customizados no script de instalação do artefato implementam a estrutura correta. Os recursos a seguir fornecem informações para ajudá-lo a concluir essa verificação:
- Para saber mais sobre como construir corretamente um artefato, confira Criar artefatos personalizados.
- Para ver um exemplo de um artefato corretamente estruturado, verifique o artefato Testar tipos de parâmetro.
- Para obter mais informações sobre como escrever e corrigir scripts de artefato, consulte A criação de artefatos.
Solicitar uma atualização de script
Você pode enviar correções de script propostas para artefatos hospedados no repositório público do DevTest Labs. Para obter detalhes, confira a seção Contribuições no documento README.
Get support
Se precisar de ajuda adicional, tente um dos seguintes canais de suporte:
Pesquise nos recursos da Comunidade da Microsoft informações sobre o Azure DevTest Labs e exiba postagens no Stack Overflow.
Conecte-se ao @AzureSupport, a conta oficial do Microsoft Azure para aprimorar a experiência do cliente. O Suporte do Azure conecta a Comunidade do Azure a respostas, suporte e especialistas.





