Ver registros del escalador automático


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 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.

    Selecciona la pestaña sobre cómo planeas usar las muestras en esta página:

    Consola

    Cuando usas la consola de Google Cloud para acceder a los servicios y las APIs de Google Cloud, no necesitas configurar la autenticación.

    gcloud

    1. Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init
    2. Configura una región y una zona predeterminadas.

    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.

      Instala Google Cloud CLI y, luego, inicializa la ejecución del siguiente comando:

      gcloud init

Ver registros del escalador automático

Para ver los registros del escalador automático, usa la consola de Google Cloud, la CLI de gcloud o REST.

Consola

Si activaste el ajuste de escala automático, puedes ver los registros de este ajuste en la consola de Google Cloud.

  1. Ir a la página Explorador de registros.

    Ir al Explorador de registros

  2. 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:

  1. En la consola de Google Cloud, ve a la página Grupos de instancias.

    Ir a Grupos de instancias

  2. Haz clic en el nombre del MIG del que deseas ver los registros.

  3. Haz clic en la pestaña Supervisión.

  4. 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.

  5. 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.

gcloud

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

REST

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:
  • ON: el escalador automático cambia el tamaño del MIG a newSize.
  • OFF: el escalador automático no cambia el tamaño del MIG.
  • ONLY_SCALE_OUT: el escalador automático cambia el tamaño del MIG solo si newSize es mayor que el tamaño de destino del MIG.
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.
  • servingSize: Es la cantidad de VMs en el MIG, excluidas las VMs que aún se encuentran en su período de inicialización.
  • signalTarget: El valor objetivo que el escalador automático mantiene para el uso de CPU (en tiempo real), el uso previsto de CPU, el uso de balanceo de cargas o una métrica configurada con el objetivo de uso.
  • singleInstanceAssignment: Si el escalamiento se basa en un valor de métrica que representa la cantidad total de trabajo que se debe realizar, entonces singleInstanceAssignment es la cantidad de trabajo que puede controlar cada VM.
  • signalValue: el valor de la señal del ajuste de escala automático. Si signalTarget se configura, entonces el escalador automático compara signalValue con signalTarget para calcular cuántas VMs se necesitan, que se representan mediante 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:
  • ON: el escalador automático cambia el tamaño del MIG a newSize.
  • OFF: el escalador automático no cambia el tamaño del MIG.
  • ONLY_SCALE_OUT: el escalador automático cambia el tamaño del MIG solo si newSize es mayor que el tamaño de destino del MIG.
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, podrías observar el mensaje de estado nuevo y verificar que tu configuración de balanceo de cargas esté configurada correctamente.

    {
      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?