Registo e monitorização do balanceador de carga de aplicações interno

Este documento faculta-lhe as informações de que necessita para compreender as métricas de registo e monitorização dos balanceadores de carga de aplicações internos. As métricas de registo e monitorização para balanceadores de carga de aplicações internos regionais e balanceadores de carga de aplicações internos entre regiões são as mesmas.

Registo

Pode ativar o registo por serviço de back-end. Um único mapa de URLs do balanceador de carga de aplicações interno pode fazer referência a mais do que um serviço de back-end. Pode ter de ativar o registo para vários serviços de back-end, consoante a sua configuração.

Amostragem e recolha de registos

Os pedidos (e as respostas correspondentes) processados pelas instâncias de máquinas virtuais (VMs) do back-end do balanceador de carga são amostrados. Estes pedidos com amostragem são, em seguida, processados para gerar registos. Controla a fração dos pedidos que são emitidos como entradas de registo de acordo com o parâmetro logConfig.sampleRate. Quando logConfig.sampleRate é 1.0 (100%), os registos são gerados para todos os pedidos e escritos no Cloud Logging.

Além disso, mesmo quando o registo está desativado para um serviço de back-end, o balanceador de carga pode produzir entradas de registo para pedidos sem êxito se não conseguir associar esses pedidos a um back-end específico.

Campos opcionais

Os registos de registo contêm campos obrigatórios e campos opcionais. A secção O que é registado indica que campos são opcionais e quais são obrigatórios. Todos os campos obrigatórios estão sempre incluídos. Pode personalizar os campos opcionais que mantém.

  • Se selecionar incluir todos os campos opcionais, todos os campos opcionais no formato de registo são incluídos nos registos de fluxo. Quando são adicionados novos campos opcionais ao formato de registo, os registos de fluxo incluem automaticamente os novos campos.

  • Se selecionar excluir todos os opcionais, todos os campos opcionais são omitidos.

  • Se selecionar personalizado, pode especificar os campos opcionais que quer incluir, como tls.protocol,tls.cipher.

Para ver instruções sobre como personalizar campos opcionais, consulte o artigo Ative o registo num serviço de back-end existente.

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

Para balanceadores de carga de aplicações internos regionais, siga estes passos:

Consola

  1. Na Trusted Cloud consola, aceda à página Equilíbrio de carga.

    Aceda a Balanceamento de carga

  2. Clique no nome do balanceador de carga.

  3. Clique em Editar.

  4. Clique em Configuração de back-end.

  5. Clique em Editar junto ao serviço de back-end.

  6. Clique em Configurações avançadas (afinidade de sessão, limite de tempo de esgotamento da ligação).

  7. Clique em Ativar registo.

  8. Defina uma fração da Taxa de amostragem. Pode definir um número de 0.0 a 1.0, em que 0.0 significa que não são registados pedidos e 1.0 significa que 100% dos pedidos são registados. O valor predefinido é 1.0.

  9. Opcional: para incluir todos os campos opcionais nos registos, na secção Campos opcionais, clique em Incluir todos os campos opcionais.

  10. Para terminar a edição do serviço de back-end, clique em Atualizar.

  11. Para terminar a edição do equilibrador de carga, clique em Atualizar.

gcloud

Para atualizar o serviço de back-end para ativar o registo, use o comando gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --region=REGION \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

onde

  • O --enable-logging ativa o registo para esse serviço de back-end.
  • --logging-sample-rate permite-lhe especificar um valor de 0.0 a 1.0, em que 0.0 significa que não são registados pedidos e 1.0 significa que 100% dos pedidos são registados. Só é significativo com o parâmetro --enable-logging. 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.
  • --logging-optional permite-lhe especificar os campos opcionais que quer incluir nos registos:

    • INCLUDE_ALL_OPTIONAL para incluir todos os campos opcionais.

    • EXCLUDE_ALL_OPTIONAL (predefinição) para excluir todos os campos opcionais.

    • CUSTOM para incluir uma lista personalizada de campos opcionais que especifica em OPTIONAL_FIELDS.

  • --logging-optional-fields permite-lhe especificar uma lista separada por vírgulas de campos opcionais que quer incluir nos registos.

    Por exemplo, tls.protocol,tls.cipher só pode ser definido se LOGGING_OPTIONAL_MODE estiver definido como CUSTOM. Se usar métricas personalizadas e quiser registar elementos do relatório de carregamento ORCA, defina LOGGING_OPTIONAL_MODE como CUSTOM e especifique que elementos têm de ser registados no campo OPTIONAL_FIELDS. Por exemplo, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Para balanceadores de carga de aplicações internos entre regiões, siga estes passos:

Consola

  1. Na Trusted Cloud consola, aceda à página Equilíbrio de carga.

    Aceda a Balanceamento de carga

  2. Clique no nome do balanceador de carga.

  3. Clique em Editar.

  4. Clique em Configuração de back-end.

  5. Clique em Editar junto ao serviço de back-end.

  6. Clique em Configurações avançadas (afinidade de sessão, limite de tempo de esgotamento da ligação).

  7. Clique em Ativar registo.

  8. Defina uma fração da Taxa de amostragem. Pode definir um número de 0.0 a 1.0, em que 0.0 significa que não são registados pedidos e 1.0 significa que 100% dos pedidos são registados. O valor predefinido é 1.0.

  9. Opcional: para incluir todos os campos opcionais nos registos, na secção Campos opcionais, clique em Incluir todos os campos opcionais.

  10. Para terminar a edição do serviço de back-end, clique em Atualizar.

  11. Para terminar a edição do equilibrador de carga, clique em Atualizar.

gcloud

Para atualizar o serviço de back-end para ativar o registo, use o comando gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --global \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

onde

  • O --enable-logging ativa o registo para esse serviço de back-end.
  • --logging-sample-rate permite-lhe especificar um valor de 0.0 a 1.0, em que 0.0 significa que não são registados pedidos e 1.0 significa que 100% dos pedidos são registados. Só é significativo com o parâmetro --enable-logging. 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.
  • --logging-optional permite-lhe especificar os campos opcionais que quer incluir nos registos:

    • INCLUDE_ALL_OPTIONAL para incluir todos os campos opcionais.

    • EXCLUDE_ALL_OPTIONAL (predefinição) para excluir todos os campos opcionais.

    • CUSTOM para incluir uma lista personalizada de campos opcionais que especifica em OPTIONAL_FIELDS.

  • --logging-optional-fields permite-lhe especificar uma lista separada por vírgulas de campos opcionais que quer incluir nos registos.

    Por exemplo, tls.protocol,tls.cipher só pode ser definido se LOGGING_OPTIONAL_MODE estiver definido como CUSTOM. Se usar métricas personalizadas e quiser registar elementos do relatório de carregamento ORCA, defina LOGGING_OPTIONAL_MODE como CUSTOM e especifique que elementos têm de ser registados no campo OPTIONAL_FIELDS. Por exemplo, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Depois de ativar o registo no serviço de back-end, cada pedido HTTP(S) é registado através do Cloud Logging.

Desativar ou modificar o registo num serviço de back-end existente

Consola

  1. Na Trusted Cloud consola, aceda à página Equilíbrio de carga.

    Aceda a Balanceamento de carga

  2. Clique no nome do balanceador de carga.

  3. Clique em Editar.

  4. Clique em Configuração de back-end.

  5. Clique em Editar junto ao seu serviço de back-end.

  6. Para desativar o registo por completo, na secção Registo, desmarque a caixa de verificação Ativar registo.

  7. Se deixar o registo ativado, pode definir uma fração de taxa de amostragem diferente. Pode definir um número de 0.0 a 1.0, em que 0.0 significa que não são registados pedidos e 1.0 significa que 100% dos pedidos são registados. O valor predefinido é 1.0. Por exemplo, 0.2 significa que 20% dos pedidos de amostra geram registos.

  8. Para terminar a edição do serviço de back-end, clique em Atualizar.

  9. Para terminar a edição do equilibrador de carga, clique em Atualizar.

gcloud: modo entre regiões

Desative o registo num serviço de back-end com o comando gcloud compute backend-services update.

Desativar o registo por completo

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

onde

  • --global indica que o serviço de back-end é global. Use este campo para serviços de back-end usados com balanceadores de carga de aplicações internos entre regiões.
  • O --no-enable-logging desativa o registo para esse serviço de back-end.

Ativar o registo de campos opcionais num serviço de back-end existente

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

onde

  • --logging-sample-rate permite-lhe especificar um valor de 0.0 a 1.0, em que 0.0 significa que não são registados pedidos e 1.0 significa que 100% dos pedidos são registados. Só é significativo com o parâmetro --enable-logging. 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.
  • --logging-optional permite-lhe especificar os campos opcionais que quer incluir nos registos:

    • INCLUDE_ALL_OPTIONAL para incluir todos os campos opcionais.

    • EXCLUDE_ALL_OPTIONAL (predefinição) para excluir todos os campos opcionais.

    • CUSTOM para incluir uma lista personalizada de campos opcionais que especifica em OPTIONAL_FIELDS.

  • --logging-optional-fields permite-lhe especificar uma lista separada por vírgulas de campos opcionais que quer incluir nos registos.

    Por exemplo, tls.protocol,tls.cipher só pode ser definido se LOGGING_OPTIONAL_MODE estiver definido como CUSTOM. Se usar métricas personalizadas e quiser registar elementos do relatório de carregamento ORCA, defina LOGGING_OPTIONAL_MODE como CUSTOM e especifique que elementos têm de ser registados no campo OPTIONAL_FIELDS. Por exemplo, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Atualizar o modo opcional de registo de CUSTOM para outros

gcloud compute backend-services update BACKEND_SERVICE \
    --global \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=

onde

  • --logging-optional permite-lhe especificar os campos opcionais que quer incluir nos registos:

    • INCLUDE_ALL_OPTIONAL para incluir todos os campos opcionais.

    • EXCLUDE_ALL_OPTIONAL (predefinição) para excluir todos os campos opcionais.

  • Tem de configurar explicitamente o seguinte: --logging-optional-fields, conforme mostrado, para limpar os campos CUSTOM existentes. A API não permite combinar um modo não CUSTOM com campos CUSTOM.

Modificar a taxa de amostragem de registo

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

gcloud: modo regional

Desative o registo num serviço de back-end com o comando gcloud compute backend-services update.

Desativar o registo por completo

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

onde

  • --region indica que o serviço de back-end é regional. Use este campo para serviços de back-end usados com balanceadores de carga de aplicações internos regionais.
  • O --no-enable-logging desativa o registo para esse serviço de back-end.

Ativar o registo de campos opcionais num serviço de back-end existente

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

onde

  • --logging-sample-rate permite-lhe especificar um valor de 0.0 a 1.0, em que 0.0 significa que não são registados pedidos e 1.0 significa que 100% dos pedidos são registados. Só é significativo com o parâmetro --enable-logging. 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.
  • --logging-optional permite-lhe especificar os campos opcionais que quer incluir nos registos:

    • INCLUDE_ALL_OPTIONAL para incluir todos os campos opcionais.

    • EXCLUDE_ALL_OPTIONAL (predefinição) para excluir todos os campos opcionais.

    • CUSTOM para incluir uma lista personalizada de campos opcionais que especifica em OPTIONAL_FIELDS.

  • --logging-optional-fields permite-lhe especificar uma lista separada por vírgulas de campos opcionais que quer incluir nos registos.

    Por exemplo, tls.protocol,tls.cipher só pode ser definido se LOGGING_OPTIONAL_MODE estiver definido como CUSTOM. Se usar métricas personalizadas e quiser registar elementos do relatório de carregamento ORCA, defina LOGGING_OPTIONAL_MODE como CUSTOM e especifique que elementos têm de ser registados no campo OPTIONAL_FIELDS. Por exemplo, orca_load_report.cpu_utilization,orca_load_report.mem_utilization.

Atualizar o modo opcional de registo de CUSTOM para outros

gcloud compute backend-services update BACKEND_SERVICE \
    --region=REGION \
    --enable-logging \
    --logging-sample-rate=VALUE \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=

onde

  • --logging-optional permite-lhe especificar os campos opcionais que quer incluir nos registos:

    • INCLUDE_ALL_OPTIONAL para incluir todos os campos opcionais.

    • EXCLUDE_ALL_OPTIONAL (predefinição) para excluir todos os campos opcionais.

  • Tem de configurar explicitamente o seguinte: --logging-optional-fields, conforme mostrado, para limpar os campos CUSTOM existentes. A API não permite combinar um modo não CUSTOM com campos CUSTOM.

Modificar a taxa de amostragem de registo

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

Como ver registos

Para ver os registos, na Trusted Cloud consola, aceda à página Explorador de registos.

Os registos do balanceador de carga de aplicações interno são indexados primeiro por rede e, em seguida, por região.

  • Para ver os registos de todos os balanceadores de carga de aplicações internos, no primeiro menu pendente, selecione Regra do balanceador de carga de aplicações interno.
  • Para ver os registos apenas de uma rede, selecione Regra do equilibrador de carga da aplicação interno e, de seguida, selecione o nome de uma rede.
  • Para ver registos apenas de uma região da rede, selecione Regra do equilibrador de carga da aplicação interno > NETWORK > REGION.

Os campos de registo do tipo booleano normalmente só aparecem se tiverem um valor de true. Se um campo booleano tiver um valor de false, esse campo é omitido do registo.

A codificação UTF-8 é aplicada aos campos de registo. Os carateres que não são carateres UTF-8 são substituídos por pontos de interrogação.

Pode configurar a exportação de métricas baseadas em registos para registos de recursos (resource.type="internal_http_lb_rule"). As métricas criadas baseiam-se no recurso "Regra do equilibrador de carga da aplicação interno", que está disponível nos painéis de controlo do Cloud Monitoring:

Aceder a Monitorização

O que é registado

As entradas de registo do balanceador de carga de aplicações interno contêm informações úteis para monitorizar e depurar o seu tráfego HTTP(S). Os registos de registo contêm campos obrigatórios, que são os campos predefinidos de cada registo de registo, e campos opcionais que adicionam informações adicionais sobre o seu tráfego HTTP(S). Os campos opcionais podem ser omitidos para poupar custos de armazenamento. As entradas do registo contêm os seguintes tipos de informações:

  • Informações gerais apresentadas na maioria dos Trusted Cloud registos, como a gravidade, o ID do projeto, o número do projeto e a data/hora, conforme descrito em LogEntry.
  • Campos de registo HttpRequest.

Alguns campos de registo estão num formato de vários campos, com mais do que um elemento de dados num determinado campo. Por exemplo, o campo tls está no formato TlsDetails, que contém o protocolo TLS e a cifra TLS num único campo. Estes campos de vários campos estão descritos na tabela de formato de registo seguinte.

Campo Tipo Tipo de campo: obrigatório ou opcional Descrição
logName de string Obrigatória O nome do recurso do registo ao qual esta entrada de registo pertence.
No formulário "projects/PROJECT_ID/logs/requests".
timestamp de string Obrigatória A hora em que o pedido começou.
severity LogSeverity formato Obrigatória A gravidade da entrada do registo. A predefinição é LogSeverity.DEFAULT.
httpRequest Objeto HttpRequest Obrigatória Um proto HttpRequest que descreve o pedido HTTP(S) que está a ser registado.
trace de string Obrigatória O nome do recurso do rastreio associado à entrada do registo, se existir. Se contiver um nome de recurso relativo, considera-se que o nome é relativo a https://tracing.googleapis.com. Exemplo: projects/PROJECT_ID/traces/06796866738c859f2f19b7cfb3214824.

Os equilibradores de carga de aplicações internos não suportam este campo.

spanId de string Obrigatória O ID do intervalo no rastreio associado à entrada do registo. Para extensões de rastreio, esta string tem o mesmo formato que a API Trace v2 usa: uma codificação hexadecimal de 16 carateres de uma matriz de 8 bytes, como 000000000000004a.

Os equilibradores de carga de aplicações internos não suportam este campo.

resource Objeto MonitoredResource Obrigatória

O recurso monitorizado que produziu esta entrada do registo.

O objeto MonitoredResourceDescriptor descreve o esquema de um objeto MonitoredResource através de um nome de tipo e um conjunto de etiquetas.

Por exemplo, os descritores de recursos monitorizados para equilibradores de carga de aplicações internos têm um tipo de recurso de internal_http_lb_rule e usam etiquetas de recursos para identificar o recurso real e os respetivos atributos. Para ver uma lista de etiquetas de recursos, consulte o artigo Etiquetas de recursos para resource.type="internal_http_lb_rule".

jsonPayload object Obrigatória O payload da entrada do registo expresso como um objeto JSON. O objeto JSON contém os seguintes campos:
  • tls
  • proxyStatus
  • backendTargetProjectNumber
  • serviceDirectoryService
  • cloudFitExperiment
  • cloudFitFault
  • serviceExtensionInfo
  • mtls
  • authzPolicyInfo
  • backendNetworkName
  • orca_load_report
de string Obrigatória

O campo proxyStatus contém uma string que especifica o motivo pelo qual o Application Load Balancer interno devolveu o HttpRequest.status. Este campo só é preenchido quando o proxy devolve um código de erro.

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

O campo proxyStatus tem duas partes:

de string Obrigatória O campo backendTargetProjectNumber contém o número do projeto que identifica o proprietário do serviço de back-end ou do contentor de back-end.
de string Obrigatória O campo serviceDirectoryService contém o nome do serviço do Service Directory no qual a falha do Cloud FIT foi configurada.
de string Obrigatória O campo cloudFitExperiment contém o nome da experiência do Cloud FIT.
de string Obrigatória O campo cloudFitFault contém o nome da falha injetada por uma experiência de falha do FIT da nuvem neste caminho de pedido.
ServiceExtensionInfo Obrigatória O campo serviceExtensionInfo armazena informações sobre os streams gRPC do equilibrador de carga para as extensões de serviço. Para mais informações, consulte o que é registado para extensões de textos destacados.
AuthzPolicyInfo Obrigatória O campo authzPolicyInfo armazena informações sobre o resultado da política de autorização. Estas informações só estão disponíveis para equilibradores de carga de aplicações internos com a política de autorização ativada. Para mais informações, consulte o que é registado para a política de autorização.
TlsInfo Opcional

O campo tls contém o campo TlsInfo que especifica os metadados TLS para a ligação entre o cliente e o balanceador de carga. Este campo só está disponível se o cliente estiver a usar a encriptação TLS/SSL.

Use o parâmetro --logging-optional-fields para especificar os elementos que têm de ser registados:

  • tls.protocol
  • tls.cipher

Não pode definir --logging-optional-fields como tls para especificar todos os elementos.

MtlsInfo Opcional O campo mtls contém o valor MtlsInfo que especifica os metadados mTLS para a ligação entre o cliente e o Application Load Balancer interno. Este campo só está disponível se o balanceador de carga usar o TLS mútuo (mTLS) de front-end.
de string Opcional O campo backendNetworkName especifica a rede VPC do back-end, se o back-end usar uma VPC diferente da regra de encaminhamento do balanceador de carga.
OrcaLoadReport Opcional

O campo orca_load_report contém alguns ou todos os elementos do relatório de carregamento ORCA devolvido pelo back-end. Este campo só está presente se o back-end devolver um relatório de carga da ORCA e tiver configurado o balanceador de carga para registar o relatório de carga da ORCA.

Use o parâmetro --logging-optional-fields para especificar qual dos seguintes elementos do relatório de carregamento do ORCA tem de ser registado:

  • orca_load_report.cpu_utilization
  • orca_load_report.mem_utilization
  • orca_load_report.request_cost
  • orca_load_report.utilization
  • orca_load_report.rps_fractional
  • orca_load_report.eps
  • orca_load_report.named_metrics
  • orca_load_report.application_utilization

Também pode definir --logging-optional-fields como orca_load_report para especificar que todos os elementos têm de ser registados.

Formato do campo TlsInfo

Campo Formato do campo Tipo de campo: obrigatório ou opcional Descrição
protocol de string Opcional Protocolo TLS que os clientes usam para estabelecer uma ligação com o equilibrador de carga. Os valores possíveis podem ser TLS 1.0, 1.1, 1.2, 1.3 ou QUIC. Este valor é definido como NULL se o cliente não estiver a usar a encriptação TLS/SSL.
cipher de string Opcional Cifra TLS que os clientes usam para estabelecer uma ligação com o equilibrador de carga. Este valor é definido como NULL se o cliente não estiver a usar HTTP(S) ou se o cliente não estiver a usar a encriptação TLS/SSL.

Formato do campo MtlsInfo

Campo Formato do campo Tipo de campo: obrigatório ou opcional Descrição
clientCertPresent booleano Opcional

true se o cliente tiver fornecido um certificado durante o handshake TLS; caso contrário, false.

clientCertChainVerified booleano Opcional

true se a cadeia de certificados de cliente for validada em relação a um TrustStore configurado; caso contrário, false.

clientCertError de string Opcional

Strings predefinidas que representam as condições de erro. Para mais informações sobre as strings de erro, consulte o artigo Modo de validação do cliente.

clientCertSha256Fingerprint de string Opcional

Impressão digital SHA-256 codificada em Base64 do certificado do cliente.

clientCertSerialNumber de string Opcional

O número de série do certificado de cliente. Se o número de série tiver mais de 50 bytes, a string client_cert_serial_number_exceeded_size_limit é adicionada a client_cert_error e o número de série é definido como uma string vazia.

clientCertValidStartTime de string Opcional

Data/hora (formato de string de data RFC 3339) antes da qual o certificado de cliente não é válido. Por exemplo, 2022-07-01T18:05:09+00:00.

clientCertValidEndTime de string Opcional

Data/hora (formato de string de data RFC 3339) após a qual o certificado de cliente não é válido. Por exemplo, 2022-07-01T18:05:09+00:00.

clientCertSpiffeId de string Opcional

O ID SPIFFE do campo de nome alternativo de assunto (SAN). Se o valor não for válido ou exceder 2048 bytes, o ID SPIFFE é definido como uma string vazia.

Se o SPIFFE ID tiver mais de 2048 bytes, a string client_cert_spiffe_id_exceeded_size_limit é adicionada a client_cert_error.

clientCertUriSans de string Opcional

Lista separada por vírgulas e codificada em Base64 das extensões SAN do tipo URI. As extensões SAN são extraídas do certificado de cliente. O SPIFFE ID não está incluído no campo client_cert_uri_sans.

Se o campo client_cert_uri_sans tiver mais de 512 bytes, a string client_cert_uri_sans_exceeded_size_limit é adicionada a client_cert_error e a lista separada por vírgulas é definida como uma string vazia.

clientCertDnsnameSans de string Opcional

Lista codificada em Base64 separada por vírgulas das extensões SAN do tipo DNSName. As extensões SAN são extraídas do certificado de cliente.

Se o campo client_cert_dnsname_sans tiver mais de 512 bytes, a string client_cert_dnsname_sans_exceeded_size_limit é adicionada a client_cert_error e a lista separada por vírgulas é definida como uma string vazia.

clientCertIssuerDn de string Opcional

Campo Emissor completo codificado em Base64 do certificado.

Se o campo client_cert_issuer_dn tiver mais de 512 bytes, a string client_cert_issuer_dn_exceeded_size_limit é adicionada a client_cert_error e client_cert_issuer_dn é definido como uma string vazia.

clientCertSubjectDn de string Opcional

Campo Subject completo codificado em Base64 do certificado.

Se o campo client_cert_subject_dn tiver mais de 512 bytes, a string client_cert_subject_dn_exceeded_size_limit é adicionada a client_cert_error e client_cert_subject_dn é definido como uma string vazia.

clientCertLeaf de string Opcional

O certificado de folha do cliente para uma ligação mTLS estabelecida em que o certificado passou na validação. A codificação do certificado está em conformidade com a RFC 9440: o certificado DER binário é codificado com Base64 (sem quebras de linha, espaços ou outros carateres fora do alfabeto Base64) e delimitado com dois pontos de cada lado.

Se client_cert_leaf exceder 16 KB sem codificação, a string client_cert_validated_leaf_exceeded_size_limit é adicionada a client_cert_error e client_cert_leaf é definida como uma string vazia.

clientCertChain de string Opcional

A lista de certificados delimitada por vírgulas, na ordem TLS padrão, da cadeia de certificados de cliente para uma ligação mTLS estabelecida em que o certificado de cliente passou na validação, não incluindo o certificado principal. A codificação de certificados está em conformidade com a norma RFC 9440.

Se o tamanho combinado de client_cert_leaf e client_cert_chain antes da codificação Base64 exceder 16 KB, a string client_cert_validated_chain_exceeded_size_limit é adicionada a client_cert_error e client_cert_chain é definida como uma string vazia.

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 aplicações externo regional
  • Balanceador de carga de aplicações interno entre regiões
  • Balanceador de carga de aplicações 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.
http_response_timeout O balanceador de carga atingiu um limite de tempo limite do serviço de back-end configurado enquanto aguardava a resposta completa do back-end. 504, 408
http_request_error O balanceador de carga encontrou um erro HTTP 4xx, o que indica problemas com o pedido do cliente. 400, 403, 405, 406, 408, 411, 413, 414, 415, 416, 417 ou 429
http_protocol_error O equilibrador de carga encontrou um erro de protocolo HTTP ao comunicar com o back-end. 502
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 da validação do certificado apresentado pelo servidor ou pelo cliente quando o mTLS está ativado. 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 aplicações externo regional
  • Balanceador de carga de aplicações interno regional
  • Balanceador de carga de aplicações 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
response_sent_by_backend O pedido HTTP foi encaminhado com êxito para o back-end e a resposta foi devolvida pelo back-end. O código de estado HTTP é definido pelo software em execução no back-end.
client_timed_out

A ligação entre o balanceador de carga e o cliente excedeu o tempo limite de inatividade.

Para mais informações sobre o balanceador de carga de aplicações externo regional, consulte o artigo Limite de tempo limite de keep-alive HTTP do cliente. Para mais informações sobre o balanceador de carga de aplicações interno, consulte o artigo Limite de tempo limite de keep-alive HTTP do cliente.
0, 408
backend_timeout

O back-end excedeu o tempo limite durante a geração de uma resposta.

502
http_protocol_error_from_backend_response A resposta do back-end contém um erro do protocolo HTTP. 501, 502
http_protocol_error_from_request O pedido do cliente contém um erro do protocolo HTTP. 400, 503
http_version_not_supported A versão do protocolo HTTP não é suportada. Apenas são suportados os protocolos HTTP 1.1 e 2.0. 400
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
invalid_request_headers

Os cabeçalhos de pedidos HTTP recebidos de um cliente contêm, pelo menos, um caráter que não é permitido ao abrigo de uma especificação HTTP aplicável.

Por exemplo, os nomes dos campos de cabeçalho que incluem aspas duplas (") ou quaisquer carateres fora do intervalo ASCII padrão (ou seja, qualquer byte >= 0x80) são inválidos.

Para mais informações, consulte:

400, 404
ip_detection_failed Não foi possível detetar o endereço IP original. Qualquer código de estado possível, consoante a natureza da falha. O valor tem de estar entre 400 e 599.
request_body_too_large O corpo do pedido HTTP excedeu o comprimento máximo suportado pelo balanceador de carga. 413, 507
request_header_timeout O cabeçalho do pedido excedeu o tempo limite porque o balanceador de carga não recebeu o pedido completo no prazo de 5 segundos. 408, 504
denied_by_security_policy O balanceador de carga recusou este pedido devido a uma política de segurança do Google Cloud Armor. 403
throttled_by_security_policy O pedido foi bloqueado por uma regra de limitação do Cloud Armor. 429
client_cert_chain_invalid_eku O certificado de cliente ou o respetivo emissor não tem utilização de chave alargada que inclua clientAuth. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 0
client_cert_chain_max_name_constraints_exceeded Um certificado intermédio fornecido para validação tinha mais de 10 restrições de nomes. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 0
client_cert_invalid_rsa_key_size Um certificado de folha ou intermédio de cliente tinha um tamanho da chave RSA inválido. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 0
client_cert_not_provided O cliente não forneceu o certificado pedido durante a negociação. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 0
client_cert_pki_too_large A infraestrutura de chaves públicas a usar para validação tem mais de três certificados intermédios que partilham o mesmo Subject e Subject Public Key Info. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 0
client_cert_unsupported_elliptic_curve_key Um certificado intermédio ou de cliente está a usar uma curva elíptica não suportada. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 0
client_cert_unsupported_key_algorithm Um certificado de cliente ou intermédio está a usar um algoritmo não RSA ou não ECDSA. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 0
client_cert_validation_failed O certificado de cliente não passa na validação com o TrustConfig. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 0
client_cert_validation_not_performed Configurou o TLS mútuo sem configurar um TrustConfig. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 0
client_cert_validation_search_limit_exceeded O limite de profundidade ou iteração é atingido ao tentar validar a cadeia de certificados. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 0
client_cert_validation_timed_out O limite de tempo foi excedido (200 ms) durante a validação da cadeia de certificados. Para mais informações, consulte o artigo Erros registados para ligações fechadas. 0
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 resource.type="internal_http_lb_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 Trusted Cloud projeto associado a este recurso.
region de string A região na qual o balanceador de carga está definido.
url_map_name de string O nome do objeto de mapa de URL configurado para selecionar um serviço de back-end.
forwarding_rule_name de string O nome do objeto da regra de encaminhamento.
target_proxy_name de string O nome do objeto proxy de destino referenciado pela regra de encaminhamento.
matched_url_path_rule de string A regra de caminho do mapa de URLs ou a regra de trajeto configurada como parte da chave do mapa de URLs. Pode ser UNMATCHED ou UNKNOWN como alternativas.
  • UNMATCHED refere-se a um pedido que não corresponde a nenhuma regra de caminho do URL, pelo que usa a regra de caminho predefinida.
  • UNKNOWN indica um erro interno.
backend_target_name de string O nome do back-end selecionado para processar o pedido, com base na regra de caminho do mapa de URLs ou na regra de trajeto que corresponde ao 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 NEG de 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 equilibrador de carga antes de o equilibrador 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 balanceador de carga não conseguiu selecionar um 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.
backend_target_cross_project_id String O ID do projeto do serviço ou contentor de destino de back-end. Este campo só está disponível se o recurso de destino de back-end for criado num projeto diferente do projeto no qual o recurso url_map é criado.

Registos de pedidos da política de autorização

O objeto authz_info no payload JSON da entrada do registo do equilibrador de carga contém informações sobre as políticas de autorização. Pode configurar métricas baseadas em registos para o tráfego permitido ou recusado por estas políticas. Consulte mais detalhes do registo das políticas de autorização.

Campo Tipo Descrição
authz_info.policies[] objeto A lista de políticas que correspondem ao pedido.
authz_info.policies[].name de string O nome da política de autorização que corresponde ao pedido.

O nome está vazio pelos seguintes motivos:

  • Nenhuma política ALLOW corresponde ao pedido e o pedido é recusado.
  • Nenhuma política DENY corresponde ao pedido e o pedido é permitido.
authz_info.policies[].result enum O resultado pode ser ALLOWED ou DENIED.
authz_info.policies[].details de string Os detalhes incluem o seguinte:
  • allowed_as_no_deny_policies_matched_request
  • denied_as_no_allow_policies_matched_request
  • denied_by_authz_extension
  • denied_by_cloud_iap
authz_info.overall_result enum O resultado pode ser ALLOWED ou DENIED.

Veja os registos da validação de certificados de cliente mTLS

Para ver os erros registados para ligações fechadas durante a validação do certificado do cliente TLS mútuo, conclua os seguintes passos.

Consola

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

    Aceda ao Explorador de registos

  2. Clique no botão Mostrar consulta para ativar o editor de consultas.

  3. Cole o seguinte no campo Consulta. Substitua FORWARDING_RULE_NAME pelo nome da sua regra de encaminhamento.

    jsonPayload.statusDetails=~"client_cert"
    jsonPayload.@type="type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
    resource.labels.forwarding_rule_name=FORWARDING_RULE_NAME
    
  4. Clique em Executar consulta.

Monitorização

Os balanceadores de carga de aplicações internos exportam dados de monitorização para o Monitoring.

As métricas de monitorização podem ser usadas para os seguintes fins:

  • Avaliar a configuração, a utilização e o desempenho de um balanceador de carga
  • Resolução de problemas
  • Melhorar a utilização de recursos e a experiência do utilizador

Ver métricas do Cloud Monitoring

Consola

Para ver as métricas de um recurso monitorizado através do Metrics Explorer, faça o seguinte:

  1. Na Trusted Cloud consola, aceda à página  Explorador de métricas:

    Aceda ao Metrics Explorer

    Se usar a barra de pesquisa para encontrar esta página, selecione o resultado cujo subtítulo é Monitorização.

  2. Na barra de ferramentas da Trusted Cloud consola, selecione o seu Trusted Cloud projeto. Para configurações do App Hub, selecione o projeto anfitrião do App Hub ou o projeto de gestão da pasta com apps ativadas.
  3. No elemento Métrica, expanda o menu Selecionar uma métrica, introduza Internal Application Load Balancer Rule na barra de filtros e, de seguida, use os submenus para selecionar um tipo de recurso e uma métrica específicos:
    1. No menu Recursos ativos, selecione Regra do equilibrador de carga da aplicação interno.
    2. Para selecionar uma métrica, use os menus Categorias de métricas ativas e Métricas ativas.
    3. Clique em Aplicar.
  4. Para adicionar filtros que removem séries cronológicas dos resultados da consulta, use o elemento Filter.

  5. Para combinar séries cronológicas, use os menus no elemento Agregação. Por exemplo, para apresentar a utilização da CPU das suas VMs, com base na respetiva zona, defina o primeiro menu como Média e o segundo menu como zona.

    Todas as séries cronológicas são apresentadas quando o primeiro menu do elemento Agregação está definido como Não agregado. As predefinições do elemento Agregação são determinadas pelo tipo de métrica que selecionou.

  6. Para a quota e outras métricas que comunicam uma amostra por dia, faça o seguinte:
    1. No painel Apresentação, defina o Tipo de widget como Gráfico de barras empilhadas.
    2. Defina o período como, pelo menos, uma semana.

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. 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 de 6 semanas a 1 minuto.

Métricas de monitorização

As seguintes métricas para balanceadores de carga de aplicações internos são comunicadas na monitorização:

Métrica FQDN Descrição
Contagem de pedidos loadbalancing.googleapis.com/https/internal/request_count O número de pedidos publicados pelo Application Load Balancer interno.
Contagem de bytes de pedidos loadbalancing.googleapis.com/https/internal/request_bytes O número de bytes enviados como pedidos de clientes para o Application Load Balancer interno.
Contagem de bytes de resposta loadbalancing.googleapis.com/https/internal/response_bytes O número de bytes enviados como respostas do balanceador de carga HTTP(S) interno para o cliente.
Latências totais loadbalancing.googleapis.com/https/internal/total_latencies

Uma distribuição da latência total. A latência total é o tempo em milissegundos entre o primeiro byte do pedido recebido pelo proxy e o último byte da resposta enviada pelo proxy. Inclui: o tempo que o proxy demora a processar o pedido, o tempo que o pedido demora a ser enviado do proxy para o back-end, o tempo que o back-end demora a processar o pedido, o tempo que a resposta demora a ser enviada de volta para o proxy e o tempo que o proxy demora a processar a resposta e a enviá-la para o cliente.

Não inclui o tempo de resposta entre o cliente e o proxy. Além disso, as pausas entre pedidos na mesma ligação que usam Connection: keep-alive não afetam a medição. Normalmente, esta medição é reduzida ao percentil 95 nas vistas do Cloud Monitoring.

Latências de back-end loadbalancing.googleapis.com/https/internal/backend_latencies

Uma distribuição da latência do back-end. A latência do back-end é o tempo, em milissegundos, entre o último byte do pedido enviado para o back-end e o último byte da resposta recebida pelo proxy. Inclui o tempo que o back-end demora a processar o pedido e o tempo que a resposta demora a ser enviada de volta para o proxy.

Filtrar dimensões para métricas

As métricas são agregadas para cada balanceador de carga da aplicação interno. Pode filtrar as métricas agregadas pelas seguintes dimensões.

Propriedade Descrição
BACKEND_SCOPE A Trusted Cloud zona ou região do grupo de back-end que respondeu ao pedido do cliente ou uma string especial para casos em que o grupo de back-end não foi atribuído. Exemplos: us-central1-a, europe-west1-b, asia-east1, UNKNOWN.
PROXY_REGION Região do balanceador de carga de aplicações interno, do cliente e do back-end. Exemplos: us-central1, europe-west1 ou asia-east1.
BACKEND O nome do grupo de instâncias ou do NEG de back-end que processou o pedido do cliente.
BACKEND_TARGET O nome do serviço de back-end que publicou o pedido do cliente.
MATCHED_URL_RULE A regra de caminho do mapa de URLs ou a regra de rota que correspondeu ao prefixo do pedido HTTP(S) do cliente (até 50 carateres).

A métrica Response code class fraction é suportada para todo o balanceador de carga. Não é suportada mais granularidade.

O que se segue?