Cuando habilitas el ajuste de escala automático, el escalador automático toma decisiones de escalamiento en función de las opciones que especifiques. Cloud Logging registra cada decisión de escalamiento. Lee estos registros en el Explorador de registros para comprender mejor las decisiones de escalamiento del escalador automático.
Con el Explorador de registros, puedes ver los eventos relacionados con los siguientes cambios:
- Recomendación del escalador automático para cambiar el tamaño de un grupo de instancias administrado (MIG). Si el escalador automático calcula un tamaño recomendado nuevo para un MIG, se describe en los registros del escalador automático. Consulta Entrada de registro de cambio de tamaño.
- Cambios en el estado del escalador automático. Por ejemplo, si el escalador automático funciona como se esperaba, pero luego se encuentra un problema, el cambio de estado se describiría en los registros del escalador automático. Consulta Entrada de registro de cambio de estado.
Antes de comenzar
- Lee la documentación de ajuste de escala automático.
- Activa el escalador automático del que desees ver los registros.
- Revisa cómo usar el Explorador de registros.
-
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 APIs de Google Cloud .
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:
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
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
Para obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .
-
Ver registros del escalador automático
Para ver los registros del escalador automático, usa la consola de Google Cloud, gcloud CLI o REST.
Si activaste el ajuste de escala automático, puedes ver los registros de este ajuste en la consola de Google Cloud.
- Ir a la página Explorador de registros.
- Abre el menú desplegable Recursos y selecciona Escalador automático.
También puedes navegar a la página Explorador de registros desde tu MIG de la siguiente manera:
En la consola de Google Cloud, ve a la página Grupos de instancias.
Haz clic en el nombre del MIG del que deseas ver los registros.
Haz clic en la pestaña Supervisión.
En la pestaña Supervisión, el panel Registros se encuentra en la parte inferior de la página. Haz clic en el ícono al final de este panel para abrir el panel.
Para abrir la página Explorador de registros, haz clic en el ícono Ver en el Explorador de registros en este panel. El explorador de registros se abre con una consulta predeterminada para recuperar todos los registros del escalador automático del MIG.
Para buscar todos los registros relacionados con el ajuste de escala automático, usa el comando logging read
.
Por ejemplo:
gcloud logging read "resource.type=autoscaler" --limit 10 \ --format json
Para ver los registros del escalador automático de un MIG específico, especifica instance_group_manager_name
de la siguiente manera:
gcloud logging read "resource.type=autoscaler AND \ resource.labels.instance_group_manager_name=example-igm" \ --limit 10 --format json
Para ver las entradas de registro relacionadas con las acciones de cambio de tamaño del escalador automático, especifica el nombre del método compute.autoscalers.resize
:
gcloud logging read "resource.type=autoscaler AND \ resource.labels.instance_group_manager_name=example-igm AND \ protoPayload.methodName=compute.autoscalers.resize" \ --limit 10 --format json
Para ver las entradas de registro relacionadas con los cambios de estado del escalador automático, especifica el nombre del método compute.autoscalers.changeStatus
:
gcloud logging read "resource.type=autoscaler AND \ resource.labels.instance_group_manager_name=example-igm AND \ protoPayload.methodName=compute.autoscalers.changeStatus" \ --limit 10 --format json
Realiza una solicitud a la API de Logging V2.
El cuerpo de la solicitud debe tener el parámetro filter
para usarlo cuando se busquen registros y el project
del que deseas ver los registros. Por ejemplo, para realizar una solicitud a fin de obtener una lista de acciones de cambio de tamaño de un MIG específico, usa el siguiente comando:
POST https://logging.googleapis.com/v2/entries:list { "filter": "resource.type=autoscaler AND resource.labels.instance_group_manager_name=example-igm AND protoPayload.methodName=compute.autoscalers.resize", "pageSize": 10, "resourceNames": [ "projects/example-project" ] }
Si deseas realizar una solicitud para obtener una lista de los cambios de estado de un MIG específico, usa el siguiente comando:
POST https://logging.googleapis.com/v2/entries:list { "filter": "resource.type=autoscaler AND resource.labels.instance_group_manager_name=example-igm AND protoPayload.methodName=compute.autoscalers.changeStatus", "pageSize": 10, "resourceNames": [ "projects/example-project" ] }
Entrada de registro de cambio de tamaño
Cuando el escalador automático calcula un tamaño recomendado para tu MIG, Compute Engine crea una entrada de registro que captura los tamaños recomendados nuevos y anteriores. En los MIG zonales, la entrada de registro también captura el motivo del cambio en el tamaño recomendado.
El siguiente es un ejemplo de una entrada de registro para un MIG zonal. En este ejemplo, a partir del ajuste de escala automático predictivo, el escalador automático calculó 3
VMs para lograr el objetivo de uso de CPU de 35%
. Sin embargo, el número máximo de instancias configuradas en la política de ajuste de escala automático es de solo 2
. Por lo tanto, el escalador automático limita el tamaño recomendado a 2
.
{ insertId: "1l68z7sg4jw7kzo" logName: "projects/example-project/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload: { @type: "type.googleapis.com/google.cloud.audit.AuditLog" metadata: { @type: "type.googleapis.com/autoscaler.AutoscalerSizeChangeExplanation" autoscalingMode: "ON" autoscalingReason: { scalingLimit: { limitPolicy: { maxNumReplicas: 2 } limitSize: 2 name: "MAX_INSTANCES" } scalingSignal: { calculatedSize: 3 calculationDetails: { servingSize: 1 signalTarget: 0.35 signalValue: 1.03533 } name: "PREDICTED_CPU_UTILIZATION" signalPolicy: { coolDownPeriodSec: 15 cpuUtilization: { predictiveMethod: "OPTIMIZE_AVAILABILITY" utilizationTarget: 0.35 } } } summary: "The autoscaler's recommended size changed from 1 to 2 because the autoscaler predicted that in 15 seconds the average CPU utilization across 1 serving instance will be 103.533%, which is above the utilization target of 35%. The calculated size was 3 to achieve the target CPU utilization but the size was limited by the maximum number of instances set in the autoscaling policy." } newSize: 2 oldSize: 1 } methodName: "compute.autoscalers.resize" resourceName: "projects/example-project/zones/us-east1-d/autoscalers/example-autoscaler" serviceName: "compute.googleapis.com" } receiveTimestamp: "2022-06-13T22:34:43.045973046Z" resource: { labels: { autoscaler_id: "1234567890123456789" autoscaler_name: "example-autoscaler" instance_group_manager_id: "1357908642148074125" instance_group_manager_name: "example-igm" location: "us-east1-d" project_id: "example-project" } type: "autoscaler" } severity: "INFO" timestamp: "2022-06-13T22:34:42.810216614Z" }
En la siguiente tabla, se describen los campos de la entrada de registro:
Propiedad | Valor |
---|---|
autoscalingMode |
El modo de ajuste de escala automático en el momento en que se registró la entrada. Sin importar el modo, el escalador automático calcula el tamaño recomendado, que se representa con newSize en el registro. Según el modo de ajuste de escala automático, el escalador automático cambia el tamaño del MIG de la siguiente manera:
|
autoscalingReason |
Detalles sobre el motivo del ajuste de escala automático. Este campo solo aparece para los MIG zonales. |
autoscalingReason.scalingLimit
|
Detalles sobre la función de ajuste de escala automático que limitó el calculatedSize , que es el tamaño que el escalador automático calculó en función de la señal del ajuste de escala automático. Las funciones de ajuste de escala automático que pueden limitar el valor de calculatedSize son la cantidad máxima o mínima de instancias, los controles de reducción de escala o el período de estabilización.
Si no se aplica ningún límite a calculatedSize , el campo scalingLimit no aparece en los registros.
|
autoscalingReason.scalingLimit.limitPolicy
|
La configuración de la función de ajuste de escala automático que limitó calculatedSize . El campo limitPolicy no se establece cuando la estabilización limita el valor de calculatedSize , ya que la estabilización es una característica predeterminada del ajuste de escala automático.
|
autoscalingReason.scalingLimit.limitSize
|
Cantidad de VMs basada en la función de ajuste de escala automático que limitó calculatedSize .
|
autoscalingReason.scalingLimit.name
|
El nombre de la función de ajuste de escala automático que limitó calculatedSize . |
autoscalingReason.scalingSignal
|
Detalles sobre la señal de ajuste de escala automático que se usa para calcular la cantidad de VMs que debe tener el MIG. Si la política de ajuste de escala automático tiene varias señales, el escalador automático considera la señal que requiere la mayor cantidad de VMs. |
autoscalingReason.scalingSignal.calculatedSize
|
Cantidad de VMs que debe tener el MIG en función de la señal del ajuste de escala automático. Si scalingLimit es aplicable, entonces el escalador automático limita calculatedSize a scalingLimit.limitSize .
|
autoscalingReason.scalingSignal.calculationDetails
|
Los detalles que se usan para determinar el calculatedSize .
|
autoscalingReason.scalingSignal.name
|
El nombre de la señal de ajuste de escala automático en función de la cual el escalador automático calculó la cantidad de VMs, representado por calculatedSize en el registro.
|
autoscalingReason.scalingSignal.signalPolicy
|
La configuración de la señal del ajuste de escala automático en función de la cual el escalador automático determinó el valor de calculatedSize .
|
autoscalingReason.summary
|
Una descripción del motivo del ajuste de escala automático. |
newSize
|
El tamaño recomendado actual del MIG. Según el autoscalingMode , el escalador automático cambia el tamaño del MIG a newSize de la siguiente manera:
|
oldSize
|
El tamaño recomendado anterior del MIG. |
Para obtener información sobre los otros campos de la entrada de registro, consulta Formato de las entradas de registro de auditoría.
Entrada de registro de cambios de estado
Cuando el estado del escalador automático cambia, Compute Engine crea una entrada de registro que captura los mensajes de estado antiguos y los nuevos. Puedes usar estos mensajes de estado a fin de descubrir por qué tu escalador automático no se comporta de la manera esperada o para depurar problemas anteriores que notaste. Para ver algunos de los mensajes de estado comunes, consulta Mensajes de estado que se muestran comúnmente.
Los siguientes campos de protoPayload
describen los estados anteriores y los nuevos:
metadata.newStatus.details
: el estado nuevo del escalador automático.metadata.oldStatus.details
: el estado anterior del escalador automático.
El siguiente es un ejemplo de una entrada de registro que describe un cambio de estado. En este ejemplo, es posible que observes el nuevo mensaje de estado que indica problemas con la configuración de balanceo de cargas.
{ insertId: "ivho6kg4icqfio" logName: "projects/example-project/logs/cloudaudit.googleapis.com%2Fsystem_event" protoPayload: { metadata: { @type: "type.googleapis.com/autoscaler.AutoscalerStatusChange" newStatus: { details: "The autoscaler is configured to scale based on a load balancing signal but the instance group has not received any utilization data from the load balancer or the utilization is constantly 0. Check that the load balancing configuration is working" } oldStatus: { details: "OK" }, methodName: "compute.autoscalers.changeStatus" resourceName: "projects/example-project/zones/us-east1-b/autoscalers/example-autoscaler" serviceName: "compute.googleapis.com" } receiveTimestamp: "2022-06-08T03:54:12.332329320Z" resource: { labels: { autoscaler_id: "1234567890123456789" autoscaler_name: "example-autoscaler" instance_group_manager_id: "1357908642148074125" instance_group_manager_name: "example-igm" location: "us-east1-b" project_id: "example-project" } type: "autoscaler" } severity: "INFO" timestamp: "2022-06-08T03:54:10.675416812Z" } }
Para obtener información sobre los otros campos de la entrada de registro, consulta Formato de las entradas de registro de auditoría.
¿Qué sigue?
- Actualiza el escalador automático con la información que recibiste de los registros.
- Descubre cómo el escalador automático toma decisiones.
- Revisa las opciones de ajuste de escala automático.