Cuando creas un grupo de instancias administrado (MIG) regional o aumentas su tamaño objetivo, Compute Engine evalúa la disponibilidad de recursos en tiempo real para distribuir las instancias de procesamiento nuevas entre las zonas y los tipos de máquinas. Durante este proceso, Compute Engine registra una entrada de registro de distribución de instancias en Cloud Logging.
En este documento, se describe cómo ver y, también, interpretar estos registros de distribución de instancias. También se explica cómo usar estos registros para investigar las asignaciones pendientes y configurar alertas.
Para ver la distribución real de tus instancias en ejecución, consulta Supervisa la distribución de instancias en los MIG.
Acerca de los registros de distribución de instancias
Los registros de distribución de instancias proporcionan una instantánea única de las asignaciones planificadas del MIG para las instancias de procesamiento. En estos registros, una instancia asignada significa que el MIG encontró capacidad y planea crear la instancia de procesamiento en ese tipo de máquina y en esa zona. Un tamaño asignado no significa que las instancias de procesamiento se hayan creado correctamente.
Debido a que los registros proporcionan una instantánea, Compute Engine no actualiza estos registros cuando el MIG crea las instancias de procesamiento restantes más adelante. La entrada de registro te permite ver los siguientes detalles:
Distribución de tipos de máquinas: Es la cantidad de instancias de procesamiento que el MIG asignó por tipo de máquina. Esta información solo está presente para los MIG regionales que usan la flexibilidad de instancias.
Distribución zonal: Es la cantidad de instancias de procesamiento que el MIG asignó por zona.
Instancias en espera de capacidad: Es la cantidad de instancias para las que el MIG no pudo asignar capacidad de inmediato y busca capacidad de forma activa.
Limitaciones
Los registros de distribución de instancias solo están disponibles para los MIG regionales.
Para los MIG regionales que usan la forma de distribución objetivo
EVENsin ajuste de escala automático, la entrada de registro solo incluye los camposoldSize,newSize,deltaSizeytargetShape, sin ningún detalle de distribución de instancias.Compute Engine registra los detalles de distribución de las instancias solo cuando creas un MIG o aumentas su tamaño objetivo. Compute Engine no registra estos detalles cuando disminuye el tamaño objetivo o durante las operaciones de reparación, recreación y actualización de instancias.
Visualiza los registros de distribución de instancias de un MIG específico
Para ver los registros de distribución de instancias de un MIG específico, usa una de las siguientes opciones:
Console
Puedes ver los registros de un MIG específico directamente desde la página de detalles del grupo de instancias.
En la consola de Google Cloud , ve a la página Grupos de instancias.
Haz clic en el nombre del MIG que deseas ver.
Haz clic en la pestaña Monitoring.
En el panel izquierdo, selecciona Registros.
En el filtro de resultados de registros, escribe
instanceDistributiony presiona Intro.Para ver los datos de distribución de instancias, expande una entrada de registro y, luego, expande
protoPayload.metadata.details.
gcloud
Para ver los registros de distribución de instancias de un MIG específico, usa el
comando gcloud logging read:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \ protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND \ resource.labels.instance_group_manager_name=\"MIG_NAME\""
Reemplaza lo siguiente:
PROJECT_ID: el ID de tu proyecto.MIG_NAME: Es el nombre del MIG.
REST
Para ver los registros de distribución de instancias de un MIG específico, realiza una solicitud POST
al método entries.list.
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND resource.labels.instance_group_manager_name=\"MIG_NAME\""
}
Reemplaza lo siguiente:
PROJECT_ID: el ID de tu proyecto.MIG_NAME: Es el nombre del MIG.
Para obtener más información sobre cada campo de un registro, consulta Entrada de registro de distribución de instancias.
Visualiza todos los registros de distribución de instancias de un proyecto
Para ver todos los registros de distribución de instancias de un proyecto, selecciona una de las siguientes opciones:
Console
En la consola de Google Cloud , accede a la página Explorador de registros.
Ingrese una consulta. Estos son algunos ejemplos:
Para ver todos los registros de distribución de instancias en el proyecto, haz lo siguiente:
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution"
Para ver los registros de distribución de instancias en los que parte del cambio de tamaño aún espera capacidad, haz lo siguiente:
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution" protoPayload.metadata.details.data.activeSeekDeltaSize > 0
Reemplaza
PROJECT_IDpor el ID de tu proyecto.Haz clic en Ejecutar consulta.
En los resultados, expande una entrada de registro.
- Para ver el resumen y los datos, expande
protoPayload.metadata.details. - Para ver el resumen de cada fila, haz clic en
messagey selecciona Agregar campo a línea de resumen.
- Para ver el resumen y los datos, expande
gcloud
Para ver los registros de distribución de instancias, usa el
comando gcloud logging read.
- Para ver todos los registros de distribución de instancias en el proyecto, haz lo siguiente:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \ protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\""
- Para ver todos los registros del proyecto del último día, especifica la
marca
--freshness=1dde la siguiente manera:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \
protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\"" \
--freshness=1d
- Para ver los registros de distribución de instancias en los que parte del cambio de tamaño aún espera capacidad, haz lo siguiente:
gcloud logging read "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND \
protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND \
protoPayload.metadata.details.data.activeSeekDeltaSize > 0"
Reemplaza PROJECT_ID por el ID de tu proyecto.
REST
Para ver los registros de distribución de instancias, realiza una solicitud POST al
método entries.list.
- Para ver todos los registros de distribución de instancias en el proyecto, haz lo siguiente:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\""
}
- Para ver todos los registros del proyecto del último día, agrega una
condición
timestampal filtro:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND timestamp >= \"YYYY-MM-DDThh:mm:ssZ\""
}
- Para ver los registros de distribución de instancias en los que parte del cambio de tamaño aún espera capacidad, haz lo siguiente:
POST https://logging.googleapis.com/v2/entries:list
{
"resourceNames": [
"projects/PROJECT_ID"
],
"filter": "logName=\"projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event\" AND protoPayload.methodName=\"compute.instanceGroupManagers.instanceDistribution\" AND protoPayload.metadata.details.data.activeSeekDeltaSize > 0"
}
Reemplaza lo siguiente:
PROJECT_ID: el ID de tu proyecto.YYYY-MM-DDThh:mm:ssZ: Es la marca de tiempo RFC 3339 para la hora de inicio, por ejemplo,2024-10-22T00:00:00Z.
Para obtener más información sobre cada campo de un registro, consulta Entrada de registro de distribución de instancias.
Entrada de registro de distribución de instancias
A continuación, se muestra una entrada de registro de ejemplo (protoPayload.metadata.details). Debido a que
este evento es una instantánea única, la entrada de registro no se actualiza cuando
se crean las instancias restantes más adelante. La entrada de registro te permite ver los detalles
de la siguiente manera:
details.data: Muestra los detalles estructurados sobre la distribución de la instancia.details.message: Muestra el resumen de la distribución de instancias.
En este ejemplo, un MIG regional con flexibilidad de instancias se escala horizontalmente de
0 a 100. El MIG asigna de inmediato 80 de las 100 instancias nuevas
en dos selecciones de instancias clasificadas (20 instancias de c2-standard-4 en
la selección rank2-c2 y 60 instancias de n2d-standard-4 en la selección
rank3-n2d). La entrada también muestra que se asignan 40 instancias de procesamiento en
us-central1-b y us-central1-c cada una. Para las 20 instancias restantes
(activeSeekDeltaSize), el MIG sigue buscando capacidad en todas las
selecciones de instancias y zonas configuradas. En el caso de los MIG regionales sin flexibilidad
de instancias, la entrada de registro omite el campo instanceSelections y solo muestra
la distribución zonal.
"metadata": {
"details": {
"data": {
"oldSize": 0,
"newSize": 100,
"deltaSize": 100,
"targetShape": "BALANCED",
"activeSeekDeltaSize": 20,
"instanceSelections": {
"rank1-n2": {
"rank": 1,
"machineSelections": [
{
"machineType": "n2-standard-4",
"allocatedSize": 0
}
]
},
"rank2-c2": {
"rank": 2,
"machineSelections": [
{
"machineType": "c2-standard-4",
"allocatedSize": 20
}
]
},
"rank3-n2d": {
"rank": 3,
"machineSelections": [
{
"machineType": "n2d-standard-4",
"allocatedSize": 60
}
]
}
},
"zonalDistribution": {
"us-central1-a": {
"allocatedSize": 0
},
"us-central1-b": {
"allocatedSize": 40
},
"us-central1-c": {
"allocatedSize": 40
}
}
},
"message": "Increasing MIG target size from 0 to 100 instances (+100).
Allocated 80 of 100 new instances. Allocated instances across instance
selections: rank2-c2 (rank 2; c2-standard-4: 20); rank3-n2d (rank 3;
n2d-standard-4: 60). Allocated instances across zones based on target
distribution shape BALANCED: us-central1-a: 0, us-central1-b: 40,
us-central1-c: 40. MIG continues to allocate the remaining 20 new instances
across all instance selections and zones. The final distribution across zones
and machine types may differ as instances are created. View the group's
instances for the current distribution."
}
}
En la siguiente tabla, se describe cada campo de una entrada de registro.
| Campo | Descripción |
|---|---|
details.data.oldSize |
Es el tamaño objetivo del MIG regional antes de la operación de cambio de tamaño. |
details.data.newSize |
Es el tamaño objetivo solicitado del MIG regional. |
details.data.deltaSize |
Es el cambio en el tamaño del objetivo (newSize - oldSize).
|
details.data.targetShape |
La forma de distribución objetivo del MIG regional. |
details.data.activeSeekDeltaSize |
Es la cantidad de instancias nuevas para las que el MIG aún busca capacidad
en las selecciones de instancias y zonas configuradas. Este campo se omite
cuando su valor es 0.
|
details.data.instanceSelections |
Son las selecciones de instancias configuradas que se evaluaron durante la asignación. Este campo solo está presente para los MIG que usan la flexibilidad de instancias. Cada clave es el nombre de una selección de instancias y su valor contiene los siguientes campos:
|
details.data.zonalDistribution |
Las zonas configuradas y su distribución de instancias asignada. Cada clave
es un nombre de zona, y su valor contiene la cantidad de instancias de procesamiento
asignadas en esa zona (allocatedSize).
|
details.message |
Es un mensaje de resumen que describe la distribución de instancias, incluidos los recuentos asignados y los detalles de la capacidad de búsqueda. |
Interpreta los registros de distribución de instancias
El registro de distribución de instancias proporciona una instantánea del plan del MIG para la creación de instancias de procesamiento. Debido a que el registro indica que el MIG asigna instancias de procesamiento antes de que se creen correctamente, debes usar los datos de registro junto con el estado de la instancia de procesamiento y los mensajes de error para comprender el comportamiento real de tu MIG.
Usa la siguiente tabla para interpretar los resultados de registros comunes y determinar si necesitas tomar medidas:
| Resultado del registro | Explicación | Acción recomendada |
|---|---|---|
activeSeekDeltaSize es mayor que
0 |
El MIG no pudo encontrar suficiente capacidad para completar toda la solicitud de cambio de tamaño de inmediato. El MIG sigue intentando crear las instancias restantes en todas las opciones configuradas. | Verifica los errores de instancia del MIG para ver por qué falló la creación de la instancia. Considera agregar tipos de máquinas de otras familias de máquinas, agregar zonas o verificar tus cuotas. |
Una selección de mayor preferencia (número de clasificación más bajo) tiene un
allocatedSize de 0 |
En el momento de la decisión, el MIG verificó tus tipos de máquinas preferidos, pero no encontró suficiente capacidad. En su lugar, el MIG usó una selección de menor preferencia (número de clasificación más alto). Compute Engine no registra los errores de instancia de las selecciones omitidas. | Si el MIG omite tu selección más preferida con frecuencia, considera agregar más tipos de máquinas a tu selección más preferida o aceptar opciones de menor preferencia. |
Una zona configurada tiene un allocatedSize de
0 |
El MIG no asignó ninguna instancia nueva en esta zona. | Si tu forma objetivo es ANY o
ANY_SINGLE_ZONE, esta distribución desigual es normal.
De lo contrario, revisa la cuota, las reservas y la compatibilidad de la zona con la
plantilla de instancias. |
Falta un tipo de máquina en el resumen de
message |
El MIG no usó ese tipo de máquina para la asignación. | Verifica el bloque estructurado details.data. El mensaje de resumen
omite las selecciones y los tipos de máquinas que obtuvieron 0 instancias
nuevas, pero los datos estructurados enumeran todas las opciones evaluadas. |
Verifica las asignaciones de instancias pendientes
Si tu MIG aún está esperando capacidad (activeSeekDeltaSize > 0), puedes
verificar lo siguiente para comprender los motivos de las asignaciones
pendientes:
Verifica los errores de creación de instancias. Para ver si la creación de la instancia falló después de que el MIG asignó la capacidad o si las instancias de procesamiento aún están esperando capacidad, verifica los errores de la instancia. Para obtener más información, consulta Enumera los errores de la instancia.
Verifica el estado de la instancia. Para ver el estado y la acción actual de cada instancia, enumera las instancias en el MIG y verifica su campo
instanceStatus. Para obtener más información, consulta Verifica el estado de las instancias administradas.Revisa la configuración. Si configuraste una política de flexibilidad de instancias en el MIG, revisa las cuotas regionales para las familias de máquinas en la política. Además, verifica que las zonas que seleccionaste admitan los tipos de máquinas solicitados. Para obtener más información, consulta Visualiza y administra las cuotas y Regiones y zonas disponibles.
Crear políticas de alertas basadas en registros
Para recibir una notificación cuando las operaciones de cambio de tamaño del MIG esperen capacidad, puedes crear una
política de alertas basada en registros en el Explorador de registros. Por ejemplo, puedes activar una
alerta cuando activeSeekDeltaSize sea mayor que 0.
Para crear esta alerta, haz lo siguiente:
En la consola de Google Cloud , accede a la página Explorador de registros.
Ingresa la siguiente consulta:
logName="projects/PROJECT_ID/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload.methodName="compute.instanceGroupManagers.instanceDistribution" protoPayload.metadata.details.data.activeSeekDeltaSize > 0
Reemplaza
PROJECT_IDpor el ID de tu proyecto.Haz clic en Ejecutar consulta para validarla.
Crea la política de alertas siguiendo las instrucciones de la sección Crea una política de alertas basada en registros de la documentación de Cloud Logging.
¿Qué sigue?
- Obtén información sobre cómo los MIG regionales distribuyen las instancias de procesamiento entre las zonas.
- Obtén información sobre cómo funciona la selección de varios tipo de máquina en los MIG.
- Visualiza la configuración de flexibilidad de instancias en un MIG.