En este documento se describe cómo ver y leer las entradas del registro de cambios de estado de una VM de un grupo de instancias gestionado (MIG) y se proporcionan casos prácticos específicos para ayudarte a monitorizar las VMs del grupo.
Si has configurado la comprobación del estado basada en aplicaciones para un MIG, Compute Engine escribe una entrada de registro cada vez que cambia el estado de una instancia gestionada. Por ejemplo, cuando la instancia pasa del estado HEALTHY
al UNHEALTHY
. Estas entradas de registro te ayudan a monitorizar y depurar el estado de cada instancia gestionada, así como el estado general del MIG.
Antes de empezar
- Consulta Configurar comprobaciones del estado y recuperación automática.
-
Si aún no lo has hecho, configura la autenticación.
La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
- Set a default region and zone.
REST
Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.
Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:
gcloud init
Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.
Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .
Precios
Compute Engine usa Cloud Logging para generar entradas de registro de los cambios de estado de las instancias gestionadas. Cloud Logging te ofrece una asignación gratuita al mes. Después, las entradas de registro se cobran por volumen de datos. Para obtener más información, consulta el resumen de precios de Cloud Logging.
Para evitar los costes de registro, puedes inhabilitar los registros de cambios de estado de salud.
Ver registros de cambios de estado
Siempre que los registros de cambios de estado de salud permanezcan habilitados, Compute Engine escribirá una entrada de registro en los registros de la plataforma cada vez que cambie el estado de salud de una instancia gestionada. Puedes ver estos registros de un proyecto, de un MIG específico o de una instancia gestionada específica.
Ver los registros de un proyecto o un MIG
Para ver las entradas de registro de un proyecto o de un MIG específico, usa laGoogle Cloud consola, la CLI de gcloud o REST.
Consola
Ve a Explorador de registros en la consola de Google Cloud .
Define los siguientes parámetros de consulta:
- Recurso: administrador de grupos de instancias de GCE
- Nombre del registro:
instance_group_manager_events
También puede copiar la siguiente consulta en el creador de consultas.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*
Puedes acotar la búsqueda a un grupo de instancias gestionadas específico con la siguiente consulta.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
Haz clic en Realizar una consulta. En Resultados de la consulta se mostrarán los registros.
gcloud
Usa el comando
gcloud logging read
para ver y leer las entradas de registro.Para ver todos los registros de cambios de estado de salud de tu proyecto, usa el siguiente comando:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*'\ --limit 10
Para ver todos los registros de cambios de estado de salud de un grupo de instancias gestionadas específico, usa el siguiente comando:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"' \ --limit 10
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyecto.MIG_NAME
: el MIG del que quieres ver los registros de cambios de estado de salud.
REST
Para ver los registros de cambios de estado de salud, haz una solicitud
POST
al métodoentries.list
.Para ver todos los registros de cambios de estado de salud de tu proyecto, usa el siguiente comando:
curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:*", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Para ver los registros de cambios de estado de un grupo de instancias gestionado específico, usa el siguiente comando:
curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name=MIG_NAME", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Haz los cambios siguientes:
OAUTH2_TOKEN
: token de acceso de tu aplicación. Para hacer pruebas locales, puedes usar el comandogcloud auth print-access-token
para generar un token.PROJECT_ID
: tu ID de proyecto.MIG_NAME
: el MIG del que quieres ver los registros de cambios de estado de salud.
Para obtener más información sobre cada entrada de registro, consulta Formato de las entradas de registro.
En función de si quieres archivar los registros, usarlos para analizarlos, transmitirlos a otras aplicaciones o activar una función de Cloud, puedes exportarlos a destinos como Cloud Storage, BigQuery o Pub/Sub. Para obtener más información sobre la exportación de registros, consulta el artículo Descripción general de las exportaciones de registros.
Ver los registros de cambios de estado de una VM específica
Para ver las entradas de registro de una instancia gestionada específica, usa la consolaGoogle Cloud , gcloud CLI o REST.
Consola
Ve a Explorador de registros en la consola de Google Cloud .
Copia la siguiente consulta en el creador de consultas.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"
Haz clic en Realizar una consulta.
gcloud
Usa el comando
gcloud logging read
para ver y leer las entradas de registro.Para ver los registros de cambios de estado de una instancia gestionada, usa el siguiente comando:
gcloud logging read 'resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"' \ --limit 10
Haz los cambios siguientes:
PROJECT_ID
: tu ID de proyecto.INSTANCE_NAME
: la instancia gestionada de la que quieres ver los registros de cambios de estado de salud.
REST
Para ver los registros de cambios de estado de una instancia gestionada, haz una solicitud
POST
al métodoentries.list
.curl -H "Content-Type: application/json" -H "Authorization: Bearer OAUTH2_TOKEN" -X POST -d \ '{"filter": "resource.type=gce_instance_group_manager AND logName=projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events AND jsonPayload.instanceHealthStateChange:* AND labels.\"compute.googleapis.com/instance_name\"=\"INSTANCE_NAME\"", "orderBy": "timestamp desc", "pageSize": 10, "resourceNames": ["projects/PROJECT_ID"] }' https://logging.googleapis.com/v2/entries:list?alt=json
Haz los cambios siguientes:
OAUTH2_TOKEN
: token de acceso de tu aplicación. Para hacer pruebas locales, puedes usar el comandogcloud auth print-access-token
para generar un token.PROJECT_ID
: tu ID de proyecto.INSTANCE_NAME
: la instancia gestionada de la que quieres ver los registros de cambios de estado de salud.
Formato de las entradas de registro
Las entradas del registro de cambios de estado de salud de las instancias contienen información útil para monitorizar y depurar el estado de las instancias gestionadas.
Los registros se escriben en los registros de la plataforma con el nombre de registro
instance_group_manager_events
. Los registros de la plataforma te ayudan a depurar y solucionar problemas.logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events"
Las entradas del registro de cambios de estado de salud contienen los siguientes tipos de información:
- Información general que se muestra en la mayoría de los registros, como la gravedad, el ID del proyecto, el nombre y el ID del MIG, el número del proyecto, la marca de tiempo, etc.
- Campos específicos del estado de salud de la instancia.
En cada entrada del registro de cambios de estado de salud, el campo
jsonPayload.instanceHealthStateChange
contiene la siguiente información:Campo Descripción instance
URL de la instancia, basada en el ID de proyecto de cadena y el nombre de la instancia. instanceWithId
URL de la instancia, basada en su ID de proyecto numérico y su ID de instancia. ipAddress
Dirección IP de la instancia, tal como se ha comprobado en la comprobación del estado. network
URL del recurso de red de esta instancia, basada en el ID de proyecto de cadena y el nombre de la red. networkWithId
URL del recurso de red de esta instancia, basada en su ID de proyecto numérico y su ID de red. healthCheck
URL de la comprobación del estado configurada para el grupo de instancias gestionado. previousDetailedHealthState
Estado de salud anterior de la instancia. Para ver la lista de posibles estados, consulta Estados de salud. detailedHealthState
Estado de salud actual de la instancia. Para ver la lista de posibles estados, consulta Estados de salud. notificationTime
Marca de tiempo de cuándo se produjo el cambio de estado de salud. Los campos de registro de tipo booleano solo suelen aparecer si tienen el valor
true
. Si un campo booleano tiene el valorfalse
, se omite en el registro.Se aplica la codificación UTF-8 a los campos de registro. Los caracteres que no son UTF-8 se sustituyen por signos de interrogación.
Ejemplo de entrada de registro
En el siguiente ejemplo se muestra el cambio de estado de una instancia de VM de
HEALTHY
aUNHEALTHY
:{ "logName": "projects/my-project/logs/compute.googleapis.com%2Finstance_group_manager_events", "resource": { "type": "gce_instance_group_manager", "labels": { "instance_group_manager_id": "3138236342290985981", "instance_group_manager_name": "my-mig", "project_id": "my-project", "location": "europe-west3" } }, "labels": { "compute.googleapis.com/instance_id": "6498902454451155884", "compute.googleapis.com/instance_location": "europe-west3-a", "compute.googleapis.com/instance_name": "my-mig-a" }, "timestamp": "2019-11-19T15:47:57.127Z", "severity": "INFO", "jsonPayload": { "@type": "type.googleapis.com/compute.InstanceGroupManagerEvent", "instanceHealthStateChange": { "instance": "projects/my-project/zones/europe-west3-a/instances/my-mig-a", "instanceWithId": "projects/123456/zones/europe-west3-a/instances/6498902454451155884", "ipAddress": "10.0.0.4", "network": "projects/my-project/global/networks/net-1", "networkWithId": "projects/123456/global/networks/456", "healthCheck": "projects/my-project/global/healthChecks/my-mig-health-check", "previousDetailedHealthState": "HEALTHY", "detailedHealthState": "UNHEALTHY", "notificationTime": "2019-11-19T15:47:56.444Z" } }, "receiveTimestamp": "2019-11-19T15:47:57.296439184Z" }
Casos prácticos
Puede usar los registros de cambios de estado de salud en los siguientes casos de supervisión o depuración:
- Consulta con qué frecuencia ha cambiado el estado de una instancia de VM concreta a lo largo del tiempo.
- Evalúa la frecuencia con la que un MIG ha experimentado cambios en el estado de sus instancias.
- Identifica las instancias de VM problemáticas que suelen pasar al estado
UNHEALTHY
. - Descubre qué ha provocado un intento de reparación automática.
- Consulta si se ha realizado correctamente un intento de reparación automática de una instancia de VM específica.
- Ajusta la configuración de las comprobaciones de estado de una aplicación determinando un retraso inicial adecuado para la reparación automática.
Monitorizar los cambios de estado de una VM
Para monitorizar la frecuencia con la que cambia el estado de una instancia de VM, puedes crear una métrica que registre los cambios de estado de esa VM en concreto.
Para crear la métrica y monitorizar los cambios, haz lo siguiente:
Ve a Explorador de registros en la consola de Google Cloud .
Introduce la siguiente consulta en el generador Consulta, usando el ID de tu proyecto y el nombre de la instancia.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME"
En la sección Resultados de la consulta, haga clic en Acciones y, a continuación, en Crear métrica.
En la página Crear métrica de registros, haz lo siguiente:
- En Tipo de métrica, selecciona Contador.
Escribe un nombre de métrica de registro, como
health-mig-xyzq
.En la sección Crear filtro se muestra la consulta de registro del Explorador de registros. También puede configurar el filtro de la métrica para que solo tenga en cuenta los estados disruptivos, como
UNHEALTHY
yTIMEOUT
, añadiendoseverity>=WARNING
al filtro.En Etiquetas, haz clic en Añadir etiqueta.
Introduce un nombre de etiqueta, por ejemplo,
health_state
.En Tipo de etiqueta, selecciona
STRING
.En Nombre del campo, introduzca
jsonPayload.instanceHealthStateChange.detailedHealthState
. De esta forma, podrás distinguir entre los diferentes cambios de estado de salud.Haz clic en Hecho para añadir la etiqueta.
Haz clic en Crear métrica.
Ve a la página Métricas basadas en registros y busca la métrica que acabas de crear.
Haz clic en el menú more_vert de la fila de la métrica y selecciona Ver en el explorador de métricas. Se abre el Explorador de métricas y se muestra el gráfico que representa los cambios en el estado de la instancia de VM que ha especificado en la consulta.
Monitorizar los cambios de estado de todas las VMs de un MIG
Para monitorizar los cambios de estado de todas las instancias gestionadas, puedes crear una métrica que registre estos cambios.
Para crear la métrica y monitorizar los cambios, haz lo siguiente:
Ve a Explorador de registros en la consola de Google Cloud .
Introduce la siguiente consulta en el generador Consulta con el ID de tu proyecto y el nombre del grupo de instancias gestionado.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
En la sección Resultados de la consulta, haga clic en Acciones y, a continuación, en Crear métrica.
En la página Crear métrica de registros, haz lo siguiente:
- En Tipo de métrica, selecciona Contador.
- Escribe un nombre de métrica de registro, como
health-mig-xyzq
. - En Etiquetas, haz clic en Añadir etiqueta.
- Introduce un nombre de etiqueta, por ejemplo,
health_state
. - En Tipo de etiqueta, selecciona
STRING
. - En Nombre del campo, introduzca
jsonPayload.instanceHealthStateChange.detailedHealthState
. Esto te permitirá distinguir entre los diferentes cambios de estado de salud. - Haz clic en Hecho para añadir la etiqueta.
- Haz clic en Crear métrica.
Ve a la página Métricas basadas en registros y busca la métrica que acabas de crear.
Haz clic en el menú more_vert de la fila de la métrica y selecciona Ver en el explorador de métricas. Se abre el Explorador de métricas y se muestra el gráfico que representa los cambios de estado de todas las instancias de VM del grupo de instancias gestionado que has especificado en la consulta.
Identificar las VMs que suelen estar en mal estado
Para identificar las máquinas virtuales problemáticas que pasan a
UNHEALTHY
con frecuencia, puedes crear una métrica que monitorice los cambios de estado de todas las instancias de VM de tu MIG y agrupar la métrica por instancias.Para crear la métrica y agrupar por instancias, siga estos pasos:
Ve a Explorador de registros en la consola de Google Cloud .
Introduce la siguiente consulta en el generador Consulta con el ID de tu proyecto y el nombre del grupo de instancias gestionado.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND resource.labels.instance_group_manager_name="MIG_NAME"
En la sección Resultados de la consulta, haga clic en Acciones y, a continuación, en Crear métrica.
En la página Crear métrica de registros, haz lo siguiente:
- En Tipo de métrica, selecciona Contador.
- Escribe un nombre de métrica de registro, como
health-mig-xyzq
. - En Etiquetas, haz clic en Añadir etiqueta.
- Introduce un nombre de etiqueta, por ejemplo,
health_state
. - En Tipo de etiqueta, selecciona
STRING
. - En Nombre del campo, introduzca
jsonPayload.instanceHealthStateChange.detailedHealthState
. Esto te permitirá distinguir entre los diferentes cambios de estado de salud. - Haz clic en Hecho para añadir la etiqueta.
- Del mismo modo, añade una segunda etiqueta, por ejemplo
instance
, con el Nombre del campo definido comojsonPayload.instanceHealthStateChange.instance
. - Haz clic en Crear métrica.
Ve a la página Métricas basadas en registros y busca la métrica que acabas de crear.
Haz clic en el menú more_vert de la fila de la métrica y selecciona Ver en el explorador de métricas. Se abre el Explorador de métricas y se muestra el gráfico que representa los cambios de estado de todas las instancias de VM del grupo de instancias gestionado que has especificado en la consulta.
En Agrupar por, seleccione
instance
para ver el número total de cambios de estado de salud de cada instancia.
Las instancias con más cambios de estado de salud en total son las que pasan a estar en mal estado con más frecuencia.
Comprobar qué ha provocado un intento de reparación automática
Para saber qué ha provocado un intento de reparación automática, puedes filtrar los registros de operaciones
repair
de una instancia de VM concreta.Para filtrar las operaciones de reparación, siga estos pasos:
Ve a Explorador de registros en la consola de Google Cloud .
Introduce la siguiente consulta en el generador Consulta, usando el ID de tu proyecto y el nombre de la instancia.
resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" AND protoPayload.methodName="compute.instances.repair.recreateInstance" AND protoPayload.resourceName=~"/INSTANCE_NAME$"
Haz clic en Realizar una consulta. En Resultados de la consulta se mostrarán todos los intentos de reparación automática de la VM, así como el motivo de la reparación automática en
protoPayload.status.message
.
Comprobar si la reparación automática se ha realizado correctamente en una VM
Para saber si un intento de reparación automática de una instancia de VM se ha completado correctamente, puedes filtrar los registros por operaciones
repair
y cambios de estado por nombre de instancia de VM. Si el estado de salud de la instancia cambia aHEALTHY
después de una operación de reparación, verá un registro de cambios de estado de salud correspondiente. Sigue estos pasos:Ve a Explorador de registros en la consola de Google Cloud .
Introduce la siguiente consulta en el generador Consulta, usando el ID de tu proyecto y el nombre de la instancia.
(resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" AND protoPayload.methodName="compute.instances.repair.recreateInstance" AND protoPayload.resourceName=~"/INSTANCE_NAME$") OR (resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME")
La primera parte de la consulta muestra las operaciones de reparación de la instancia, que indican que la recreación se ha activado mediante la reparación automática de MIG para que la instancia vuelva a estar en buen estado. La segunda parte de la consulta muestra todos los cambios de estado de la instancia de VM.
En los Resultados de la consulta, el evento de cambio de estado de salud con
detailedHealthState
definido comoHEALTHY
poco después de una operación de reparación muestra que el intento de reparación automática se ha realizado correctamente.
Determinar el valor del retraso inicial de un MIG
Determinar un valor de retraso inicial adecuado para la reparación automática de MIG es más fácil con el registro del estado de las instancias de VM. Puedes usar los registros para observar el tiempo transcurrido entre el momento en que finalizó la operación
instances.insert
y el momento en que se recibió la primera señal correcta de un conjunto de instancias de un grupo. Este intervalo de tiempo revela cuánto tardan las instancias en iniciarse por completo. Como algunas máquinas virtuales pueden iniciarse más lentamente que otras, Google recomienda añadir un margen al tiempo de inicialización observado (desde la operación de inserción hasta el estado correcto) al especificar el retraso inicial en la política de reparación automática.Para medir el tiempo transcurrido entre la operación de inserción de la instancia y el momento en que la instancia pasa a estar en buen estado, ejecuta una consulta de operaciones
insert
y registros de cambios de estado por nombre de instancia de VM. Usa las marcas de tiempo de ambas operaciones para calcular el tiempo de inicialización de la instancia. Sigue estos pasos:Ve a Explorador de registros en la consola de Google Cloud .
Introduce la siguiente consulta en el generador Consulta, usando el ID de tu proyecto y el nombre de la instancia.
(resource.type="gce_instance" AND logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Factivity" AND protoPayload.request.@type="type.googleapis.com/compute.instances.insert" AND operation.last="true" AND protoPayload.resourceName=~"/INSTANCE_NAME$") OR (resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:* AND labels."compute.googleapis.com/instance_name"="INSTANCE_NAME")
La primera parte de la consulta muestra que se ha completado la operación de inserción de la VM. En la segunda parte se muestran todos los cambios de estado de la VM.
En Resultados de la consulta, la marca de tiempo del evento de cambio de estado de salud con
detailedHealthState
definido comoHEALTHY
poco después de la operación de inserción revela el tiempo necesario para que se inicie esta VM.Repite los pasos con algunas VMs más para obtener un valor aproximado más preciso del parámetro de retraso inicial.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2025-09-12 (UTC).
-