Ver registros do escalonador automático


Ao ativar o escalonamento automático, o escalonador automático toma decisões com base nas opções especificadas. Cada decisão de escalonamento é registrada pelo Cloud Logging. Leia esses registros no Explorador de registros para entender melhor as decisões de escalonamento do escalonador automático.

No "Explorador de registros", é possível ver eventos relacionados a:

  • Recomendação do escalonador automático para redimensionar um grupo gerenciado de instâncias (MIG, na sigla em inglês). Se o escalonador automático calcular um novo tamanho recomendado para um MIG, a alteração no tamanho recomendado será descrita nos registros do escalonador automático. Consulte Redimensionar a entrada de registro.
  • Mudanças no status do escalonador automático. Por exemplo, se o escalonador automático estava funcionando corretamente, mas encontrou um problema, a mudança no status é descrita nos registros. Consulte Entrada de registro de alterações de status.

Antes de começar

  • Leia a documentação sobre o escalonamento automático.
  • Ative o autoescalador cujos registros você quer ver.
  • Veja como usar o Explorador de registros.
  • Configure a autenticação, caso ainda não tenha feito isso. A autenticação é o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud. Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no Compute Engine da seguinte maneira.

    Selecione a guia para como planeja usar as amostras nesta página:

    Console

    Quando você usa o console do Google Cloud para acessar os serviços e as APIs do Google Cloud, não é necessário configurar a autenticação.

    gcloud

    1. Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init
    2. Defina uma região e uma zona padrão.

    REST

    Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para a CLI gcloud.

      Instale a Google Cloud CLI e inicialize-a executando o seguinte comando:

      gcloud init

Ver registros do escalonador automático

Para ver os registros do escalonador automático, use o console do Google Cloud, a gcloud CLI ou a REST.

Console

Se você tiver ativado o escalonamento automático, será possível ver os registros desse processo no Console do Google Cloud.

  1. Acesse a página Explorador de registros.

    Acessar o Explorador de registros

  2. Selecione Escalonamento automático do GCE no menu suspenso Recurso.

Também é possível navegar até a página Explorador de registros no MIG da seguinte maneira:

  1. No Console do Google Cloud, acesse a página Grupos de instâncias.

    Acesse grupo de instâncias

  2. Clique no nome do MIG com o registro que você quer ver.

  3. Clique na guia Monitoramento.

  4. Na guia Monitoramento, o painel Registros está na parte inferior da página. Para abrir o painel, clique no ícone no fim dele.

  5. Para abrir a página Explorador de registros, clique no ícone Ver no explorador de registros neste painel. O explorador de registros é aberto com uma consulta padrão para buscar todos os registros do escalonador automático do MIG.

gcloud

Para procurar todos os registros relacionados ao escalonamento automático, use o comando logging read. Exemplo:

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

Para ver os registros do escalonador automático de um MIG específico, especifique o instance_group_manager_name da seguinte maneira:

gcloud logging read "resource.type=autoscaler AND \
    resource.labels.instance_group_manager_name=example-igm" \
    --limit 10 --format json

Para ver as entradas de registro relacionadas a ações de redimensionamento do escalonador automático, especifique o nome do 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 as entradas de registro relacionadas a mudanças de status do escalonador automático, especifique o nome do 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

Faça uma solicitação para a API Logging V2. O corpo da solicitação precisa conter o parâmetro filter que será usado ao pesquisar registros e o project com os registros que você quer ver. Por exemplo, para fazer uma solicitação e receber uma lista de ações de redimensionamento de um 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 fazer uma solicitação para receber uma lista de alterações de status de um MIG específico, faça o seguinte:

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

Redimensionar a entrada de registro

Quando o escalonador automático calcula um tamanho recomendado para o MIG, o Compute Engine cria uma entrada de registro que captura os tamanhos novos e antigos recomendados. Para MIGs zonais, a entrada de registro também captura o motivo da mudança no tamanho recomendado.

Veja a seguir um exemplo de entrada de registro para um MIG zonal. Neste exemplo, com base no escalonamento automático de previsão, o escalonador automático calculou 3 VMs para atingir a meta de utilização da CPU de 35%. No entanto, o número máximo de instâncias configuradas na política de escalonamento automático é de apenas 2. Portanto, o escalonador automático limita o tamanho 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"
    }

A tabela a seguir descreve os campos da entrada de registro:

Propriedade Valor
autoscalingMode O modo de escalonamento automático no momento em que a entrada foi registrada. Independentemente do modo, o escalonador automático calcula o tamanho recomendado, que é representado por newSize no registro. Dependendo do modo de escalonamento automático, o escalonador automático redimensiona o MIG da seguinte maneira:
  • ON: o escalonador automático redimensiona o MIG para newSize.
  • OFF: o escalonador automático não redimensiona o MIG.
  • ONLY_SCALE_OUT: o escalonador automático redimensionará o MIG somente se newSize for maior que o tamanho de destino do MIG.
autoscalingReason Detalhes sobre o motivo do escalonamento automático. Este campo aparece apenas para MIGs zonais.
autoscalingReason.scalingLimit Detalhes sobre o recurso de escalonamento automático, que limita o calculatedSize, que é o tamanho calculado pelo escalonador automático com base no sinal de escalonamento automático. Os recursos de escalonamento automático que podem limitar calculatedSize são o número máximo ou mínimo de instâncias, os controles de redução do escalonamento horizontal , ou período de estabilização. Se nenhum limite for aplicado a calculatedSize, o campo scalingLimit não aparecerá nos registros.
autoscalingReason.scalingLimit.limitPolicy A configuração do recurso de escalonamento automático que limitou o calculatedSize. O campo limitPolicy não é definido quando a estabilização limita o calculatedSize porque a estabilização é um recurso padrão do escalonamento automático.
autoscalingReason.scalingLimit.limitSize O número de VMs com base no recurso de escalonamento automático que limita o calculatedSize.
autoscalingReason.scalingLimit.name O nome do recurso de escalonamento automático que limitou a calculatedSize.
autoscalingReason.scalingSignal Detalhes sobre o sinal de escalonamento automático usado para calcular o número de VMs que o MIG precisa ter. Se a política de escalonamento automático tiver vários indicadores, o escalonador automático considerará o sinal que requer o maior número de VMs.
autoscalingReason.scalingSignal.calculatedSize O número de VMs que o MIG precisa ter com base no sinal de escalonamento automático. Se scalingLimit for aplicável, o escalonador automático limitará calculatedSize a scalingLimit.limitSize.
autoscalingReason.scalingSignal.calculationDetails Detalhes usados para determinar o calculatedSize.
  • servingSize: o número de VMs no MIG, excluindo as VMs que ainda estão no período de inicialização.
  • signalTarget: o valor pretendido que o escalonador automático mantém para utilização da CPU (em tempo real), utilização prevista da CPU, utilização do balanceamento de carga ou uma métrica configurada com meta de utilização.
  • singleInstanceAssignment: se o escalonamento for baseado em um valor de métrica que representa a quantidade total de trabalho a ser feito, singleInstanceAssignment é a quantidade de trabalho que cada VM pode realizar.
  • signalValue: o valor do sinal de escalonamento automático. Se signalTarget está definido, o escalonador automático compara signalValue com signalTarget para calcular quantas VMs são necessárias, representadas por calculatedSize.
autoscalingReason.scalingSignal.name O nome do sinal de escalonamento automático com base no qual o escalonador automático calculou o número de VMs, representadas por calculatedSize no registro.
autoscalingReason.scalingSignal.signalPolicy A configuração do sinal de escalonamento automático com base no qual o escalonador automático determinou o calculatedSize.
autoscalingReason.summary Uma descrição do motivo do escalonamento automático.
newSize O tamanho recomendado atual do MIG. Dependendo da autoscalingMode, o escalonador automático redimensiona o MIG para a newSize da seguinte maneira:
  • ON: o escalonador automático redimensiona o MIG para newSize.
  • OFF: o escalonador automático não redimensiona o MIG.
  • ONLY_SCALE_OUT: o escalonador automático redimensionará o MIG somente se newSize for maior que o tamanho de destino do MIG.
oldSize O tamanho anterior recomendado do MIG.

Para informações sobre os outros campos na entrada de registro, consulte Formato de entradas de registro de auditoria.

Entrada de registro de alterações de status

Quando o status do escalonador automático muda, o Compute Engine cria uma entrada de registro que captura as mensagens de status antigas e novas. É possível usar estas mensagens de status para descobrir por que seu escalonador automático não está se comportando conforme o esperado ou para depurar problemas antigos que você notou. Para algumas das mensagens de status comuns, consulte Mensagens de status normalmente retornadas.

Os campos a seguir no protoPayload descrevem os status antigos e novos:

  • metadata.newStatus.details: o novo status do escalonador automático.
  • metadata.oldStatus.details: o status anterior do escalonador automático.

Veja a seguir um exemplo de entrada de registro que descreve uma alteração de status. Nesse exemplo, veja a nova mensagem de status e verifique se a configuração de balanceamento de carga está correta.

    {
      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 informações sobre os outros campos na entrada de registro, consulte Formato de entradas de registro de auditoria.

A seguir