Este documento describe cómo ver y leer las entradas del registro de cambios de estado de una VM en un grupo de instancias administrado (MIG) y proporciona casos de uso específicos para ayudarlo a monitorear las VM en el grupo.
Si configuró la verificación de estado basada en aplicaciones para MIG, Compute Engine escribe una entrada de registro cada vez que cambia el estado de salud de una instancia administrada; por ejemplo, cuando la instancia pasa del estado HEALTHY
a UNHEALTHY
. Estas entradas de registro le ayudan a monitorear y depurar el estado de cada instancia administrada, así como el estado general del MIG.
Antes de comenzar
- Revisar la configuración de la comprobación de estado y la reparación automática .
- Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras 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
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
Vaya al Explorador de registros en la consola de Google Cloud.
Establezca los siguientes parámetros de consulta:
- Recurso : Administrador de grupo de instancias de GCE
- Nombre de registro :
instance_group_manager_events
Alternativamente, puede copiar la siguiente consulta en el Generador de consultas .
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*
Puede limitar su búsqueda a un grupo de instancias administrado específico mediante 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"
Haga clic en Ejecutar consulta . Los resultados de la consulta mostrarán los registros.
-
PROJECT_ID
: su ID de proyecto . -
MIG_NAME
: el MIG para el cual desea ver los registros de cambios de estado de salud. -
OAUTH2_TOKEN
: el token de acceso de su aplicación. Para pruebas locales, puedes usar el comandogcloud auth print-access-token
para generar un token. -
PROJECT_ID
: su ID de proyecto . -
MIG_NAME
: el MIG para el cual desea ver los registros de cambios de estado de salud. Vaya al Explorador de registros en la consola de Google Cloud.
Copie la siguiente consulta en el generador 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"
Haga clic en Ejecutar consulta .
-
PROJECT_ID
: su ID de proyecto . -
INSTANCE_NAME
: la instancia administrada para la que desea ver los registros de cambios de estado de salud. -
OAUTH2_TOKEN
: el token de acceso de su aplicación. Para pruebas locales, puedes usar el comandogcloud auth print-access-token
para generar un token. -
PROJECT_ID
: su ID de proyecto . -
INSTANCE_NAME
: la instancia administrada para la que desea ver los registros de cambios de estado de salud. - Información general que se muestra en la mayoría de los registros, como gravedad, ID del proyecto, nombre e ID de MIG, número de proyecto, marca de tiempo, etc.
- Campos específicos del estado de salud de la instancia.
- Descubra con qué frecuencia una instancia de VM en particular cambió su estado de salud a lo largo del tiempo.
- Evaluar con qué frecuencia un MIG experimentó cambios en el estado de salud de sus instancias.
- Identifique instancias de VM problemáticas que con frecuencia no son
UNHEALTHY
. - Descubra qué provocó un intento de autocuración.
- Descubra si un intento de reparación automática tuvo éxito para una instancia de VM específica.
- Ajuste la configuración de verificación de estado para una aplicación determinando un retraso inicial apropiado para la reparación automática.
Vaya al Explorador de registros en la consola de Google Cloud.
Ingrese la siguiente consulta en el Generador de consultas , utilizando el ID de su 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 luego haga clic en Crear métrica .
En la página Crear métrica de registros , haga lo siguiente:
- Establezca el tipo de métrica como contador .
Introduzca un nombre de métrica de registro , por ejemplo
health-mig-xyzq
.La sección Filtro de compilación muestra la consulta de registro desde el Explorador de registros . También puede configurar el filtro de la métrica para que tenga en cuenta solo estados disruptivos, como
UNHEALTHY
yTIMEOUT
, agregandoseverity>=WARNING
al filtro.En Etiquetas , haga clic en Agregar etiqueta .
Introduzca un nombre de etiqueta , por ejemplo
health_state
.Establezca el tipo de etiqueta como
STRING
.Establezca el nombre del campo en
jsonPayload.instanceHealthStateChange.detailedHealthState
. Esto le permitirá distinguir entre diferentes cambios en el estado de salud.Haga clic en Listo para agregar la etiqueta.
Haga clic en Crear métrica .
Vaya a la página Métricas basadas en registros y busque la métrica recién creada.
Haga clic en el menú more_vert en la fila de la métrica y seleccione Ver en el Explorador de métricas . El explorador de métricas se abre y muestra el gráfico que representa los cambios en el estado de salud de la instancia de VM que especificó en la consulta.
Vaya al Explorador de registros en la consola de Google Cloud.
Ingrese la siguiente consulta en el generador de consultas , utilizando el ID de su proyecto y el nombre del grupo de instancias administrado.
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 luego haga clic en Crear métrica .
En la página Crear métrica de registros , haga lo siguiente:
- Establezca el tipo de métrica como contador .
- Introduzca un nombre de métrica de registro , por ejemplo
health-mig-xyzq
. - En Etiquetas , haga clic en Agregar etiqueta .
- Introduzca un nombre de etiqueta , por ejemplo
health_state
. - Establezca el tipo de etiqueta como
STRING
. - Establezca el nombre del campo en
jsonPayload.instanceHealthStateChange.detailedHealthState
. Esto le permitirá distinguir entre diferentes cambios en el estado de salud. - Haga clic en Listo para agregar la etiqueta.
- Haga clic en Crear métrica .
Vaya a la página Métricas basadas en registros y busque la métrica recién creada.
Haga clic en el menú more_vert en la fila de la métrica y seleccione Ver en el Explorador de métricas . El explorador de métricas se abre y muestra el gráfico que representa los cambios en el estado de salud de todas las instancias de VM en el grupo de instancias administrado que especificó en la consulta.
Vaya al Explorador de registros en la consola de Google Cloud.
Ingrese la siguiente consulta en el generador de consultas , utilizando el ID de su proyecto y el nombre del grupo de instancias administrado.
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 luego haga clic en Crear métrica .
En la página Crear métrica de registros , haga lo siguiente:
- Establezca el tipo de métrica como contador .
- Introduzca un nombre de métrica de registro , por ejemplo
health-mig-xyzq
. - En Etiquetas , haga clic en Agregar etiqueta .
- Introduzca un nombre de etiqueta , por ejemplo
health_state
. - Establezca el tipo de etiqueta como
STRING
. - Establezca el nombre del campo en
jsonPayload.instanceHealthStateChange.detailedHealthState
. Esto le permitirá distinguir entre diferentes cambios en el estado de salud. - Haga clic en Listo para agregar la etiqueta.
- De manera similar, agregue una segunda etiqueta, por ejemplo
instance
, con el nombre del campo establecido enjsonPayload.instanceHealthStateChange.instance
. - Haga clic en Crear métrica .
Vaya a la página Métricas basadas en registros y busque la métrica recién creada.
Haga clic en el menú more_vert en la fila de la métrica y seleccione Ver en el Explorador de métricas . El explorador de métricas se abre y muestra el gráfico que representa los cambios en el estado de salud de todas las instancias de VM en el grupo de instancias administrado que especificó en la consulta.
Configure Agrupar por
instance
para ver el número agregado de cambios de estado de salud para cada instancia.Vaya al Explorador de registros en la consola de Google Cloud.
Ingrese la siguiente consulta en el Generador de consultas , utilizando el ID de su 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$"
Haga clic en Ejecutar consulta . Los resultados de la consulta mostrarán todos los intentos de reparación automática en la máquina virtual con el motivo de la reparación automática en
protoPayload.status.message
.Vaya al Explorador de registros en la consola de Google Cloud.
Ingrese la siguiente consulta en el Generador de consultas , utilizando el ID de su 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 recuperación automática de MIG activó la recreación para que la instancia vuelva a estar sana. La segunda parte de la consulta muestra todos los cambios en el estado de salud de la instancia de VM.
En los resultados de la consulta , el evento de cambio de estado de salud con el estado de salud
detailedHealthState
establecido enHEALTHY
poco después de una operación de reparación muestra que el intento de reparación automática fue exitoso.Vaya al Explorador de registros en la consola de Google Cloud.
Ingrese la siguiente consulta en el Generador de consultas , utilizando el ID de su 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 la finalización de la operación de inserción de VM. La segunda parte muestra todos los cambios en el estado de salud de la VM.
En los resultados de la consulta , la marca de tiempo del evento de cambio de estado de salud con el estado de salud
detailedHealthState
establecido enHEALTHY
poco después de la operación de inserción revela el tiempo necesario para que se inicie esta máquina virtual.Repita los pasos para algunas máquinas virtuales más para obtener un mejor valor aproximado del parámetro de retraso inicial.
REST
Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
Precios
Compute Engine utiliza Cloud Logging para generar entradas de registro para cambios en el estado de salud de las instancias administradas. Cloud Logging le proporciona una asignación gratuita por mes, después de la cual las entradas de registro se cotizan por volumen de datos. Para obtener más información, consulte el resumen de precios de Cloud Logging .
Para evitar los costos de registro, puede desactivar los registros de cambios de estado de salud.
Ver registros de cambios de estado de salud
Siempre que los registros de cambios de estado de salud permanezcan habilitados , Compute Engine escribe una entrada de registro en los registros de la plataforma cada vez que cambia el estado de salud de una instancia administrada. Puede ver estos registros para un proyecto, para un MIG específico o para una instancia administrada específica.
Ver registros de un proyecto o un MIG
Para ver las entradas de registro de un proyecto o de un MIG específico, use la consola de Google Cloud, la CLI de gcloud o REST.
Consola
nube de gcloud
Usa el comando
gcloud logging read
para ver y leer las entradas del registro.Para ver todos los registros de cambios de estado de salud en su proyecto, use 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 para un grupo de instancias administrado específico, use 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
Reemplace lo siguiente:
DESCANSAR
Para ver los registros de cambios del estado de salud, realice una solicitud
POST
al métodoentries.list
.Para ver todos los registros de cambios de estado de salud en su proyecto, use 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 del estado de salud de un grupo de instancias administrado específico, use 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
Reemplace lo siguiente:
Para obtener más información sobre cada entrada de registro, consulte Formato de las entradas de registro .
Dependiendo de si desea archivar los registros, utilizarlos para análisis, transmitirlos a otras aplicaciones o activar una función en la nube, puede exportar los registros a destinos como Cloud Storage, BigQuery o Pub/Sub. Para obtener más información sobre la exportación de registros, consulte Descripción general de las exportaciones de registros .
Ver registros de cambios de estado de salud para una máquina virtual específica
Para ver las entradas de registro de una instancia administrada específica, use la consola de Google Cloud, la CLI de gcloud o REST.
Consola
nube de gcloud
Usa el comando
gcloud logging read
para ver y leer las entradas del registro.Para ver los registros de cambios del estado de salud de una instancia administrada, use 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
Reemplace lo siguiente:
DESCANSAR
Para ver los registros de cambios del estado de salud de una instancia administrada, realice 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
Reemplace lo siguiente:
Formato de las entradas del registro
Las entradas del registro de cambios del estado de salud de la instancia contienen información útil para monitorear y depurar el estado de sus instancias administradas.
Los registros se escriben en registros de plataforma con el nombre de registro
instance_group_manager_events
. Los registros de la plataforma le 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:
Dentro de 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 del proyecto de cadena y el nombre de la instancia. instanceWithId
URL de la instancia, según su ID de proyecto numérico y su ID de instancia. ipAddress
Dirección IP de la instancia, según lo demostrado por la verificación de estado. network
URL del recurso de red para esta instancia, basada en el ID del proyecto de cadena y el nombre de la red. networkWithId
URL del recurso de red para esta instancia, según su ID de proyecto numérico y su ID de red. healthCheck
URL de la verificación de estado configurada para el grupo de instancias administrado. previousDetailedHealthState
Estado de salud anterior de la instancia. Para obtener la lista de posibles estados, consulte estados de salud . detailedHealthState
Estado de salud actual de la instancia. Para obtener la lista de posibles estados, consulte 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 normalmente solo aparecen si tienen un valor
true
. Si un campo booleano tiene un valorfalse
, ese campo se omite del registro.Se aplica la codificación UTF-8 para los campos de registro. Los caracteres que no son UTF-8 se reemplazan por signos de interrogación.
Ejemplo de entrada de registro
El siguiente ejemplo muestra el cambio del estado de salud 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 de uso
Puede utilizar los registros de cambios de estado de salud en los siguientes escenarios de supervisión o depuración:
Monitoreo de cambios en el estado de salud de una VM
Puede monitorear la frecuencia con la que cambia el estado de salud de una instancia de VM creando una métrica que rastree los cambios en el estado de salud de esa VM en particular.
Para crear la métrica y monitorear los cambios, haga lo siguiente:
Monitoreo de cambios en el estado de salud de todas las máquinas virtuales en un MIG
Puede monitorear los cambios en el estado de salud de todas las instancias administradas creando una métrica que rastree los cambios en el estado de salud de las instancias administradas.
Para crear la métrica y monitorear los cambios, haga lo siguiente:
Identificar máquinas virtuales que con frecuencia no funcionan correctamente
Puede identificar máquinas virtuales problemáticas que con frecuencia no están
UNHEALTHY
creando una métrica que rastree los cambios en el estado de salud de todas las instancias de VM en su MIG y agrupando la métrica por instancias.Para crear la métrica y agrupar por instancias, haga lo siguiente:
Las instancias con la mayor cantidad de cambios en el estado de salud en conjunto son las que con mayor frecuencia no funcionan correctamente.
Comprobando qué causó un intento de autocuración
Puede descubrir qué causó un intento de reparación automática filtrando los registros de las operaciones
repair
para una instancia de VM determinada.Para filtrar las operaciones de reparación, haga lo siguiente:
Comprobar si la reparación automática tuvo éxito para una VM
Puede averiguar si un intento de reparación automática tuvo éxito para una instancia de VM filtrando los registros de operaciones
repair
y cambios de estado por nombre de instancia de VM. Si el estado de salud de la instancia cambió aHEALTHY
después de una operación de reparación, verá el registro de cambios de estado de salud correspondiente. Sigue los pasos:Determinación del valor de retardo inicial de un MIG
Determinar un valor de retraso inicial apropiado para la reparación automática de MIG es más fácil con el registro del estado de salud de la instancia de VM. Puede utilizar registros para observar el tiempo entre el momento en que finalizó la operación
instances.insert
y el momento en que se recibió la primera señal saludable para 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 agregar algo de margen al tiempo de inicialización observado (desde la operación de inserción hasta el estado saludable) al especificar el retraso inicial en la política de reparación automática.Para medir el tiempo entre la operación de inserción de la instancia y el estado de la instancia, ejecute una consulta para las operaciones
insert
y los registros de cambios de estado por nombre de instancia de VM. Utilice marcas de tiempo de ambas operaciones para calcular el tiempo de inicialización de la instancia. Sigue los pasos: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-04-17 (UTC).
-