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:
  • statusDetails
  • Entradas de registro da política de segurança do Google Cloud Armor
  • O campo proxyStatus contém uma string que especifica por que o balanceador de carga de rede de proxy externo global, o balanceador de carga de rede de proxy externo regional e O balanceador de carga de rede de proxy interno retornou o código de erro. Este campo não é com suporte aos balanceadores de carga de rede de proxy clássicos.

    O campo não será registrado se o valor for uma string vazia. Isso poderá acontecer se o proxy retornar um código de erro que não seja 0, 4XX ou 5XX.

    O campo proxyStatus tem duas partes:

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

Campo de erro proxyStatus

O campo proxyStatus contém uma string que especifica por que o balanceador de carga retornou um erro. Há duas partes no campo proxyStatus, proxyStatus error e proxyStatus details. Esta seção descreve as strings com suporte no campo proxyStatus error.

O campo de erro proxyStatus é aplicável aos seguintes balanceadores de carga:

  • Balanceador de carga de rede de proxy externo global
  • Balanceador de carga de rede de proxy externo regional
  • Balanceador de carga de rede de proxy interno entre regiões
  • Balanceador de carga de rede de proxy interno regional
Erro proxyStatus Descrição Códigos de resposta associados frequentes
destination_unavailable O balanceador de carga considera o back-end indisponível. Por exemplo, tentativas recentes de comunicação com o back-end falharam ou uma verificação de integridade pode ter resultado em uma falha. 500, 503
connection_timeout A tentativa do balanceador de carga de abrir uma conexão com o back-end expirou. 504
connection_terminated

A conexão do balanceador de carga com o back-end terminou antes do recebimento de uma resposta completa.

Esse proxyStatus error é retornado durante qualquer um dos seguintes cenários:

  • A conexão do balanceador de carga com o back-end terminou antes do recebimento de uma resposta completa.
  • A conexão TLS falhou no handshake de SSL e o cliente não estabeleceu uma conexão com o balanceador de carga.

0, 502, 503
connection_refused A conexão do balanceador de carga com o back-end é recusada. 502, 503
connection_limit_reached

O balanceador de carga está configurado para limitar o número de conexões com o back-end, e esse limite foi excedido.

Esse proxyStatus error é retornado durante qualquer um dos seguintes cenários:

  • Se algum back-end estiver no modo de manutenção, o tráfego não poderá ser roteado para ele.
  • Se a solicitação tem limitação de taxa localmente.
  • O Envoy está lidando com condições de erro, como falta de memória.
502, 503
destination_not_found O balanceador de carga não pode determinar o back-end apropriado a ser usado para essa solicitação. Por exemplo, o back-end pode não estar configurado. 500, 404
dns_error O balanceador de carga encontrou um erro de DNS ao tentar encontrar um endereço IP para o nome do host do back-end. 502, 503
proxy_configuration_error O balanceador de carga encontrou um erro interno de configuração. 500
proxy_internal_error O balanceador de carga encontrou um erro interno. 0, 500, 502
proxy_internal_response O balanceador de carga gerou a resposta sem tentar se conectar ao back-end. Qualquer código de resposta, dependendo do tipo de problema. Por exemplo, o código de resposta 410 significa que o back-end está indisponível devido à inadimplência de pagamento.
tls_protocol_error O balanceador de carga encontrou um erro de TLS durante o handshake de TLS. 0
tls_certificate_error O balanceador de carga encontrou um erro no momento de verificar o certificado apresentado pelo servidor. 0
tls_alert_received O balanceador de carga encontrou um alerta TLS fatal durante o handshake de TLS. 0

Campo de detalhes do proxyStatus

O campo proxyStatus contém uma string que especifica por que o balanceador de carga retornou um erro. Há duas partes no campo proxyStatus, proxyStatus error e proxyStatus details. O campo proxyStatus details é opcional e só é exibido quando há mais informações disponíveis. Esta seção descreve as strings com suporte no campo proxyStatus details.

O campo de detalhes do proxyStatus é aplicável aos seguintes balanceadores de carga:

  • Balanceador de carga de rede de proxy externo global
  • 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
Detalhes do proxyStatus Descrição Códigos de resposta associados frequentes
client_disconnected_before_any_response A conexão com o cliente foi interrompida antes de o balanceador de carga enviar uma resposta. 0
backend_connection_closed O back-end fechou inesperadamente sua conexão com o balanceador de carga. Isso poderá acontecer se o balanceador de carga estiver enviando tráfego para outra entidade, como um aplicativo de terceiros com um tempo limite TCP menor que o tempo limite de 10 minutos (600 segundos) do balanceador de carga. 502
failed_to_connect_to_backend O balanceador de carga falhou ao se conectar com o back-end. Essa falha inclui tempos limite durante a fase de conexão. 503
failed_to_pick_backend O balanceador de carga falhou ao escolher um back-end íntegro para administrar a solicitação. 502
handled_by_identity_aware_proxy Esta resposta foi gerada pelo Identity-Aware Proxy (IAP) durante a verificação da identidade do cliente antes de permitir o acesso. 200, 302, 400, 401, 403, 500, 502
request_overall_timeout O tempo limite total da solicitação foi excedido. 408, 503, 504
tls_version_not_supported A versão do protocolo TLS é reconhecida, mas não tem suporte. O erro resulta no fechamento da conexão TLS. 0
unknown_psk_identity Os servidores enviam esse erro quando o estabelecimento da chave PSK é necessário, mas o cliente não fornece uma identidade PSK aceitável. O erro resulta no fechamento da conexão TLS. 0
no_application_protocol Enviada por servidores quando uma extensão "application_layer_protocol_negotiation" do cliente anuncia somente protocolos não compatíveis com o servidor. Consulte Extensão de negociação do protocolo da camada de aplicativo TLS. O erro resulta no fechamento da conexão TLS. 0
no_certificate Nenhum certificado foi encontrado. O erro resulta no fechamento da conexão TLS. 0
bad_certificate Um certificado é inválido ou contém assinaturas que não puderam ser verificadas. O erro resulta no fechamento da conexão TLS. 0
unsupported_certificate O tipo de certificado não é compatível. O erro resulta no fechamento da conexão TLS. 0
certificate_revoked Um certificado foi revogado pelo signatário. O erro resulta no fechamento da conexão TLS. 0
certificate_expired Um certificado expirou ou não é válido. O erro resulta no fechamento da conexão TLS. 0
certificate_unknown Ocorreram alguns problemas não especificados durante o processamento do certificado, tornando-o inaceitável. O erro resulta no fechamento da conexão TLS. 0
unknown_ca Uma cadeia de certificados ou parcial válida foi recebida, mas o certificado não foi aceito porque o certificado de CA não pôde ser localizado ou combinado com uma âncora de confiança conhecida. O erro resulta no fechamento da conexão TLS. 0
unexpected_message Uma mensagem inadequada foi recebida, por exemplo, uma mensagem de handshake incorreta ou dados de aplicativo prematuros. O erro resulta no fechamento da conexão TLS. 0
bad_record_mac É recebido um registro que não pode ser desprotegido. O erro resulta no fechamento da conexão TLS. 0
record_overflow Um registro TLSCiphertext com duração superior a 214+256 bytes ou um registro foi descriptografado para um registro TLSPlaintext com mais de 214 bytes (ou algum outro limite negociado). O erro resulta no fechamento da conexão TLS. 0
handshake_failure Não é possível negociar um conjunto aceitável de parâmetros de segurança com as opções disponíveis. O erro resulta no fechamento da conexão TLS. 0
illegal_parameter Um campo no handshake estava incorreto ou era inconsistente com outros campos. O erro resulta no fechamento da conexão TLS. 0
access_denied Um certificado válido ou PSK foi recebido, mas quando o controle de acesso foi aplicado, o cliente não prosseguiu com a negociação. O erro resulta no fechamento da conexão TLS. 0
decode_error Não foi possível decodificar uma mensagem porque alguns campos estavam fora do intervalo especificado ou o tamanho da mensagem estava incorreto. O erro resulta em uma conexão TLS fechada. 0
decrypt_error Uma operação criptográfica de handshake (não da camada de registro) falhou, incluindo a incapacidade de verificar corretamente uma assinatura ou validar uma mensagem concluída ou um vinculador PSK. O erro resulta no fechamento da conexão TLS. 0
insufficient_security Uma negociação falhou especificamente porque o servidor exige parâmetros mais seguros do que aqueles aceitos pelo cliente. O erro resulta em uma conexão TLS fechada. 0
inappropriate_fallback Enviado por um servidor em resposta a uma tentativa inválida de nova tentativa de conexão de um cliente. O erro resulta no fechamento da conexão TLS. 0
user_cancelled O usuário cancela o handshake por algum motivo não relacionado a uma falha de protocolo. O erro resulta no fechamento da conexão TLS. 0
missing_extension Enviado por endpoints que recebem uma mensagem de handshake sem uma extensão obrigatória para a versão do TLS oferecida ou para outros parâmetros negociados. O erro resulta no fechamento da conexão TLS. 0
unsupported_extension Enviado por endpoints que recebem qualquer mensagem de handshake contendo uma extensão conhecida por ser proibida para inclusão na mensagem de handshake ou incluir qualquer extensão em ServerHello ou Certificate que não tenha sido oferecida primeiro no ClientHello ou no CertificateRequest correspondente. O erro resulta no fechamento da conexão TLS. 0
unrecognized_name Enviado por servidores quando não há servidor que possa ser identificado pelo nome fornecido pelo cliente com a extensão "server_name". Consulte Definições de extensão TLS. 0
bad_certificate_status_response Enviada por clientes quando uma resposta OCSP inválida ou inaceitável é fornecida pelo servidor com a extensão "status_request". Consulte Definições de extensão TLS. O erro resulta no fechamento da conexão TLS. 0
load_balancer_configured_resource_limits_reached O balanceador de carga atingiu os limites de recursos configurados, como o número máximo de conexões. 400, 500, 503

Entradas de registro de conexão TLS com falha

Quando a conexão TLS entre o cliente e o balanceador de carga falha antes da seleção de qualquer back-end, as entradas de registro registram os erros. É possível configurar os serviços de back-end com diferentes taxas de amostragem de registros. Quando uma conexão TLS falha, a taxa de amostragem do registro de conexão TLS com falha é a taxa de amostragem mais alta para qualquer serviço de back-end. Por exemplo, se você configurou dois serviços de back-end com a taxa de amostragem de geração de registros como 0.3 e 0.5, a taxa de amostragem do registro de conexão TLS com falha será 0.5.

Verifique os detalhes da entrada de registro a seguir para identificar as conexões TLS com falha:

  • O tipo de erro proxyStatus é tls_alert_received, tls_certificate_error, tls_protocol_error ou connection_terminated.
  • Não há informações de back-end.

O exemplo a seguir mostra uma entrada de registro TLS com falha com o campo proxyStatus error:

   json_payload:    {
   @type: "type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
   proxyStatus: "error="tls_alert_received"; details="server_to_client: handshake_failure""
   log_name: "projects/529254013417/logs/mockservice.googleapis.com%20name"
   }
   http_request {
    latency {
      nanos: 12412000
    }
    protocol: "HTTP/1.0"
    remote_ip: "127.0.0.2"
   }
  resource {
    type: "mock_internal_http_lb_rule"
    labels {
      backend_name: ""
      backend_scope: ""
      backend_scope_type: "UNKNOWN"
      backend_target_name: ""
      backend_target_type: "UNKNOWN"
      backend_type: "UNKNOWN"
      forwarding_rule_name: "l7-ilb-https-forwarding-rule-dev"
      matched_url_path_rule: "UNKNOWN"
      network_name: "lb-network"
      region: "REGION"
      target_proxy_name: "l7-ilb-https-proxy-dev"
      url_map_name: ""
    }
  }
  timestamp: "2023-08-15T16:49:30.850785Z"
  

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.