Ver registros de herramientas de ajuste automático de escala


Cuando habilitas el autoescalado, la herramienta de adaptación dinámica toma decisiones de escalado en función de las opciones que especifiques. Cada decisión de escalado se registra en Cloud Logging. Lee estos registros en el Explorador de registros para entender mejor las decisiones de escalado de la herramienta de adaptación dinámica.

Con el explorador de registros, puedes ver eventos relacionados con lo siguiente:

  • Recomendación de la herramienta de ajuste automático de escala para cambiar el tamaño de un grupo de instancias gestionado (MIG). Si el autoescalador calcula un nuevo tamaño recomendado para un MIG, el cambio en el tamaño recomendado se describe en los registros del autoescalador. Consulta Cambiar el tamaño de una entrada de registro.
  • Cambios en el estado del escalador automático. Por ejemplo, si el escalador automático funcionaba correctamente, pero después ha tenido un problema, el cambio de estado se describiría en los registros del escalador automático. Consulta la entrada del registro de cambios de estado.

Antes de empezar

  • Consulta la documentación sobre el escalado automático.
  • Tener una herramienta de escalado automático activa de la que quieras ver los registros.
  • Consulta cómo usar el Explorador de registros.
  • Si aún no lo has hecho, configura la autenticación. La autenticación verifica tu identidad para acceder a Google Cloud servicios y APIs. Para ejecutar código o ejemplos 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

    1. Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    2. Set a default region and zone.

    REST

    Para usar las muestras de la API REST de esta página en un entorno de desarrollo local, debes usar las credenciales que proporciones a la CLI de gcloud.

      Instala Google Cloud CLI. Después de la instalación, inicializa la CLI de Google Cloud ejecutando el siguiente comando:

      gcloud init

      Si utilizas un proveedor de identidades (IdP) externo, primero debes iniciar sesión en la CLI de gcloud con tu identidad federada.

    Para obtener más información, consulta el artículo Autenticarse para usar REST de la documentación sobre autenticación de Google Cloud .

Ver registros de herramientas de ajuste automático de escala

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

Consola

Si has activado el autoescalado, puedes ver los registros de autoescalado en la Google Cloud console.

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

    Ir a Explorador de registros

  2. Despliega el menú Recurso y selecciona Escalador automático.

También puedes ir a la página Explorador de registros desde tu MIG de la siguiente manera:

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

    Ir a Grupos de instancias

  2. Haga clic en el nombre del MIG del que quiera ver los registros.

  3. Haga clic en la pestaña Monitorización.

  4. En la pestaña Monitorización, el panel Registros se encuentra en la parte inferior de la página. Para abrir el panel, haz clic en el icono situado al final de este panel.

  5. Para abrir la página Explorador de registros, haga clic en el icono Ver en Explorador de registros de este panel. El explorador de registros se abre con una consulta predeterminada para obtener todos los registros de la herramienta de escalado automático del MIG.

gcloud

Para buscar todos los registros relacionados con el autoescalado, usa el comando logging read. Por ejemplo:

gcloud logging read "resource.type=autoscaler" --limit 10 \
    --format json

Para ver los registros de la herramienta de escalado automático de un MIG específico, especifica el 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 de la herramienta de ajuste automático de escala, 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 compute.autoscalers.changeStatus nombre del método:

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 Logging V2. El cuerpo de la solicitud debe contener el parámetro filter que se va a usar al buscar registros y el project del que quieres ver los registros. Por ejemplo, para hacer una solicitud para obtener una lista de acciones de cambio de tamaño de un MIG específico:

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"
  ]
}

Para enviar una solicitud para obtener una lista de cambios de estado de un MIG específico, sigue estos pasos:

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"
  ]
}

Cambiar el tamaño de la entrada de registro

Cuando el escalador automático calcula un tamaño recomendado para tu MIG, Compute Engine crea una entrada de registro que recoge los tamaños recomendados nuevos y antiguos. En el caso de los MIGs zonales, la entrada de registro también recoge el motivo del cambio en el tamaño recomendado.

A continuación, se muestra un ejemplo de una entrada de registro de un MIG zonal. En este ejemplo, el autoescalador ha calculado 3 VMs basándose en el autoescalado predictivo para alcanzar el objetivo de utilización de la CPU del 35%. Sin embargo, el número máximo de instancias configurado en la política de autoescalado es solo 2. Por lo tanto, la herramienta de ajuste 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 escalado automático en el momento en que se registró la entrada. Independientemente del modo, el autoescalador calcula el tamaño recomendado, que se representa con newSize en el registro. En función del modo de autoescalado, la herramienta de adaptación dinámica cambia el tamaño del MIG de la siguiente manera:
  • ON: la herramienta de adaptación dinámica 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 objetivo del MIG.
autoscalingReason Detalles sobre el motivo del autoescalado. Este campo solo aparece en las MIGs zonales.
autoscalingReason.scalingLimit Detalles sobre la función de autoescalado que limitó el calculatedSize, que es el tamaño que calculó la herramienta de autoescalado en función de la señal de autoescalado. Las funciones de autoescalado que pueden limitar el calculatedSize son el número máximo o mínimo de instancias, los controles de reducción de tamaño o el periodo 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 autoescalado que limitaba el calculatedSize. El campo limitPolicy no se define cuando la estabilización limita el campo calculatedSize, ya que la estabilización es una función predeterminada del escalado automático.
autoscalingReason.scalingLimit.limitSize El número de VMs en función de la función de autoescalado que limitó el calculatedSize.
autoscalingReason.scalingLimit.name El nombre de la función de autoescalado que ha limitado el calculatedSize.
autoscalingReason.scalingSignal Detalles sobre la señal de autoescalado que se usa para calcular el número de VMs que debe tener el MIG. Si la política de autoescalado tiene varias señales, la herramienta de adaptación dinámica tendrá en cuenta la señal que requiera el mayor número de VMs.
autoscalingReason.scalingSignal.calculatedSize Número de máquinas virtuales que debe tener el MIG en función de la señal de autoescalado. Si se aplica scalingLimit, el escalador automático limita calculatedSize a scalingLimit.limitSize.
autoscalingReason.scalingSignal.calculationDetails Detalles utilizados para determinar el calculatedSize.
  • servingSize: número de VMs de MIG, excluidas las VMs que aún se encuentran en su periodo de inicialización.
  • signalTarget: el valor objetivo que mantiene el autoescalador para el uso de CPU (en tiempo real), el uso de CPU previsto, el uso del balanceo de carga o una métrica configurada con un objetivo de uso.
  • singleInstanceAssignment: Si el escalado se basa en un valor de métrica que representa la cantidad total de trabajo que se debe realizar, singleInstanceAssignment es la cantidad de trabajo que puede gestionar cada VM.
  • signalValue: el valor de la señal de autoescalado. Si se define signalTarget, la herramienta de ajuste automático compara signalValue con signalTarget para calcular cuántas VMs se necesitan, lo que se representa con calculatedSize.
autoscalingReason.scalingSignal.name Nombre de la señal de escalado automático en función de la cual la herramienta de escalado automático ha calculado el número de VMs, representado por calculatedSize en el registro.
autoscalingReason.scalingSignal.signalPolicy La configuración de la señal de autoescalado en función de la cual la herramienta de adaptación dinámica ha determinado el calculatedSize.
autoscalingReason.summary Descripción del motivo del autoescalado.
newSize Tamaño recomendado actual del MIG. En función del autoscalingMode, la herramienta de ajuste dinámico cambia el tamaño del MIG al newSize de la siguiente manera:
  • ON: la herramienta de adaptación dinámica 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 objetivo del MIG.
oldSize El tamaño recomendado anterior del MIG.

Para obtener información sobre los demás campos de la entrada de registro, consulta el artículo Formato de las entradas de registro de auditoría.

Entrada del registro de cambios de estado

Cuando cambia el estado del escalador automático, Compute Engine crea una entrada de registro que recoge los mensajes de estado antiguos y nuevos. Puede usar estos mensajes de estado para averiguar por qué su escalador automático no se comporta como espera o para depurar problemas que haya detectado. Para ver algunos de los mensajes de estado habituales, consulta Mensajes de estado habituales.

Los siguientes campos de protoPayload describen los estados antiguos y nuevos:

  • metadata.newStatus.details: el nuevo estado del escalador automático.
  • metadata.oldStatus.details: el estado anterior de la herramienta de escalado automático.

A continuación, se muestra un ejemplo de entrada de registro que describe un cambio de estado. En este ejemplo, puede que veas un nuevo mensaje de estado que indica que hay problemas con la configuración del balanceo de carga.

    {
      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 demás campos de la entrada de registro, consulta el artículo Formato de las entradas de registro de auditoría.

Siguientes pasos