En este documento, se describe cómo ver y leer las entradas de registro de cambios de estado de una VM en un grupo de instancias administrado (MIG) y se proporcionan casos de uso específicos para ayudarte a supervisar las VMs en el grupo.
Si configuraste la verificación de estado basada en la aplicación para el MIG, Compute Engine escribe una entrada de registro cada vez que cambia el estado de una instancia administrada, por ejemplo, cuando la instancia pasa del estado HEALTHY
al UNHEALTHY
. Estas entradas de registro te ayudan a supervisar y depurar el estado de cada instancia administrada, así como el estado general del MIG.
Antes de empezar
- Revisa Configura la comprobación de estado y la reparación automática.
-
Si aún no lo hiciste, configura la autenticación.
La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud.
Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine de la siguiente manera.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Ve al Explorador de registros en la consola de Google Cloud.
Establece los siguientes parámetros de búsqueda:
- Recurso: administrador de grupo de instancias de GCE
- Nombre de registro -
instance_group_manager_events
Como alternativa, puedes copiar la siguiente consulta en el compilador de Consultas.
resource.type="gce_instance_group_manager" AND logName="projects/PROJECT_ID/logs/compute.googleapis.com%2Finstance_group_manager_events" AND jsonPayload.instanceHealthStateChange:*
Para limitar tu búsqueda a un grupo de instancias administrado específico, usa 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 Ejecutar consulta. Los resultados de la consulta mostrarán los registros.
PROJECT_ID
: Es el ID de tu proyecto.MIG_NAME
: Es el MIG en el que deseas ver los registros de cambios de estado.OAUTH2_TOKEN
: Es el token de acceso de la aplicación. Para hacer pruebas locales, puedes usar el comandogcloud auth print-access-token
para generar un token.PROJECT_ID
: Es el ID de tu proyecto.MIG_NAME
: Es el MIG en el que deseas ver los registros de cambios de estado.Ve al Explorador de registros en la consola de Google Cloud.
Copia la siguiente consulta en el compilador 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 Ejecutar consulta.
PROJECT_ID
: Es el ID de tu proyecto.INSTANCE_NAME
: Es la instancia administrada en la que deseas ver los registros de cambios de estado.OAUTH2_TOKEN
: Es el token de acceso de la aplicación. Para hacer pruebas locales, puedes usar el comandogcloud auth print-access-token
para generar un token.PROJECT_ID
: Es el ID de tu proyecto.INSTANCE_NAME
: Es la instancia administrada en la que deseas ver los registros de cambios de estado.- 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 y la marca de tiempo, entre otros datos
- Campos específicos del estado de la instancia
- Descubre la frecuencia con la que una instancia de VM en particular cambió de estado con el paso del tiempo.
- Evalúa la frecuencia con la que un MIG experimentó cambios en el estado de las instancias.
- Identifica las instancias de VM problemáticas que suelen ir a
UNHEALTHY
. - Averigua qué causó un intento de reparación automática.
- Averigua si un intento de reparación automática se realizó de forma correcta para una instancia específica de VM.
- Ajusta la configuración de la verificación de estado para una aplicación a través de la determinación de un retraso inicial adecuado para realizar la reparación automática.
Ve al Explorador de registros en la consola de Google Cloud.
Escribe la siguiente consulta en el compilador de consultas, a través del ID del 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, haz clic en Acciones y, luego, en Crear métrica.
En la página Crear métrica de registros, haz lo siguiente:
- Configura el Tipo de métrica como Contador.
Escribe un Nombre de métrica de registro, por ejemplo,
health-mig-xyzq
.En la sección Filtro de compilación, se muestra la consulta de registro del Explorador de registros. También puedes configurar el filtro de métrica para incluir solo los estados disruptivos, como
UNHEALTHY
yTIMEOUT
. Para ello, agregaseverity>=WARNING
al filtro.En Etiquetas, haz clic en Agregar etiqueta.
Escribe un Nombre de etiqueta, por ejemplo
health_state
.Configura el Tipo de etiqueta como
STRING
.Configura el Nombre del campo como
jsonPayload.instanceHealthStateChange.detailedHealthState
. Esto te permitirá distinguir entre diferentes cambios de estado.Haz clic en Listo para agregar la etiqueta.
Haz clic en Crear métrica.
Ve a la página Métricas basadas en registros y busca la métrica recién creada.
Haz clic en el menú more_vert en la fila de la métrica y elige Ver en el Explorador de métricas. Se abre el Explorador de métricas y se muestra el grafico que representa los cambios de estado de la instancia de VM que especificaste en la consulta.
Ve al Explorador de registros en la consola de Google Cloud.
Escribe la siguiente consulta en el compilador de consultas a través del ID del 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, haz clic en Acciones y, luego, en Crear métrica.
En la página Crear métrica de registros, haz lo siguiente:
- Configura el Tipo de métrica como Contador.
- Escribe un Nombre de métrica de registro, por ejemplo,
health-mig-xyzq
. - En Etiquetas, haz clic en Agregar etiqueta.
- Escribe un Nombre de etiqueta, por ejemplo
health_state
. - Configura el Tipo de etiqueta como
STRING
. - Configura el Nombre del campo como
jsonPayload.instanceHealthStateChange.detailedHealthState
. Esto te permitirá distinguir entre diferentes cambios de estado. - Haz clic en Listo para agregar la etiqueta.
- Haz clic en Crear métrica.
Ve a la página Métricas basadas en registros y busca la métrica recién creada.
Haz clic en el menú more_vert en la fila de la métrica y elige Ver en el Explorador de métricas. Se abre el Explorador de métricas y muestra el gráfico que representa los cambios de estado de todas las instancias de VM en el grupo de instancias administrado que especificaste en la consulta.
Ve al Explorador de registros en la consola de Google Cloud.
Escribe la siguiente consulta en el compilador de consultas a través del ID del 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, haz clic en Acciones y, luego, en Crear métrica.
En la página Crear métrica de registros, haz lo siguiente:
- Configura el Tipo de métrica como Contador.
- Escribe un Nombre de métrica de registro, por ejemplo,
health-mig-xyzq
. - En Etiquetas, haz clic en Agregar etiqueta.
- Escribe un Nombre de etiqueta, por ejemplo
health_state
. - Configura el Tipo de etiqueta como
STRING
. - Configura el Nombre del campo como
jsonPayload.instanceHealthStateChange.detailedHealthState
. Esto te permitirá distinguir entre diferentes cambios de estado. - Haz clic en Listo para agregar la etiqueta.
- De manera similar, agrega una segunda etiqueta, por ejemplo
instance
, con el Nombre del campo configurado comojsonPayload.instanceHealthStateChange.instance
. - Haz clic en Crear métrica.
Ve a la página Métricas basadas en registros y busca la métrica recién creada.
Haz clic en el menú more_vert en la fila de la métrica y elige Ver en el Explorador de métricas. Se abre el Explorador de métricas y muestra el gráfico que representa los cambios de estado de todas las instancias de VM en el grupo de instancias administrado que especificaste en la consulta.
Configura Agrupar por en
instance
para ver la cantidad total de cambios de estado de cada instancia.Ve al Explorador de registros en la consola de Google Cloud.
Escribe la siguiente consulta en el compilador de consultas, a través del ID del 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 Ejecutar consulta. En los resultados de la consulta, se mostrarán todos los intentos de reparación automática en la VM con el motivo de la reparación automática en
protoPayload.status.message
.Ve al Explorador de registros en la consola de Google Cloud.
Escribe la siguiente consulta en el compilador de consultas, a través del ID del 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")
En la primera parte de la consulta, se muestran las operaciones de reparación de la instancia, que indican que la reparación automática de MIG activó la recreación para que la instancia volviera a estar en buen estado. En la segunda parte de la consulta, se muestran todos los cambios en el estado de la instancia de VM.
En los resultados de la consulta, el evento de cambio de estado con
detailedHealthState
configurado comoHEALTHY
poco después de una operación de reparación muestra que el intento de reparación automática se realizó de forma correcta.Ve al Explorador de registros en la consola de Google Cloud.
Escribe la siguiente consulta en el compilador de consultas, a través del ID del 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")
En la primera parte de la consulta, se muestra la finalización de la operación de inserción de VM. En la segunda parte, se muestran todos los cambios de estado de la VM.
En los resultados de la consulta, la marca de tiempo del evento de cambio de estado con
detailedHealthState
configurado comoHEALTHY
poco después de la operación de inserción revela el tiempo necesario para que esta VM se inicie por completo.Repite los pasos para algunas VM 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.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.
Precios
Compute Engine usa Cloud Logging para generar entradas de registro para los cambios de estado de las instancias administradas. Cloud Logging te proporciona una asignación gratuita por mes, después de lo cual el precio de las entradas de registro se calcula según el volumen de datos. Para obtener más información, consulta el resumen de precios de Cloud Logging.
Para evitar los costos de registro, puedes inhabilitar los registros de cambios de estado.
Visualiza los registros de cambios de estado
Mientras los registros de cambios de estado permanezcan habilitados, Compute Engine escribirá una entrada de registro en los registros de la plataforma cada vez que cambie el estado de una instancia administrada. Puedes ver estos registros de un proyecto, de un MIG específico o de una instancia administrada específica.
Visualiza los registros de un proyecto o un MIG
Para ver las entradas de registro de un proyecto o un MIG específico, usa la consola de Google Cloud, gcloud CLI o REST.
Consola
gcloud
Usa el comando
gcloud logging read
para ver y leer las entradas de registro.Para ver todos los registros de cambios de estado en 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 un grupo de instancias administrado 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
Reemplaza lo siguiente:
REST
Para ver los registros de cambios de estado, haz una solicitud
POST
al métodoentries.list
.Para ver todos los registros de cambios de estado en 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 administrado 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
Reemplaza lo siguiente:
Para obtener más información sobre cada entrada de registro, consulta Formato de entradas de registro.
Según si deseas archivar los registros, usarlos para su análisis, transmitirlos a otras aplicaciones o activar una función de Cloud Functions, puedes exportar los registros a destinos. como Cloud Storage, BigQuery o Pub/Sub. Para obtener más información sobre la exportación de registros, consulta Descripción general de las exportaciones de registros.
Visualiza los registros de cambios de estado de una VM específica
Para ver las entradas de registro de una instancia administrada específica, usa la consola de Google Cloud, gcloud CLI o REST.
Consola
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 administrada, 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
Reemplaza lo siguiente:
REST
Para ver los registros de cambios de estado de una instancia administrada, 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
Reemplaza lo siguiente:
Formato de las entradas de registro
Las entradas de registro de cambios de estado de las instancias contienen información útil para supervisar y depurar el estado de tus instancias administradas.
Los registros se escriben en 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 de registro de cambios de estado contienen los siguientes tipos de información:
Dentro de cada entrada de registro de cambios de estado, el campo
jsonPayload.instanceHealthStateChange
contiene la siguiente información:Campo Descripción instance
La URL de la instancia, según el ID del proyecto de string y el nombre de la instancia instanceWithId
URL de la instancia, según su ID numérico del proyecto y el ID de instancia ipAddress
Dirección IP de la instancia, según lo sondea la verificación de estado network
URL del recurso de red para esta instancia, basada en el ID del proyecto de la string y el nombre de la red networkWithId
La URL del recurso de red para esta instancia, basada en el ID numérico del proyecto y el ID de la red. healthCheck
La URL de la verificación de estado que está configurada para el grupo de instancias administrado previousDetailedHealthState
Estado anterior de la instancia. Para obtener la lista de estados posibles, consulta Estados detailedHealthState
El estado actual de la instancia. Para obtener la lista de estados posibles, consulta Estados notificationTime
Marca de tiempo del momento en que se produjo el cambio de estado Los campos de registro de tipo booleano suelen aparecer solo si tienen el valor
true
. Si un campo booleano tiene un valorfalse
, ese campo se omite del registro.Se aplica la codificación UTF-8 a los campos de registro. Se reemplazan los caracteres que no son UTF-8 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 de uso
Puedes usar los registros de cambios de estado en las siguientes situaciones de supervisión o depuración:
Supervisa los cambios de estado de una VM
Puedes supervisar la frecuencia con la que el estado de una instancia de VM cambia a través de la creación de una métrica que realice un seguimiento de los cambios de estado de esa VM específica.
Para crear la métrica y supervisar los cambios, haz lo siguiente:
Supervisa los cambios de estado de todas las VMs en un MIG
Puedes supervisar los cambios de estado de todas las instancias administradas a través de la creación de una métrica que realice un seguimiento de los cambios de estado de las instancias administradas.
Para crear la métrica y supervisar los cambios, haz lo siguiente:
Identifica las VMs que suelen estar en mal estado
Puedes identificar las VMs problemáticas que suelen ir a
UNHEALTHY
si creas una métrica que realice un seguimiento de los cambios de estado de todas las instancias de VM en tu MIG y agrupa la métrica por instancias.Para crear la métrica y agrupar por instancias, haz lo siguiente:
Las instancias con más cambios de estado en conjunto son las que están en mal estado.
Verifica la causa de un intento de reparación automática
Para averiguar qué causó un intento de reparación automática, filtra los registros de las operaciones de
repair
de una instancia de VM determinada.Para filtrar las operaciones de reparación, haz lo siguiente:
Comprueba si la reparación automática se realizó de forma correcta en una VM
Puedes averiguar si un intento de reparación automática se realizó de forma correcta para una instancia de VM a través del filtrado de los registros de las operaciones
repair
y los cambios de estado por nombre de instancia de VM. Si el estado de la instancia cambió aHEALTHY
después de una operación de reparación, verás un registro de cambios de estado correspondiente. Sigue estos pasos:Determina el valor de 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 de estado de la instancia de VM. Puedes usar registros para observar el tiempo que transcurre desde que finalizó la operación
instances.insert
hasta que se recibió el primer indicador de buen estado para un conjunto de instancias de un grupo. Este intervalo de tiempo revela cuánto tiempo tardan las instancias en iniciarse por completo. Como algunas VMs pueden iniciarse de forma más lenta que otras, Google recomienda agregar un margen al tiempo de inicialización observado (desde la operación de inserción hasta el estado en buen estado) cuando se especifica el retraso inicial en la política de reparación automática.Para medir el tiempo entre que la operación de inserción de instancia y la instancia se recuperan, ejecuta una consulta para las operaciones
insert
y los registros de cambios de estado por nombre de instancia de VM. Usa marcas de tiempo de ambas operaciones para calcular el tiempo de inicialización de la instancia. Sigue estos pasos:Salvo que se indique lo contrario, el contenido de esta página está sujeto a la licencia Atribución 4.0 de Creative Commons, y los ejemplos de código están sujetos a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-09-03 (UTC)
-