Neste documento, descrevemos como verificar a instalação da extensão de VM, diagnosticar problemas de lançamento de políticas e de estado da extensão de VM e visualizar registros de depuração do agente convidado em instâncias de máquina virtual (VM) do Compute Engine. Use estas instruções para identificar por que uma extensão esperada não foi instalada, por que uma extensão inesperada é executada em uma VM ou por que um processo de extensão foi interrompido.
Antes de começar
Antes de resolver problemas de extensão de VM nas suas VMs, conclua os seguintes pré-requisitos:
- Confirme se você tem as permissões necessárias para inspecionar políticas de extensão, metadados de extensões compatíveis com o Gerenciador de Extensões de VM e estados de extensão de VM na sua hierarquia de recursos do Cloud de Confiance by S3NS . Para mais informações, consulte Ver detalhes e status da extensão da VM.
- Para identificar falhas de instalação, falhas ou reversões antes de se conectar a VMs individuais, verifique os eventos históricos de aplicação de extensões no Cloud Logging. Para mais informações, consulte Visualizar registros de extensão de VM.
- Para inspecionar os processos de extensão em execução e os registros de depuração do agente convidado diretamente em uma VM, confirme se é possível se conectar à VM usando SSH ou RDP.
Verificar se uma extensão está instalada
Para confirmar se uma extensão está instalada e em execução em uma VM do Compute Engine, inspecione o estado dela usando os métodos somente leitura. Conecte-se à VM somente se precisar de detalhes do processo ou do registro do SO convidado.
Inspecionar o estado da extensão da VM usando os métodos somente leitura
Para verificar o estado do ambiente de execução e o status de integridade das extensões instaladas sem se conectar à VM, execute o comando gcloud beta compute instances list-vm-extension-states ou gcloud beta compute instances get-vm-extension-state ou chame os métodos equivalentes da API REST. A resposta retorna a versão ativa de cada extensão, o estado de aplicação (enforcementState), o status de integridade (healthStatus), a mensagem de diagnóstico (healthMsg) e o ID da política de controle (policyId). Para mais informações, consulte Ver estados de extensão de VM em uma instância.
Inspecionar os processos de extensão em execução na VM
Se as consultas de estado remoto não retornarem o status esperado, conecte-se à VM e verifique se o processo da extensão está em execução no sistema operacional convidado.
A tabela a seguir lista os nomes de processo de cada extensão compatível:
| Nome da extensão | Nome do processo de extensão |
|---|---|
google-cloud-sap-extension |
google_cloud_sap_agent |
google-cloud-workload-extension |
google_cloud_workload_agent |
ops-agent |
ops_agent |
Para verificar se o processo de extensão está em execução na VM, selecione seu sistema operacional:
Linux
Para listar o processo de extensão em execução, execute o seguinte comando:
ps aux | grep 'EXTENSION_PROCESS_NAME'
EXTENSION_PROCESS_NAME pelo nome do processo da extensão na tabela anterior.
Por exemplo, para listar o processo de extensão ops-agent, execute o seguinte comando:
ps aux | grep 'ops_agent'
Windows
Para listar o processo de extensão em execução, execute o seguinte comando:
tasklist | findstr "EXTENSION_PROCESS_NAME"
EXTENSION_PROCESS_NAME pelo nome do processo da extensão da tabela anterior.
Por exemplo, para listar o processo de extensão ops-agent, execute o seguinte comando:
tasklist | findstr "ops_agent"
O snippet a seguir mostra um exemplo de saída do comando ps quando a extensão ops-agent está em execução em uma VM do Linux:
.... /var/lib/google-guest-agent/931374772276853249/plugins/ops-agent_baddabb3dac3 ....
Analisar as entradas de instalação do agente convidado
Para confirmar quando o agente convidado fez o download, extraiu e iniciou um plug-in de extensão, ative e confira os registros de depuração do agente convidado.
O snippet a seguir mostra exemplos de entradas de registro do agente convidado quando ele instala e inicia a extensão ops-agent em uma VM do Linux:
my-instance google_guest_agent [14972]: Installing plugin "ops-agent", revision "2dfa648c1892da87" my-instance google_guest_agent [14972]: (client.go:181) Sent message [[type.googleapis.com/agent_controlplane.PluginEventMessage: (revision_id:"2dfa648c1892da87)]] my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "DownloadPluginStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (pluginengine.go:316) Successfully downloaded "https://storage.googleapis.com/acp-gcs-bucket-us-central1-a/ops-agent my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "UnpackPluginArchiveStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (pluginengine.go:361) Successfully unpacked "/var/lib/google-guest-agent/ops-agent.tar.gz" to "/google-guest-agent/ops-agent_2dfa648c1892da87 my-instance google_guest_agent [14972]: (pluginengine.go:202) Running "LaunchPluginStep" on plugin "ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (run_linux.go:32) Attempting process start: (OutputType:0 Name:/var/lib/google-guest-agent/plugins/ops-agent_2dfa648c1892da87) my-instance google_guest_agent [14972]: (pluginlauncher.go:132) Launched a plugin process from "/var/lib/google-guest-agent/plugins/ops-agent_2dfa648c1892da87" my-instance google_guest_agent [14972]: (plugin.go:136) Dialing in on plugin "ops-agent 2dfa648c1892da87" my-instance google_guest_agent [14972]: (plugin.go:51) Executing start request on plugin "ops-agent_2dfa648c1892da87"
Resolver problemas na instalação
Se uma extensão não estiver instalada em uma VM ou se uma extensão inesperada for executada em uma VM, diagnostique o lançamento da política, os rótulos de destino e o estado de aplicação antes de tentar a instalação novamente.
Para identificar por que uma extensão não foi instalada em uma VM, siga estas etapas de diagnóstico:
- Aguarde a aplicação da política. O lançamento de uma política, incluindo novas tentativas, pode levar até uma hora para ser concluído nas VMs de destino. Para mais informações sobre como inspecionar o progresso do lançamento, consulte Ver políticas de extensão.
- Verifique se os rótulos de inclusão especificados na política correspondem aos rótulos na VM e verifique os metadados das extensões compatíveis com o Gerenciador de Extensões de VM:
- Para verificar os seletores de rótulos de política e os números de prioridade na organização, pasta ou projeto, consulte Ver políticas de extensão.
- Para verificar os nomes, números de versão e níveis de suporte das extensões que o Gerenciador de extensões de VM aceita em todas as zonas ou em uma zona específica, consulte Ver extensões e versões de VM.
- Para verificar o estado de aplicação, o status de integridade, a mensagem de diagnóstico e o ID da política de controle (
policyId), inspecione o estado da extensão na VM afetada. Os estados de erro comuns incluemINSTALL_FAILED,INCOMPATIBLEeROLLED_BACK. Quando várias políticas segmentam a mesma VM, o campopolicyIdmostra qual política rege cada extensão. Para mais informações, consulte Ver estados de extensão de VM em uma instância. - Para identificar erros de instalação no nível do convidado na VM, ative e visualize os registros de depuração do agente convidado.
Tentar instalar a extensão de novo
Depois de corrigir a configuração da política ou o problema do SO convidado, aplique novamente a configuração da política para que o agente convidado tente instalar novamente nas VMs afetadas.
Para tentar instalar a extensão novamente, escolha uma das seguintes opções:
- Recrie a política: exclua a política e crie uma nova.
Aplicar uma política temporária de prioridade mais alta: para tentar instalar novamente em VMs específicas sem recriar uma política que afete uma grande frota, siga estas etapas:
- Adicione um rótulo temporário, como
status=failed, às VMs em que a instalação falhou. Crie uma política temporária com uma prioridade mais alta (um valor inteiro menor) que tenha como destino o rótulo temporário. Por exemplo, se a política original usar a prioridade padrão de
1000, para criar uma política temporária com prioridade500, execute o seguinte comando:gcloud compute zone-vm-extension-policies create temp-policy \ --project=test-project \ --zone=us-central1-f \ --extensions=ops-agent \ --config-from-file=ops-agent="/usr/ops-agent-config.yaml" \ --priority=500 \ --inclusion-labels=status=failedDepois que o agente convidado instalar a extensão nas VMs de destino, exclua a política temporária.
Remova o rótulo temporário das VMs. A extensão permanece instalada porque a política original ainda rege essas VMs.
- Adicione um rótulo temporário, como
Ver registros de depuração do agente convidado
Se as consultas de estado remoto e os logs de eventos do Logging não mostrarem por que uma extensão não foi transferida por download ou iniciada, ative o registro de depuração detalhado na seção Core do arquivo de configuração do agente convidado.
Para ativar e visualizar os registros de depuração do agente convidado, selecione seu sistema operacional:
Linux
Para ativar o registro de depuração em uma VM do Linux, siga estas etapas:
- Abra o arquivo de configuração do agente convidado em
/etc/default/instance_configs.cfg. Em
/etc/default/instance_configs.cfg, adicione as configurações a seguir. Se a seção[Core]já existir, adicionelog_levelelog_verbosityem[Core]:[Core] log_level = 4 log_verbosity = 4Para reiniciar o gerenciador de agentes convidados, execute o seguinte comando:
sudo systemctl restart google-guest-agent-managerPara ver os registros agênticos do agente convidado gerados durante a instalação da extensão, execute o seguinte comando:
journalctl -u google-guest-agent-manager
Windows
Para ativar o registro de depuração em uma VM do Windows, siga estas etapas:
- Abra o arquivo de configuração do agente convidado em
C:\Program Files\Google\Compute Engine\instance_configs.cfg. Em
instance_configs.cfg, adicione as configurações a seguir. Se a seção[Core]já existir, adicionelog_levelelog_verbosityem[Core]:[Core] log_level = 4 log_verbosity = 4Em uma janela elevada do prompt de comando ou do PowerShell, para reiniciar o gerenciador de agentes convidados, execute os seguintes comandos:
net stop GCEAgentManager net start GCEAgentManagerNo PowerShell, para ver os registros agênticos do agente convidado gerados durante a instalação da extensão, execute o seguinte comando:
Get-Eventlog -Source google_guest_agent_manager -LogName Application
Resolver erros comuns de registro agêntico
Ao inspecionar os registros de depuração do agente convidado, verifique se há erros de restrição de recursos que impedem que as extensões sejam extraídas ou executadas na VM.
A tabela a seguir lista os erros comuns informados nos registros de depuração do agente convidado e como resolvê-los:
| Condição de erro | Resolução |
|---|---|
| Espaço em disco insuficiente | Se os registros informarem que a VM não tem espaço em disco suficiente para baixar ou extrair o arquivo da extensão, exclua os arquivos não utilizados ou redimensione o disco de inicialização. |
| Uso excessivo de recursos | Se os registros indicarem que o agente convidado interrompeu a extensão devido ao alto uso de memória ou CPU, mude o tipo de máquina da VM para um com mais memória ou vCPUs. |
A seguir
- Para inspecionar o progresso do lançamento e o status de integridade da extensão, consulte Ver detalhes e status da extensão de VM.
- Para consultar eventos históricos de aplicação e auditar a instalação no Logging, consulte Ver registros de extensão de VM.
- Para criar painéis do Cloud Monitoring e configurar alertas de integridade do agente, uso da CPU e uso da memória, consulte Monitorar extensões de VM.
- Para modificar as definições de configuração, alterar as versões fixadas ou remover os agentes implantados, consulte Gerenciar extensões de VM usando políticas de extensão.