En este documento, se describe cómo verificar la instalación de la extensión de VM, diagnosticar problemas de lanzamiento de políticas y de estado de la extensión de VM, y ver los registros de depuración del agente invitado en las instancias de máquina virtual (VM) de Compute Engine. Usa estas instrucciones para identificar por qué no se instaló una extensión esperada, por qué se ejecuta una extensión inesperada en una VM o por qué se detuvo un proceso de extensión.
Antes de comenzar
Antes de solucionar problemas de extensiones de VM en tus VMs, completa los siguientes requisitos previos:
- Confirma que tienes los permisos necesarios para inspeccionar las políticas de extensiones, los metadatos de las extensiones que admite el Gestor de extensiones de VM y los estados de las extensiones de VM en tu jerarquía de recursos de Google Cloud . Para obtener más información, consulta Visualiza los detalles y el estado de la extensión de VM.
- Para identificar fallas de instalación, fallas o reversiones antes de conectarte a VMs individuales, consulta los eventos históricos de aplicación de políticas de extensiones en Cloud Logging. Para obtener más información, consulta Visualiza los registros de extensiones de VM.
- Para inspeccionar los procesos de extensión en ejecución y los registros de depuración del agente invitado directamente en una VM, confirma que puedes conectarte a la VM con SSH o RDP.
Verifica que se haya instalado una extensión
Para confirmar si una extensión está instalada y se ejecuta en una VM de Compute Engine, inspecciona el estado de la extensión de la VM con los métodos de solo lectura. Conéctate a la VM solo si necesitas detalles de los procesos o registros del SO invitado.
Inspecciona el estado de la extensión de VM con los métodos de solo lectura
Para verificar el estado del entorno de ejecución y el estado de las extensiones instaladas sin conectarte a la VM, ejecuta el comando gcloud beta compute instances list-vm-extension-states o gcloud beta compute instances get-vm-extension-state, o llama a los métodos equivalentes de la API de REST. La respuesta devuelve la versión activa de cada extensión, el estado de aplicación de política (enforcementState), el estado de mantenimiento (healthStatus), el mensaje de diagnóstico (healthMsg) y el ID de la política que rige (policyId). Para obtener más información, consulta Visualiza los estados de las extensiones de VM en una instancia.
Inspecciona los procesos de extensión en ejecución en la VM
Si las consultas de estado remoto no devuelven el estado esperado, conéctate a la VM y verifica si el proceso de extensión se está ejecutando en el sistema operativo invitado.
En la siguiente tabla, se enumeran los nombres de los procesos para cada extensión compatible:
| Nombre de la extensión | Nombre del proceso de la extensión |
|---|---|
google-cloud-sap-extension |
google_cloud_sap_agent |
google-cloud-workload-extension |
google_cloud_workload_agent |
ops-agent |
ops_agent |
Para verificar si el proceso de extensión se está ejecutando en tu VM, selecciona tu sistema operativo:
Linux
Para enumerar el proceso de extensión en ejecución, ejecuta el siguiente comando:
ps aux | grep 'EXTENSION_PROCESS_NAME'
EXTENSION_PROCESS_NAME por el nombre del proceso de la extensión de la tabla anterior.
Por ejemplo, para enumerar el proceso de extensión ops-agent, ejecuta el siguiente comando:
ps aux | grep 'ops_agent'
Windows
Para enumerar el proceso de extensión en ejecución, ejecuta el siguiente comando:
tasklist | findstr "EXTENSION_PROCESS_NAME"
EXTENSION_PROCESS_NAME por el nombre del proceso de la extensión de la tabla anterior.
Por ejemplo, para enumerar el proceso de extensión ops-agent, ejecuta el siguiente comando:
tasklist | findstr "ops_agent"
En el siguiente fragmento, se muestra un ejemplo del resultado del comando ps cuando la extensión ops-agent se ejecuta en una VM de Linux:
.... /var/lib/google-guest-agent/931374772276853249/plugins/ops-agent_baddabb3dac3 ....
Revisa las entradas de instalación del agente invitado
Para confirmar cuándo el agente invitado descargó, extrajo y, luego, inició un complemento de extensión, habilita y consulta los registros de depuración del agente invitado.
En el siguiente fragmento, se muestran entradas de registro de ejemplo del agente invitado cuando este instala e inicia la extensión ops-agent en una VM de 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"
Soluciona problemas de instalación
Si no se instala una extensión en una VM o se ejecuta una extensión inesperada en una VM, diagnostica el lanzamiento de la política, las etiquetas de destino y el estado de aplicación de política antes de volver a intentar la instalación.
Para identificar por qué no se pudo instalar una extensión en una VM, completa los siguientes pasos de diagnóstico:
- Espera a que se aplique la política. El lanzamiento de una política, incluidos los reintentos, puede tardar hasta una hora en completarse en las VMs de destino. Para obtener más información sobre cómo inspeccionar el progreso del lanzamiento, consulta Visualiza las políticas de extensiones.
- Comprueba que las etiquetas de inclusión que especificaste en la política coincidan con las etiquetas de la VM y verifica los metadatos de las extensiones que admite el Gestor de extensiones de VM:
- Para verificar los selectores de etiquetas de políticas y los números de prioridad en tu organización, carpeta o proyecto, consulta Visualiza las políticas de extensión.
- Para verificar los nombres, los números de versión y los niveles de asistencia de las extensiones que admite el Gestor de extensiones de VM en todas las zonas o en una zona específica, consulta Visualiza las extensiones y versiones de VM.
- Para verificar el estado de aplicación, el estado, el mensaje de diagnóstico y el ID de la política que rige (
policyId), inspecciona el estado de la extensión en la VM afectada. Los estados de error comunes incluyenINSTALL_FAILED,INCOMPATIBLEyROLLED_BACK. Cuando varias políticas se orientan a la misma VM, el campopolicyIdmuestra qué política rige cada extensión. Para obtener más información, consulta Visualiza los estados de las extensiones de VM en una instancia. - Para identificar errores de instalación a nivel de invitado en la VM, habilita y consulta los registros de depuración del agente invitado.
Reintentar la instalación de la extensión
Después de corregir la configuración de la política subyacente o el problema del SO invitado, vuelve a aplicar la configuración de la política para que el agente invitado vuelva a intentar la instalación en las VMs afectadas.
Para volver a intentar instalar la extensión, elige una de las siguientes opciones:
- Vuelve a crear la política: Borra la política y, luego, crea una nueva.
Aplica una política temporal de mayor prioridad: Para volver a intentar la instalación en VMs específicas sin volver a crear una política que afecte a una flota grande, completa los siguientes pasos:
- Agrega una etiqueta temporal, como
status=failed, a las VMs en las que falló la instalación. Crea una política temporal con una prioridad más alta (un valor entero más bajo) que se oriente a la etiqueta temporal. Por ejemplo, si la política original usa la prioridad predeterminada de
1000, para crear una política temporal con prioridad500, ejecuta el siguiente 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=failedDespués de que el agente invitado instale la extensión en las VMs de destino, borra la política temporal.
Quita la etiqueta temporal de las VMs. La extensión permanece instalada porque la política original aún rige esas VMs.
- Agrega una etiqueta temporal, como
Visualiza los registros de depuración del agente invitado
Si las consultas de estado remoto y los registros de eventos de Logging no muestran por qué no se pudo descargar o iniciar una extensión, habilita el registro de depuración detallado en la sección Core del archivo de configuración del agente invitado.
Para habilitar y ver los registros de depuración del agente de invitado, selecciona tu sistema operativo:
Linux
Para habilitar el registro de depuración en una VM de Linux, completa los siguientes pasos:
- Abre el archivo de configuración del agente invitado en
/etc/default/instance_configs.cfg. En
/etc/default/instance_configs.cfg, agrega los siguientes parámetros de configuración. Si ya existe la sección[Core], agregalog_levelylog_verbosityen[Core]:[Core] log_level = 4 log_verbosity = 4Para reiniciar el administrador de agentes invitados, ejecuta el siguiente comando:
sudo systemctl restart google-guest-agent-managerPara ver los registros del agente invitado que se generan durante la instalación de la extensión, ejecuta el siguiente comando:
journalctl -u google-guest-agent-manager
Windows
Para habilitar el registro de depuración en una VM de Windows, completa los siguientes pasos:
- Abre el archivo de configuración del agente invitado en
C:\Program Files\Google\Compute Engine\instance_configs.cfg. En
instance_configs.cfg, agrega los siguientes parámetros de configuración. Si ya existe la sección[Core], agregalog_levelylog_verbosityen[Core]:[Core] log_level = 4 log_verbosity = 4En una ventana de símbolo del sistema o PowerShell con privilegios elevados, ejecuta los siguientes comandos para reiniciar el administrador de agentes invitados:
net stop GCEAgentManager net start GCEAgentManagerEn PowerShell, para ver los registros del agente invitado que se generan durante la instalación de la extensión, ejecuta el siguiente comando:
Get-Eventlog -Source google_guest_agent_manager -LogName Application
Resuelve errores comunes del registro del agente invitado
Cuando inspecciones los registros de depuración del agente invitado, busca errores de restricción de recursos que impidan que las extensiones se extraigan o se ejecuten en la VM.
En la siguiente tabla, se enumeran los errores comunes que se informan en los registros de depuración del agente invitado y cómo resolverlos:
| Condición de error | Solución |
|---|---|
| No hay espacio suficiente en el disco | Si los registros informan que la VM no tiene suficiente espacio en el disco para descargar o extraer el archivo de extensión, borra los archivos que no se usen o cambia el tamaño del disco de arranque. |
| Uso excesivo de recursos | Si los registros indican que el agente invitado detuvo la extensión debido al uso elevado de memoria o CPU, cambia el tipo de máquina de la VM por uno con más memoria o CPU virtuales. |
¿Qué sigue?
- Para inspeccionar el progreso del lanzamiento y el estado de la extensión, consulta Visualiza los detalles y el estado de la extensión de VM.
- Para consultar los eventos de aplicación de políticas históricos y auditar la instalación en Logging, consulta Visualiza los registros de extensiones de VM.
- Para compilar paneles de Cloud Monitoring y configurar alertas para el estado del agente, la CPU y el uso de memoria, consulta Supervisa las extensiones de VM.
- Para modificar los parámetros de configuración, cambiar las versiones fijadas o quitar los agentes implementados, consulta Administra extensiones de VM con políticas de extensiones.