Geração de registros e monitoramento do balanceador de carga de rede

Nesta página, mostramos como configurar e usar o Cloud Logging e o Cloud Monitoring para balanceadores de carga de rede proxy.

Recursos de monitoramento

A tabela a seguir especifica os nomes dos recursos dos balanceadores de carga.

Balanceador de carga de rede de proxy externo regional

Balanceador de carga de rede de proxy interno regional

Balanceador de carga de rede de proxy interno entre regiões

Balanceador de carga de rede de proxy externo global

Balanceador de carga de rede de proxy clássico
Tipo de recurso monitorado no Logging "Regra do balanceador de carga de rede de proxy"
l4_proxy_rule
"Regra do balanceador de carga de rede de proxy externo global"
tcp_ssl_proxy_rule
Tipo de recurso monitorado no Monitoring "Regra do balanceador de carga de rede de proxy"
l4_proxy_rule
"Regra do balanceador de carga de rede de proxy externo global"
tcp_ssl_proxy_rule

Geração de registros para balanceadores de carga de rede proxy

Os registros fornecem informações úteis para solucionar problemas e monitorar balanceadores de carga. Os registros são agregados para cada conexão e fornecem insights sobre como cada conexão é roteada para os back-ends de exibição.

Não há cobranças extras pelo uso de registros. No entanto, dependendo de como você faz a importação de registros, é aplicado o preço padrão do Cloud Logging, do BigQuery ou do Pub/Sub. Além disso, a ativação de registros não afeta o desempenho do balanceador de carga.

Coleta e amostragem de registros

As conexões que saem e entram nas instâncias de máquina virtual (VM) do back-end do balanceador de carga são amostradas. Essas conexões são processadas para gerar registros. Você controla a fração das conexões que são emitidas como entradas de registro de acordo com o parâmetro logConfig.sampleRate. Quando logConfig.sampleRate é 1.0 (100%), isso significa que os registros são gerados para todas as conexões e gravados no Cloud Logging.

Ativar a geração de registros em um novo serviço de back-end

gcloud

Use o comando gcloud compute backend-services create.

Para balanceadores de carga de rede de proxy externo regional e balanceadores de carga de rede de proxy interno regional:

    gcloud compute backend-services create BACKEND_SERVICE \
        --region=REGION \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Para balanceadores de carga de rede de proxy externo global, balanceador de carga de rede de proxy clássico ou balanceador de carga de rede de proxy interno entre regiões:

    gcloud compute backend-services create BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Substitua:

  • BACKEND_SERVICE: o nome do serviço de back-end.
  • REGION: a região do serviço de back-end a ser criado.
  • SAMPLE_RATE: este campo só poderá ser especificado se a geração de registros estiver ativada para este serviço de back-end.

    O valor do campo precisa ser de 0.0 to 1.0, em que 0.0 significa que nenhum registro é informado e 1.0 significa que todas as conexões são registradas. Ativar a geração de registros, mas definir a taxa de amostragem como 0.0, equivale a desativar a geração de registros. O valor padrão é 1.0.

API

Faça uma solicitação POST ao método regionBackendServices.insert:

Para balanceadores de carga de rede de proxy interno regional:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Para balanceadores de carga de rede de proxy externo regional:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Para balanceadores de carga de rede de proxy externo regional:

Faça uma solicitação POST ao método backendServices.insert:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Para balanceadores de carga de rede de proxy clássicos:

Faça uma solicitação POST ao método backendServices.insert:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Para balanceadores de carga de rede de proxy interno entre regiões:

Faça uma solicitação POST ao método backendServices.insert:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Substitua:

  • BACKEND_SERVICE: o nome do serviço de back-end.
  • SAMPLE_RATE: este campo só poderá ser especificado se a geração de registros estiver ativada para este serviço de back-end.

    O valor do campo precisa ser de 0.0 to 1.0, em que 0.0 significa que nenhum registro é informado e 1.0 significa que todas as conexões são registradas. Ativar a geração de registros, mas definir a taxa de amostragem como 0.0, equivale a desativar a geração de registros. O valor padrão é 1.0.

Ativar a geração de registros em um serviço de back-end

gcloud

Use o comando gcloud compute backend-services update.

Para balanceadores de carga de rede de proxy externo regional e balanceadores de carga de rede de proxy interno regional:

    gcloud compute backend-services update BACKEND_SERVICE \
        --region=REGION \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Para balanceadores de carga de rede de proxy externo global, balanceador de carga de rede de proxy clássico ou balanceador de carga de rede de proxy interno entre regiões:

    gcloud compute backend-services update BACKEND_SERVICE \
        --global \
        --enable-logging \
        --logging-sample-rate=SAMPLE_RATE
    

Substitua:

  • BACKEND_SERVICE: o nome do serviço de back-end.
  • REGION: a região do serviço de back-end a ser criado.
  • SAMPLE_RATE: este campo só poderá ser especificado se a geração de registros estiver ativada para este serviço de back-end.

    O valor do campo precisa ser de 0.0 to 1.0, em que 0.0 significa que nenhum registro é informado e 1.0 significa que todas as conexões são registradas. Ativar a geração de registros, mas definir a taxa de amostragem como 0.0, equivale a desativar a geração de registros. O valor padrão é 1.0.

API

Faça uma solicitação PATCH ao método regionBackendServices/patch:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
     

Para balanceadores de carga de rede de proxy interno regional:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Para balanceadores de carga de rede de proxy externo regional:

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Para balanceadores de carga de rede de proxy externo regional:

Faça uma solicitação PATCH ao método backendServices/patch:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Para balanceadores de carga de rede de proxy clássicos:

Faça uma solicitação PATCH ao método backendServices/patch:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Para balanceadores de carga de rede de proxy interno entre regiões:

Faça uma solicitação PATCH ao método backendServices/patch:

      PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "INTERNAL_MANAGED",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Substitua:

  • PROJECT_ID: o nome do projeto.
  • BACKEND_SERVICE: o nome do serviço de back-end.
  • SAMPLE_RATE: este campo só poderá ser especificado se a geração de registros estiver ativada para este serviço de back-end.

    O valor do campo precisa ser de 0.0 to 1.0, em que 0.0 significa que nenhum registro é informado e 1.0 significa que todas as conexões são registradas. Ativar a geração de registros, mas definir a taxa de amostragem como 0.0, equivale a desativar a geração de registros. O valor padrão é 1.0.

Ativar a geração de registros em um serviço de back-end

gcloud

Use o comando gcloud compute backend-services update.

Para balanceadores de carga de rede de proxy externo regional e balanceadores de carga de rede de proxy interno regional:

gcloud compute backend-services update BACKEND_SERVICE \
   --region=REGION \
   --no-enable-logging

Para balanceadores de carga de rede de proxy externo global, balanceador de carga de rede de proxy clássico ou balanceador de carga de rede de proxy interno entre regiões:

gcloud compute backend-services update BACKEND_SERVICE \
   --global \
   --no-enable-logging

Substitua:

  • BACKEND_SERVICE: o nome do serviço de back-end.
  • REGION: a região do serviço de back-end.

API

Para balanceadores de carga de rede de proxy externo regional e balanceadores de carga de rede de proxy interno regional:

Faça uma solicitação PATCH ao método regionBackendServices/patch:

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/backendServices/BACKEND_SERVICE
  {
  "logConfig": {
    "enable": false
   }
  }
 

Para balanceadores de carga de rede de proxy externo global, balanceador de carga de rede de proxy clássico ou balanceador de carga de rede de proxy interno entre regiões:

Faça uma solicitação PATCH ao método backendServices/patch:

 PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/backendServices/BACKEND_SERVICE
  {
  "logConfig": {
    "enable": false
   }
  }
 

Substitua:

  • PROJECT_ID: o nome do projeto.
  • REGION: a região do serviço de back-end.
  • BACKEND_SERVICE: o nome do serviço de back-end.

Ver registros

Quando os registros são ingeridos no Cloud Logging e não são excluídos por um coletor do roteador de registros, é possível ler os registros usando a API Cloud Logging e a Google Cloud CLI.

Para conferir todos os registros, siga as etapas abaixo.

Console

  1. No console do Google Cloud, acesse a página do Explorador de registros.

    Acessar a Análise de registros

  2. Selecione o tipo de recurso Regra de balanceador de carga de rede de proxy.

  3. Selecione o nome do registro loadbalancing.googleapis.com/connections.

Consulta do console

  1. No console do Google Cloud, acesse a página do Explorador de registros.

    Acessar a Análise de registros

  2. Clique no botão de alternância Mostrar consulta.

  3. Cole o código abaixo no campo "Consulta".

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    
  4. Clique em Executar consulta.

Substitua:

  • LOG_RESOURCE_TYPE: o tipo de recurso monitorado de geração de registros definido como l4_proxy_rule ou tcp_ssl_proxy_rule.
  • PROJECT_ID: o nome do projeto.

Ver registros de um serviço de back-end específico

Para conferir os registros de um serviço de back-end específico, siga as etapas abaixo.

Consulta do console

  1. No console do Google Cloud, acesse a página do Explorador de registros.

    Acessar a Análise de registros

  2. Clique no botão de alternância Mostrar consulta.

  3. Cole o código abaixo no campo "Consulta".

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
    
  4. Clique em Executar consulta.

Substitua:

  • LOG_RESOURCE_TYPE: o tipo de recurso monitorado de geração de registros definido como l4_proxy_rule ou tcp_ssl_proxy_rule.
  • PROJECT_ID: o nome do projeto.
  • BACKEND_SERVICE_NAME: o nome do serviço de back-end.

Ver registros de um grupo de instâncias de back-end

Para conferir os registros de um grupo específico de instâncias de back-end, conclua as etapas a seguir.

Consulta do console

  1. No console do Google Cloud, acesse a página do Explorador de registros.

    Acessar a Análise de registros

  2. Clique no botão de alternância Mostrar consulta.

  3. Cole o código abaixo no campo "Consulta".

    resource.type="LOG_RESOURCE_TYPE"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com/connections"
    resource.labels.backend_group_name="BACKEND_GROUP_NAME"
    
  4. Clique em Executar consulta.

Substitua:

  • LOG_RESOURCE_TYPE: o tipo de recurso monitorado de geração de registros definido como l4_proxy_rule ou tcp_ssl_proxy_rule.
  • PROJECT_ID: o nome do projeto.
  • BACKEND_GROUP_NAME: o nome do grupo de instâncias.

O que é registrado

As entradas de registro contêm informações úteis para monitorar e depurar o tráfego. Os registros contêm campos obrigatórios, que são os campos padrão de cada registro.

Campo Formato do campo Tipo de campo: obrigatório ou opcional Descrição
severity
timestamp
receiveTimestamp
insertID
logName
LogEntry Obrigatório Os campos gerais, conforme descrito em uma entrada de registro.
resource MonitoredResource Obrigatório

O MonitoredResource é o tipo de recurso associado a uma entrada de registro.

O MonitoredResourceDescriptor descreve o esquema de um objeto MonitoredResource usando um nome de tipo e um conjunto de rótulos. Para mais informações, consulte Rótulos de recursos.

jsonPayload object (Struct format) Obrigatório O payload da entrada de registro expresso como um objeto JSON. O objeto JSON contém os seguintes campos:

Campos de registro

Os registros contêm campos obrigatórios, que são os campos padrão de cada registro.

Alguns campos de registro contêm mais de um dado em um determinado campo. Esses campos estão em formato de vários campos. Por exemplo, o campo connection é do formato IpConnection, que contém o endereço IP, o protocolo e a porta de origem e destino em um único espaço. Esses campos são descritos na tabela de formatos de registro a seguir.

A tabela a seguir lista todos os campos de registro obrigatórios para o recurso l4_proxy_rule.

Campo Formato do campo Descrição
conexão IpConnection Quíntuplo que descreve esta conexão.
startTime string Carimbo de data/hora (formato de string de data RFC 3339) quando a conexão do cliente foi aceita pelo balanceador de carga.
endTime string Carimbo de data/hora (formato de string de data RFC 3339) quando o cliente ou o back-end encerrou a conexão.
bytesSent int64 Número de bytes enviados do servidor para o cliente.
bytesReceived int64 Número de bytes recebidos pelo servidor do cliente.

Formato do campo IpConnection

Campo Tipo Descrição
clientIp string Endereço IP do cliente
clientPort int32 Porta do cliente. Definido apenas para conexões TCP e UDP.
serverIp string Endereço IP do servidor (IP da regra de encaminhamento)
serverPort int32 Porta do servidor. Definido apenas para conexões TCP e UDP.
protocol int32 Número do protocolo IANA

Rótulos de recursos

A tabela a seguir lista os identificadores para o tipo de recurso l4_proxy_rule.

Campo Tipo Descrição
network_name string O nome da rede VPC do balanceador de carga.
project_id string O identificador do projeto do Google Cloud associado a esse recurso.
region string A região em que o balanceador de carga está definido.
target_proxy_name string O nome do objeto do proxy de destino referenciado pela regra de encaminhamento.
forwarding_rule_name string O nome do objeto da regra de encaminhamento.
loadbalancing_scheme_name string Um atributo na regra de encaminhamento e no serviço de back-end de um balanceador de carga que indica se ele pode ser usado para tráfego interno ou externo.
backend_target_name string O nome do back-end selecionado para processar a solicitação.
backend_target_type string O tipo de (BACKEND_SERVICE / UNKNOWN) de destino de back-end.
backend_name string O nome do grupo de instâncias de back-end ou grupo de endpoints de rede (NEG).
backend_type string

O tipo de back-end, um grupo de instâncias, um NEG ou desconhecido.

O Cloud Logging registra solicitações quando o backend_type é UNKNOWN, mesmo que a geração de registros esteja desativada. Por exemplo, se um cliente encerrar a conexão com o balanceador de carga antes que o balanceador de carga possa escolher um back-end, o backend_type é definido como UNKNOWN e a solicitação é registrada. Esses registros fornecem informações de depuração úteis sobre as solicitações do cliente que foram fechadas porque o balanceador de carga não conseguiu selecionar um back-end.

backend_scope string O escopo do back-end (um nome de zona ou de região). Poderá ser UNKNOWN sempre que backend_name for desconhecido.
backend_scope_type string O escopo do back-end (REGION/ZONE). Poderá ser UNKNOWN sempre que backend_name for desconhecido.

Monitoramento

Os balanceadores de carga de rede de proxy exportam dados de monitoramento para o Cloud Monitoring.

As métricas de monitoramento podem ser usadas para fazer o seguinte:

  • avaliar a configuração, o uso e o desempenho de um balanceador de carga;
  • resolver problemas;
  • melhorar a utilização de recursos e a experiência do usuário.

Além dos painéis predefinidos no Monitoring, é possível criar painéis personalizados, configurar alertas e consultar as métricas usando a API Cloud Monitoring.

Ver painéis do Monitoring

  1. No Console do Google Cloud, acesse a página Monitoring.

    Acessar Monitoring

  2. Se a opção Recursos aparecer no painel de navegação, clique nela e depois selecione Balanceadores de carga do Google Cloud. Outra opção é clicar em Painéis e selecionar o painel Balanceadores de carga do Google Cloud.

  3. Clique no nome do balanceador de carga.

No painel esquerdo, há vários detalhes do balanceador de carga. No painel à direita, há gráficos de séries temporais. Para ver detalhes específicos, clique em Detalhamento.

Frequência e retenção de relatórios de métricas

As métricas dos balanceadores de carga são exportadas para o Monitoring em lotes de granularidade de um minuto. Os dados de monitoramento são retidos por seis semanas. As métricas são baseadas no tráfego de amostragem (a taxa de amostragem é dinâmica e não pode ser ajustada).

O painel fornece análise de dados em intervalos padrão de 1H (uma hora), 6H (seis horas), 1D (um dia), 1W (uma semana) e 6W (seis semanas). É possível solicitar a análise manualmente em qualquer intervalo, de seis semanas a um minuto.

Métricas para balanceadores de carga de rede de proxy clássico

As métricas a seguir para balanceadores de carga de rede de proxy clássico são informadas no Monitoring.

Métrica Nome Descrição
Tráfego de entrada tcp_ssl_proxy/ingress_bytes_count O número de bytes enviados de endpoints externos para back-ends configurados pelo Google Front End (GFE), em bytes por segundo.
Tráfego de saída tcp_ssl_proxy/egress_bytes_count O número de bytes enviados de back-ends configurados para endpoints externos por meio do GFE, em bytes por segundo.
Conexões abertas tcp_ssl_proxy/open_connections O número de conexões abre em um determinado momento. As amostras são extraídas com um minuto de diferença.
Novas conexões por segundo tcp_ssl_proxy/new_connections O número de conexões que foram criadas (cliente conectado com sucesso ao back-end). A contagem tem granularidade por minuto, mas os gráficos são ajustados para mostrar valores por segundo. Para obter mais informações, consulte a documentação do Monitoring.
Conexões encerradas por segundo tcp_ssl_proxy/closed_connections O número de conexões que foram encerradas. A contagem tem granularidade por minuto, mas os gráficos são ajustados para mostrar valores por segundo. Para obter mais informações, consulte a documentação do Monitoring.
RTT do front-end tcp_ssl_proxy/frontend_tcp_rtt Uma distribuição do tempo de retorno suavizado (RTT, na sigla em inglês) medida para cada conexão entre o cliente e o GFE (medida pela pilha TCP do GFE) sempre que os bytes da camada do aplicativo são transmitidos do GFE para o cliente. O RTT suavizado é um algoritmo que lida com variações e anomalias que podem ocorrer em medições de RTT.

Métricas para outros balanceadores de carga

As métricas a seguir para balanceadores de carga de rede de proxy interno regional, balanceadores de carga de rede de proxy externo regional, balanceador de carga de rede de proxy interno entre regiões e balanceadores de carga de rede de proxy externo global são informadas no Monitoring.

Métrica Nome Descrição
Tráfego de entrada l4_proxy/ingress_bytes_count O número de bytes enviados do cliente para a VM de back-end usando o proxy. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 210 segundos.
Tráfego de saída l4_proxy/egress_bytes_count O número de bytes enviados da VM de back-end para o cliente usando o proxy. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 210 segundos.
Conexões encerradas por segundo l4_proxy/tcp/closed_connections_count O número de conexões que foram encerradas usando uma mensagem TCP RST ou TCP FIN. Amostras coletadas a cada 60 segundos. Após a amostragem, os dados não são visíveis por até 210 segundos.

Como filtrar dimensões para métricas

As métricas são agregadas para cada balanceador de carga. As métricas podem ser detalhadas nas seguintes dimensões.

Propriedade Descrição
ESCOPO DO BACK-END O escopo, região ou zona, do grupo de instâncias que serviu a conexão.
ZONA DO BACK-END A zona do grupo de instâncias que serviu a conexão, em caso de grupo do tipo zonal.
REGIÃO DO BACK-END A região do grupo de instâncias que serviu a conexão, em caso de grupo do tipo regional.
CONTINENTE DO PROXY O continente do GFE que encerrou a conexão TCP/SSL do usuário, por exemplo, America, Europe, Asia.
GRUPO DE INSTÂNCIAS O nome do grupo de instâncias que recebeu a conexão do usuário.
REGRA DE ENCAMINHAMENTO O nome da regra de encaminhamento usada para se conectar ao GFE.
PAÍS DO CLIENTE O nome do país do usuário.

A seguir

  • Para saber como as políticas de SSL funcionam, consulte a Visão geral das políticas de SSL.
  • Para saber como os balanceadores de carga de rede de proxy externo funcionam, consulte esta página.
  • Para saber como os balanceadores de carga de rede de proxy interno funcionam, consulte esta página.