Registo e monitorização do balanceador de carga de rede de proxy

Esta página mostra como configurar e usar o Cloud Logging e o Cloud Monitoring para equilibradores de carga de rede de proxy.

Monitorizar recursos

A tabela seguinte especifica os nomes dos recursos dos equilibradores 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 monitorizado de registo "Regra do balanceador de carga de rede de proxy"
l4_proxy_rule
"Global External Proxy Network Load Balancer Rule"
tcp_ssl_proxy_rule
Monitorizar o tipo de recurso monitorizado "Regra do balanceador de carga de rede de proxy"
l4_proxy_rule
"Global External Proxy Network Load Balancer Rule"
tcp_ssl_proxy_rule

Registo para balanceadores de carga de rede de proxy

Os registos fornecem informações úteis para a resolução de problemas e a monitorização de balanceadores de carga. Os registos são agregados para cada ligação e dão-lhe informações sobre como cada ligação é encaminhada para os back-ends de publicação.

Não existem custos adicionais pela utilização de registos. No entanto, com base na forma como importa os registos, aplicam-se os preços padrão do Cloud Logging, do BigQuery ou do Pub/Sub. Além disso, a ativação dos registos não afeta o desempenho do equilibrador de carga.

Amostragem e recolha de registos

As ligações que saem e entram nas instâncias de máquinas virtuais (VMs) do back-end do balanceador de carga são amostradas. Estas ligações com amostras são, em seguida, processadas para gerar registos. Controla a fração das ligações que são emitidas como entradas de registo de acordo com o parâmetro logConfig.sampleRate. Quando logConfig.sampleRate é 1.0 (100%), significa que os registos são gerados para todas as ligações e escritos no Cloud Logging.

Ative o registo num novo serviço de back-end

gcloud

Use o comando gcloud compute backend-services create.

Para balanceadores de carga de rede de proxy externos regionais e balanceadores de carga de rede de proxy internos regionais:

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

Para balanceadores de carga de rede de proxy externos globais, balanceadores de carga de rede de proxy clássicos ou balanceadores de carga de rede de proxy internos entre regiões:

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

Substitua o seguinte:

  • BACKEND_SERVICE: o nome do serviço de back-end.
  • REGION: a região do serviço de back-end a criar.
  • SAMPLE_RATE: este campo só pode ser especificado se o registo estiver ativado para este serviço de back-end.

    O valor do campo tem de ser de 0.0 to 1.0, em que 0.0 significa que não são comunicados registos e 1.0 significa que todas as ligações são registadas. A ativação do registo, mas a definição da taxa de amostragem para 0.0, é equivalente à desativação do registo. O valor predefinido é 1.0.

API

Faça um pedido POST ao método regionBackendServices.insert:

Para balanceadores de carga de rede de proxy internos regionais:

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

Para balanceadores de carga de rede de proxy externos regionais:

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

Para balanceadores de carga de rede de proxy externos globais:

Faça um pedido 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 um pedido 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 um pedido POST ao método backendServices.insert:

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

Substitua o seguinte:

  • BACKEND_SERVICE: o nome do serviço de back-end.
  • SAMPLE_RATE: este campo só pode ser especificado se o registo estiver ativado para este serviço de back-end.

    O valor do campo tem de ser de 0.0 to 1.0, em que 0.0 significa que não são comunicados registos e 1.0 significa que todas as ligações são registadas. A ativação do registo, mas a definição da taxa de amostragem para 0.0, é equivalente à desativação do registo. O valor predefinido é 1.0.

Ative o registo num serviço de back-end existente

gcloud

Use o comando gcloud compute backend-services update.

Para balanceadores de carga de rede de proxy externos regionais e balanceadores de carga de rede de proxy internos regionais:

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

Para balanceadores de carga de rede de proxy externos globais, balanceadores de carga de rede de proxy clássicos ou balanceadores de carga de rede de proxy internos entre regiões:

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

Substitua o seguinte:

  • BACKEND_SERVICE: o nome do serviço de back-end.
  • REGION: a região do serviço de back-end a criar.
  • SAMPLE_RATE: este campo só pode ser especificado se o registo estiver ativado para este serviço de back-end.

    O valor do campo tem de ser de 0.0 to 1.0, em que 0.0 significa que não são comunicados registos e 1.0 significa que todas as ligações são registadas. A ativação do registo, mas a definição da taxa de amostragem para 0.0 é equivalente à desativação do registo. O valor predefinido é 1.0.

API

Faça um pedido 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 internos regionais:

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

Para balanceadores de carga de rede de proxy externos regionais:

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

Para balanceadores de carga de rede de proxy externos globais:

Faça um pedido 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 um pedido 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 um pedido 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 o seguinte:

  • PROJECT_ID: o nome do seu projeto.
  • BACKEND_SERVICE: o nome do serviço de back-end.
  • SAMPLE_RATE: este campo só pode ser especificado se o registo estiver ativado para este serviço de back-end.

    O valor do campo tem de ser de 0.0 to 1.0, em que 0.0 significa que não são comunicados registos e 1.0 significa que todas as ligações são registadas. A ativação do registo, mas a definição da taxa de amostragem para 0.0 é equivalente à desativação do registo. O valor predefinido é 1.0.

Desative o registo num serviço de back-end existente

gcloud

Use o comando gcloud compute backend-services update.

Para balanceadores de carga de rede de proxy externos regionais e balanceadores de carga de rede de proxy internos regionais:

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

Para balanceadores de carga de rede de proxy externos globais, balanceadores de carga de rede de proxy clássicos ou balanceadores de carga de rede de proxy internos entre regiões:

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

Substitua o seguinte:

  • 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 externos regionais e balanceadores de carga de rede de proxy internos regionais:

Faça um pedido 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 externos globais, balanceadores de carga de rede de proxy clássicos ou balanceadores de carga de rede de proxy internos entre regiões:

Faça um pedido PATCH ao método backendServices/patch:

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

Substitua o seguinte:

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

Ver registos

Quando os registos são carregados no Cloud Logging e não são excluídos através de um destino do Log Router, pode ler os registos através da API Cloud Logging e da CLI Google Cloud.

Para ver todos os registos, conclua os passos seguintes.

Consola

  1. Na Google Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

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

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

Consulta da consola

  1. Na Google Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique no botão Mostrar consulta.

  3. Cole o seguinte no campo de consulta.

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

Substitua o seguinte:

  • LOG_RESOURCE_TYPE: o tipo de recurso monitorizado de registo definido como l4_proxy_rule ou tcp_ssl_proxy_rule.
  • PROJECT_ID: o nome do seu projeto.

Veja registos de um serviço de back-end específico

Para ver os registos de um serviço de back-end específico, conclua os passos seguintes.

Consulta da consola

  1. Na Google Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique no botão Mostrar consulta.

  3. Cole o seguinte no campo de 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 o seguinte:

  • LOG_RESOURCE_TYPE: o tipo de recurso monitorizado de registo definido como l4_proxy_rule ou tcp_ssl_proxy_rule.
  • PROJECT_ID: o nome do seu projeto.
  • BACKEND_SERVICE_NAME: o nome do serviço de back-end.

Veja os registos de um grupo de instâncias de back-end

Para ver os registos de um grupo de instâncias de back-end específico, conclua os passos seguintes.

Consulta da consola

  1. Na Google Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique no botão Mostrar consulta.

  3. Cole o seguinte no campo de 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 o seguinte:

  • LOG_RESOURCE_TYPE: o tipo de recurso monitorizado de registo definido como l4_proxy_rule ou tcp_ssl_proxy_rule.
  • PROJECT_ID: o nome do seu projeto.
  • BACKEND_GROUP_NAME: o nome do grupo de instâncias.

O que é registado

As entradas do registo contêm informações úteis para monitorizar e depurar o seu tráfego. Os registos de registos contêm campos obrigatórios, que são os campos predefinidos de cada registo de registos.

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

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

O MonitoredResourceDescriptor descreve o esquema de um objeto MonitoredResource através da utilização de um nome de tipo e um conjunto de etiquetas. Para mais informações, consulte o artigo Etiquetas de recursos.

jsonPayload object (formato Struct) Obrigatória O payload da entrada do registo expresso como um objeto JSON. O objeto JSON contém os seguintes campos:
  • statusDetails
  • Entradas do registo da política de segurança do Google Cloud Armor
  • O campo proxyStatus contém uma string que especifica o motivo pelo qual 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 devolveram o código de erro. Este campo não é compatível com equilibradores de carga de rede de proxy clássicos.

    O campo não é registado se o valor for uma string vazia. Isto pode acontecer se o proxy devolver um código de erro que não seja 0, 4XX ou 5XX.

    O campo proxyStatus tem duas partes:

  • backendNetworkName: especifica a rede da VPC do back-end.

Campos de registo

Os registos de registo contêm campos obrigatórios, que são os campos predefinidos de todos os registos de registo.

Alguns campos de registo contêm mais do que um elemento de dados num determinado campo. Estes campos de registo estão num formato de vários campos. Por exemplo, o campo connection está no formato IpConnection, que contém o endereço IP e a porta de origem e destino, além do protocolo, num único campo. Estes campos de registo com vários campos estão descritos na tabela de formato de registo seguinte.

A tabela seguinte lista todos os campos de registo necessários para o recurso l4_proxy_rule.

Campo Formato do campo Descrição
ligação IpConnection 5-Tuple que descreve esta ligação.
startTime de string Data/hora (formato de string de data RFC 3339) em que a ligação do cliente foi aceite pelo equilibrador de carga.
endTime de string Data/hora (formato de string de data RFC 3339) em que o cliente ou o back-end terminaram a ligaçã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 de string Endereço IP do cliente
clientPort int32 Porta do cliente. Definido apenas para ligações TCP e UDP.
serverIp de string Endereço IP do servidor (IP da regra de encaminhamento)
serverPort int32 Porta do servidor. Definido apenas para ligações TCP e UDP.
protocol int32 Número do protocolo da IANA

Campo de erro proxyStatus

O campo proxyStatus contém uma string que especifica o motivo pelo qual o balanceador de carga devolveu um erro. Existem duas partes no campo proxyStatus : proxyStatus error e proxyStatus details. Esta secção descreve as strings suportadas no campo proxyStatus error.

O campo proxyStatus error aplica-se 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 acompanhantes comuns
destination_unavailable O balanceador de carga considera o back-end indisponível. Por exemplo, as tentativas recentes de comunicação com o back-end falharam ou uma verificação do estado de funcionamento pode ter resultado numa falha. 500, 503
connection_timeout A tentativa do balanceador de carga de abrir uma ligação ao back-end excedeu o tempo limite. 504
connection_terminated

A ligação do balanceador de carga ao back-end terminou antes de ser recebida uma resposta completa.

Este proxyStatus error é devolvido em qualquer um dos seguintes cenários:

  • A ligação do balanceador de carga ao back-end terminou antes de ser recebida uma resposta completa.
  • A ligação TLS falhou no handshake SSL e o cliente não estabeleceu uma ligação com o equilibrador de carga.

0, 502, 503
connection_refused A ligação do balanceador de carga ao back-end é recusada. 502, 503
connection_limit_reached

O balanceador de carga está configurado para limitar o número de ligações que tem ao back-end, e esse limite foi excedido.

Este proxyStatus error é devolvido durante qualquer um dos seguintes cenários:

  • Se qualquer back-end estiver no modo de manutenção, não é possível encaminhar o tráfego para o back-end.
  • Se o pedido tiver um limite de taxa local.
  • O Envoy está a processar condições de erro, como a falta de memória.
502, 503
destination_not_found O equilibrador de carga não consegue determinar o back-end adequado a usar para este pedido. Por exemplo, o back-end pode não estar configurado. 500, 404
dns_error O equilibrador de carga encontrou um erro de DNS ao tentar encontrar um endereço IP para o nome do anfitrião do back-end. 502, 503
proxy_configuration_error O balanceador de carga encontrou um erro de configuração interno. 500
proxy_internal_error O balanceador de carga encontrou um erro interno. O erro pode dever-se a um reinício agendado do proxy que gere as ligações. 0, 500, 502
proxy_internal_response O balanceador de carga gerou a resposta sem tentar estabelecer ligação ao back-end. Qualquer código de estado, consoante o tipo de problema. Por exemplo, o código de estado 410 significa que o back-end está indisponível devido a pagamentos em atraso.
tls_protocol_error O balanceador de carga encontrou um erro de TLS durante o handshake de TLS. 0
tls_certificate_error O equilibrador de carga encontrou um erro no momento da validação do certificado apresentado pelo servidor. 0
tls_alert_received O balanceador de carga encontrou um alerta TLS fatal durante o handshake TLS. 0

Campo de detalhes proxyStatus

O campo proxyStatus contém uma string que especifica o motivo pelo qual o balanceador de carga devolveu um erro. Existem duas partes no campo proxyStatus : proxyStatus error e proxyStatus details. O campo proxyStatus details é opcional e é apresentado apenas quando estão disponíveis informações adicionais. Esta secção descreve as strings suportadas no campo proxyStatus details.

O campo proxyStatus details aplica-se 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
proxyStatus details Descrição Códigos de estado de resposta comuns
client_disconnected_before_any_response A ligação ao cliente foi interrompida antes de o balanceador de carga enviar qualquer resposta. 0
backend_connection_closed O back-end fechou inesperadamente a respetiva ligação ao balanceador de carga. Isto pode acontecer se o balanceador de carga estiver a enviar tráfego para outra entidade, como uma aplicação de terceiros com um limite de tempo de TCP inferior ao limite de tempo de 10 minutos (600 segundos) do balanceador de carga. 502
failed_to_connect_to_backend O equilibrador de carga não conseguiu estabelecer ligação ao back-end. Esta falha inclui tempos limite durante a fase de ligação. 503
failed_to_pick_backend O equilibrador de carga não conseguiu selecionar um back-end em bom estado para processar o pedido. 502
handled_by_identity_aware_proxy Esta resposta foi gerada pelo Identity-Aware Proxy (IAP) durante a validação da identidade do cliente antes de permitir o acesso. 200, 302, 400, 401, 403, 500, 502
request_overall_timeout O tempo limite total do pedido foi excedido. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 408, 503, 504
tls_version_not_supported A versão do protocolo TLS é reconhecida, mas não é suportada. O erro resulta numa ligação TLS fechada. 0
unknown_psk_identity Os servidores enviam este erro quando é necessário o estabelecimento de chaves PSK, mas o cliente não fornece uma identidade PSK aceitável. O erro resulta numa ligação TLS fechada. 0
no_application_protocol Enviado pelos servidores quando uma extensão "application_layer_protocol_negotiation" anuncia apenas protocolos que o servidor não suporta. Consulte a extensão de negociação do protocolo da camada de aplicação TLS. O erro resulta numa ligação TLS fechada. 0
no_certificate Não foi encontrado nenhum certificado. O erro resulta numa ligação TLS fechada. 0
bad_certificate Um certificado é inválido ou contém assinaturas que não foi possível validar. O erro resulta numa ligação TLS fechada. 0
unsupported_certificate Um certificado é de um tipo não suportado. O erro resulta numa ligação TLS fechada. 0
certificate_revoked Um certificado foi revogado pelo respetivo signatário. O erro resulta numa ligação TLS fechada. 0
certificate_expired Um certificado expirou ou não é válido. O erro resulta numa ligação TLS fechada. 0
certificate_unknown Surgiram alguns problemas não especificados durante o processamento do certificado, o que o torna inaceitável. O erro resulta numa ligação TLS fechada. 0
unknown_ca Foi recebida uma cadeia de certificados válida ou parcial, mas não é possível aceitar o certificado porque não é possível localizar o certificado da CA ou este não corresponde a uma âncora de confiança conhecida. O erro resulta numa ligação TLS fechada. 0
unexpected_message Uma mensagem imprópria, como uma mensagem de handshake incorreta ou dados de aplicação prematuros foram recebidos. O erro resulta numa ligação TLS fechada. 0
bad_record_mac É recebido um registo que não pode ser desprotegido. O erro resulta numa ligação TLS fechada. 0
record_overflow Foi recebido um registo TLSCiphertext com um comprimento superior a 214+256 bytes ou um registo foi descifrado para um registo TLSPlaintext com mais de 214 bytes (ou algum outro limite negociado). O erro resulta numa ligação TLS fechada. 0
handshake_failure Não é possível negociar um conjunto aceitável de parâmetros de segurança com base nas opções disponíveis. O erro resulta numa ligação TLS fechada. 0
illegal_parameter Um campo na sincronização estava incorreto ou era inconsistente com outros campos. O erro resulta numa ligação TLS fechada. 0
access_denied Foi recebido um certificado ou uma PSK válida, mas quando o controlo de acesso foi aplicado, o cliente não prosseguiu com a negociação. O erro resulta numa ligação TLS fechada. 0
decode_error Não foi possível descodificar uma mensagem porque alguns campos estão fora do intervalo especificado ou o comprimento da mensagem está incorreto. O erro resulta numa ligação TLS fechada. 0
decrypt_error Falha de uma operação criptográfica de handshake (não ao nível do registo), incluindo: Não conseguir validar corretamente uma assinatura ou uma mensagem concluída ou um binder PSK. O erro resulta numa ligação TLS fechada. 0
insufficient_security Uma negociação falhou especificamente porque o servidor requer parâmetros mais seguros do que os suportados pelo cliente. O erro resulta numa ligação TLS fechada. 0
inappropriate_fallback Enviado por um servidor em resposta a uma tentativa de repetição de ligação inválida de um cliente. O erro resulta numa ligação TLS fechada. 0
user_cancelled O utilizador cancelou a sincronização por algum motivo não relacionado com uma falha de protocolo. O erro resulta numa ligação TLS fechada. 0
missing_extension Enviadas por pontos finais que recebem uma mensagem de handshake que não contém uma extensão obrigatória para envio para a versão TLS oferecida ou outros parâmetros negociados. O erro resulta numa ligação TLS fechada. 0
unsupported_extension Enviado por pontos finais que recebem qualquer mensagem de sincronização contendo uma extensão conhecida por ser proibida para inclusão na determinada mensagem de sincronização ou incluindo quaisquer extensões em ServerHello ou Certificate que não foi oferecida primeiro no correspondente ClientHello ou CertificateRequest. O erro resulta numa ligação TLS fechada. 0
unrecognized_name Enviado pelos servidores quando não existe nenhum servidor que possa ser identificado pelo nome fornecido pelo cliente através da extensão "server_name". Consulte as definições de extensão TLS. 0
bad_certificate_status_response Enviado pelos clientes quando é fornecida uma resposta OCSP inválida ou inaceitável pelo servidor através da extensão "status_request". Consulte as definições de extensão TLS. O erro resulta numa ligação TLS fechada. 0
load_balancer_configured_resource_limits_reached O balanceador de carga atingiu os limites de recursos configurados, como o número máximo de ligações. 0

Entradas do registo de ligações TLS falhadas

Quando a ligação TLS entre o cliente e o equilibrador de carga falha antes de ser selecionado qualquer back-end, as entradas de registo registam os erros. Pode configurar os serviços de back-end com diferentes taxas de amostragem de registos. Quando uma ligação TLS falha, a taxa de amostragem do registo de ligações TLS com falhas é a taxa de amostragem mais elevada para qualquer serviço de back-end. Por exemplo, se tiver configurado dois serviços de back-end com a taxa de amostragem de registo como 0.3 e 0.5, a taxa de amostragem de registo de ligação TLS com falha é 0.5.

Pode identificar ligações TLS com falhas verificando os seguintes detalhes de entrada no registo:

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

O exemplo seguinte mostra uma entrada de registo 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"
  

Etiquetas de recursos

A tabela seguinte lista as etiquetas de recursos para o tipo de recurso l4_proxy_rule.

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

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

O Cloud Logging regista pedidos quando o backend_type é UNKNOWN mesmo que o registo esteja desativado. Por exemplo, se um cliente fechar a ligação ao balanceador de carga antes de o balanceador de carga poder escolher um back-end, o valor de backend_type é definido como UNKNOWN e o pedido é registado. Estes registos fornecem informações de depuração úteis sobre os pedidos de clientes que foram fechados porque o equilibrador de carga não conseguiu selecionar um servidor de back-end.

backend_scope de string O âmbito do back-end, que pode ser o nome de uma zona ou de uma região. Pode ser UNKNOWN sempre que backend_name for desconhecido.
backend_scope_type de string O âmbito do back-end (REGION/ZONE). Pode ser UNKNOWN sempre que backend_name for desconhecido.

Monitorização

Os balanceadores de carga de rede de proxy exportam dados de monitorização para o Cloud Monitoring.

As métricas de monitorização podem ser usadas para fazer o seguinte:

  • Avalie a configuração, a utilização e o desempenho de um equilibrador de carga.
  • Resolva problemas.
  • Melhorar a utilização de recursos e a experiência do utilizador.

Além dos painéis de controlo predefinidos no Monitoring, pode criar painéis de controlo personalizados, configurar alertas e consultar métricas através da API Cloud Monitoring.

Veja os painéis de controlo de monitorização

  1. Na Google Cloud consola, aceda à página Monitorização.

    Aceder a Monitorização

  2. Se Recursos aparecer no painel de navegação, selecione Recursos e, de seguida, Equilibradores de carga do Google Cloud. Caso contrário, selecione Painéis de controlo e, de seguida, selecione o painel de controlo denominado Equilibradores de carga do Google Cloud.

  3. Clique no nome do balanceador de carga.

No painel do lado esquerdo, pode ver vários detalhes deste equilibrador de carga. No painel direito, pode ver gráficos de séries cronológicas. Para ver discriminações específicas, clique em Discriminações.

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

As métricas dos balanceadores de carga são exportadas para o Monitoring em lotes de granularidade de 1 minuto. Os dados de monitorização são retidos durante seis (6) semanas. As métricas baseiam-se no tráfego de amostragem (a taxa de amostragem é dinâmica e não pode ser ajustada).

O painel de controlo apresenta a análise de dados em intervalos predefinidos de 1H (uma hora), 6H (seis horas), 1D (um dia), 1W (uma semana) e 6W (seis semanas). Pode pedir manualmente a análise em qualquer intervalo, desde seis semanas a um minuto.

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

As seguintes métricas para balanceadores de carga de rede de proxy clássico são comunicadas na monitorização.

Métrica Nome Descrição
Tráfego de entrada tcp_ssl_proxy/ingress_bytes_count O número de bytes enviados de pontos finais externos para back-ends configurados através do front-end da Google (GFE), em bytes por segundo.
Tráfego de saída tcp_ssl_proxy/egress_bytes_count O número de bytes enviados dos back-ends configurados para os pontos finais externos através do GFE, em bytes por segundo.
Abrir ligações tcp_ssl_proxy/open_connections O número de ligações abertas no momento da amostra indicado. As amostras são recolhidas com um intervalo de um minuto.
Novas ligações por segundo tcp_ssl_proxy/new_connections O número de associações que foram criadas (o cliente associou-se com êxito ao back-end). A granularidade da contagem é por minuto, mas os gráficos são ajustados para mostrar valores por segundo. Para mais informações, consulte a documentação de monitorização.
Ligações fechadas por segundo tcp_ssl_proxy/closed_connections O número de associações que foram fechadas. A granularidade da contagem é por minuto, mas os gráficos são ajustados para mostrar valores por segundo. Para mais informações, consulte a documentação de monitorização.
RTT do front-end tcp_ssl_proxy/frontend_tcp_rtt Uma distribuição do tempo de resposta (RTT) suavizado medido para cada ligação entre o cliente e o GFE (medido pela pilha TCP do GFE, sempre que os bytes da camada de aplicação passam do GFE para o cliente). O RTT suavizado é um algoritmo que lida com variações e anomalias que podem ocorrer nas medições de RTT.

Métricas para outros balanceadores de carga

As seguintes métricas para balanceadores de carga de rede de proxy interno regionais, balanceadores de carga de rede de proxy externo regionais, balanceador de carga de rede de proxy interno entre regiões e balanceadores de carga de rede de proxy externo globais são comunicadas ao 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 através do proxy. Amostrada a cada 60 segundos. Após a amostragem, os dados não ficam visíveis durante um período máximo de 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 através do proxy. Amostrada a cada 60 segundos. Após a amostragem, os dados não ficam visíveis durante um período máximo de 210 segundos.
Ligações fechadas por segundo l4_proxy/tcp/closed_connections_count O número de ligações que foram terminadas através de uma mensagem TCP RST ou TCP FIN. Amostrada a cada 60 segundos. Após a amostragem, os dados não ficam visíveis durante um período máximo de 210 segundos.

Filtrar dimensões para métricas

As métricas são agregadas para cada equilibrador de carga. Pode discriminar ainda mais as métricas pelas seguintes dimensões.

Propriedade Descrição
ÂMBITO DO BACK-END O âmbito (região ou zona) do grupo de instâncias que publicou a ligação.
ZONA DE BACK-END Se o grupo de instâncias era um grupo de instâncias zonal, a zona do grupo de instâncias que publicou a ligação.
REGIÃO DE BACK-END Se o grupo de instâncias era um grupo de instâncias regional, a região do grupo de instâncias que serviu a ligação.
PROXY CONTINENT O continente do GFE que terminou a ligação TCP/SSL do utilizador, por exemplo, America, Europe, Asia.
GRUPO DE INSTÂNCIAS O nome do grupo de instâncias que recebeu a ligação do utilizador.
REGRA DE ENCAMINHAMENTO O nome da regra de encaminhamento usada para estabelecer ligação ao GFE.
PAÍS DO CLIENTE O nome do país do utilizador.

O que se segue?