Monitoramento e geração de registros de balanceamento de carga HTTP(S)

Este documento fornece as informações necessárias para entender o Cloud Logging e o Cloud Monitoring para balanceamento de carga HTTP(S).

Logging

É possível ativar, desativar e ver registros para um serviço de back-end do balanceamento de carga HTTP(S).

É possível ativar ou desativar a geração de registros para cada serviço de back-end. É possível configurar se você quer registrar todas as solicitações ou uma fração amostrada aleatoriamente.

Você precisa garantir que não tem uma exclusão de registros que se aplique ao balanceador de carga HTTP(S) externo. Para instruções sobre como verificar se os registros Cloud HTTP Load Balancer são permitidos, consulte Como visualizar exclusões de tipo de recurso.

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

Console

  1. Acesse a página "Balanceamento de carga" no Console do Cloud.
    Acessar a página "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 ao lado do serviço de back-end.
  6. Desmarque Ativar geração de registros para desativar completamente a geração de registros.
  7. Se a geração de registros permanecer ativada, será possível definir uma fração da taxa de amostragem diferente. Ela pode ser definida como qualquer número de 0.0 a 1.0 (padrão). Para reduzir o número de registros armazenados para 20%, defina o valor como 0.2.
  8. Clique em Update.

gcloud

gcloud compute backend-services create BACKEND_SERVICE \
 --global \
 --enable-logging \
 --logging-sample-rate=VALUE \
 ... other values

em que

  • --global indica que o serviço de back-end é global.
  • --enable-logging ativa a geração de registros para esse serviço de back-end.
  • --logging-sample-rate=<var>VALUE</var> permite especificar um valor de 0.0 a 1.0, em que 0.0 significa que nenhuma solicitação é registrada e 1.0 significa que 100% das solicitações são registradas. Só é significativo com o parâmetro --enable-logging. Ativar a geração de registros, mas definir a taxa de amostragem como 0.0, equivale a desativar a geração de registros.

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

Console

  1. Acesse a página "Balanceamento de carga" no Console do Cloud.
    Acessar a página "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 ao lado do serviço de back-end.
  6. Clique em Ativar a geração de registros.
  7. Defina uma fração da Taxa de amostragem. Você pode definir uma taxa de 0.0 a 1.0 (padrão).
  8. Clique em Update.

gcloud

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

em que

  • --global indica que o serviço de back-end é global.
  • --enable-logging ativa a geração de registros para esse serviço de back-end.
  • --logging-sample-rate=<var>VALUE</var> permite especificar um valor de 0.0 a 1.0, em que 0.0 significa que nenhuma solicitação é registrada e 1.0 significa que 100% das solicitações são registradas. Só é significativo com o parâmetro --enable-logging. Ativar a geração de registros, mas definir a taxa de amostragem como 0.0, equivale a desativar a geração de registros.

Como desativar ou modificar a geração de registros em um serviço de back-end atual

Console

.
  1. Acesse a página "Balanceamento de carga" no Console do Cloud.
    Acessar a página "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 ao lado do serviço de back-end.
  6. Desmarque Ativar geração de registros para desativar completamente a geração de registros.
  7. Se a geração de registros permanecer ativada, será possível definir uma fração da taxa de amostragem diferente. Você pode definir a taxa de 0.0 a 1.0 (padrão). Para reduzir o número de registros armazenados para 20%, defina o valor como 0.2.
  8. Clique em Update.

gcloud

Como desativar completamente a geração de registros

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

em que

  • --global indica que o serviço de back-end é global.
  • --no-enable-logging desativa a geração de registro para esse serviço de back-end.

Como alterar a taxa de amostragem da geração de registros

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

em que

  • --global indica que o serviço de back-end é global.
  • --logging-sample-rate=<var>VALUE</var> permite especificar um valor de 0.0 a 1.0, em que 0.0 significa que nenhuma solicitação é registrada e 1.0 significa que 100% das solicitações são registradas. Só é significativo com o parâmetro --enable-logging. Ativar a geração de registros, mas definir a taxa de amostragem como 0.0, equivale a desativar a geração de registros.

Como ver registros

Para visualizar os registros, acesse o Visualizador de registros.

Os registros HTTP(S) são indexados primeiro pela regra de encaminhamento e, depois, pelo mapa de URLs.

  • Para ver todos os registros no primeiro menu suspenso, selecione Balanceador de carga HTTP do Cloud > Todas as regras de encaminhamento.
  • Para ver os registros de uma regra de encaminhamento, selecione um único nome.
  • Para ver os registros de um mapa de URL, destaque uma regra de encaminhamento e escolha um mapa de URL.

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

A codificação UTF-8 é aplicada aos campos de registro. Os caracteres que não forem UTF-8 serão substituídos por pontos de interrogação.

É possível configurar a exportação de métricas com base em registros para registros de recursos do balanceador de carga HTTP(S) externo (resource.type=http_load_balancer). As métricas criadas são baseadas no recurso "Regra de balanceamento de carga HTTP do Google Cloud (Métricas baseadas em registros)" (l7_lb_rule), que está disponível nos painéis do Cloud Monitoring, e não no recurso https_lb_rule:

Acessar Monitoring

O que é registrado

As entradas do registro do balanceamento de carga HTTP(S) contêm informações úteis para monitorar e depurar seu tráfego HTTP(S). As entradas de registro contêm:

  • Informações gerais, como gravidade, ID do projeto, número do projeto e carimbo de data/hora.
  • campos de registro HttpRequest. No entanto, HttpRequest.protocol não é preenchido para registros do Cloud Logging do balanceamento de carga HTTP(S).
  • um campo statusDetails dentro de structPayload. Esse campo tem uma string que explica por que o balanceador de carga retornou o status HTTP específico. As tabelas abaixo contêm mais explicações dessas strings de registro.
  • redirecionamentos (código de status de resposta HTTP 302 encontrado) emitidos pelo balanceador de carga não são registrados. Redirecionamentos emitidos pelas instâncias de back-end são registrados.

Mensagens de sucesso de HTTP statusDetail

statusDetails (bem-sucedida) Significado Códigos de resposta associados frequentes
byte_range_caching A solicitação HTTP foi exibida usando o cache de intervalo de bytes do Cloud CDN. Qualquer código de resposta armazenável em cache é possível.
response_from_cache A solicitação HTTP foi exibida por um cache do Cloud CDN. Qualquer código de resposta armazenável em cache é possível.
response_from_cache_validated O código de retorno foi definido por uma entrada de cache do Cloud CDN que foi validada por um back-end. Qualquer código de resposta armazenável em cache é possível.
response_sent_by_backend A solicitação HTTP foi encaminhada com sucesso por um proxy para o back-end. Retornado do back-end: o código de resposta HTTP é definido pelo software em execução no back-end.

Mensagens de falha de HTTP statusDetail

statusDetails (falha) Significado Códigos de resposta associados frequentes
aborted_request_due_to_backend_early_response Uma solicitação com corpo foi cancelada porque o back-end enviou uma resposta antecipada com um código de erro. A resposta foi encaminhada ao cliente. A solicitação foi encerrada. 4XX ou 5XX
backend_connection_closed_after_partial_response_sent A conexão do back-end fechou inesperadamente depois de uma resposta parcial ter sido enviada ao cliente. O código de resposta HTTP é definido pelo software em execução no back-end. O código de resposta HTTP 0 (zero) significa que o back-end enviou cabeçalhos HTTP incompletos.
backend_connection_closed_before_data_sent_to_client O back-end fechou inesperadamente sua conexão com o balanceador de carga antes de a resposta ser encaminhada por proxy para o cliente. Isso poderá acontecer se o balanceador de carga estiver enviando tráfego para outra entidade. A outra entidade pode ser um balanceador de carga de terceiros que tem um tempo limite de TCP menor que o tempo limite de 10 minutos (600 segundos) do balanceador de carga HTTP(S) externo. O balanceador de carga de terceiros pode estar em execução em uma instância de VM. Definir manualmente o tempo limite de TCP (sinal de atividade) no serviço de destino para mais de 600 segundos pode resolver o problema. 502
backend_early_response_with_non_error_status O back-end enviou uma resposta sem erro (1XX ou 2XX) a uma solicitação antes de receber todo o corpo da solicitação. 502
backend_interim_response_not_supported O back-end enviou uma resposta provisória 1XX para a solicitação, em um contexto em que as respostas temporárias não são aceitas. 502
backend_response_corrupted O corpo da resposta HTTP enviada pelo back-end tem uma codificação de transferência fragmentada inválida ou então está corrompida. Qualquer código de resposta é possível, dependendo da natureza da corrupção. Geralmente, 502.
backend_response_headers_too_long Os cabeçalhos de resposta HTTP enviados pelo back-end excederam o limite permitido. Saiba mais em Tamanho do cabeçalho para os limites de balanceamento de carga HTTP(S). 502
backend_timeout O tempo limite do back-end foi atingido enquanto uma resposta era gerada. 502
body_not_allowed O cliente enviou uma solicitação HTTP com corpo, mas o método HTTP usado não permite um corpo. 400
byte_range_caching_aborted Anteriormente, o balanceador de carga recebeu uma resposta indicando que o recurso podia ser armazenado em cache e era compatível com intervalos de bytes. O Cloud CDN recebeu uma resposta inconsistente (por exemplo, com um código de resposta diferente do 206 Conteúdo parcial esperado). Isso aconteceu ao tentar executar o preenchimento do cache usando uma solicitação de intervalo de bytes. Como resultado, o balanceador de carga cancelou a resposta para o cliente. 2XX
byte_range_caching_forwarded_backend_response Anteriormente, o balanceador de carga recebeu uma resposta indicando que o recurso podia ser armazenado em cache e era compatível com intervalos de bytes. O Cloud CDN recebeu uma resposta inconsistente (por exemplo, com um código de resposta diferente do 206 Conteúdo parcial esperado). Isso aconteceu ao tentar executar o preenchimento do cache usando uma solicitação de intervalo de bytes. O balanceador de carga então encaminhou a resposta inconsistente para o cliente. Devolvido do back-end - qualquer código de resposta é possível.
byte_range_caching_retrieval_abandoned O cliente cancelou uma solicitação de intervalo de bytes ou de validação iniciada pelo Cloud CDN. Devolvido do back-end - qualquer código de resposta é possível.
byte_range_caching_retrieval_from_backend_failed_after_partial_response Uma solicitação de intervalo de bytes ou de validação iniciada pelo Cloud CDN encontrou um erro. Consulte a entrada de registro correspondente do Cloud Logging referente à solicitação iniciada pelo Cloud CDN para o status detalhado do back-end. 2XX
cache_lookup_failed_after_partial_response O balanceador de carga não conseguiu exibir uma resposta completa do cache do Cloud CDN devido a um erro interno. 2XX
cache_lookup_timeout_after_partial_response O stream de consulta de cache do Cloud CDN atingiu o tempo limite, porque o cliente não recuperou o conteúdo em tempo hábil. 2XX
client_disconnected_after_partial_response A conexão com o cliente foi interrompida depois de o balanceador de carga enviar uma resposta parcial. Devolvido do back-end da VM: qualquer código de resposta é possível.
client_disconnected_before_any_response A conexão com o cliente foi interrompida antes de o balanceador de carga enviar uma resposta. 0
client_timed_out O Google Front End (GFE) deixou inativa a conexão com o cliente devido à falta de progresso enquanto estava enviando solicitação ou resposta via proxy. 0 ou 408
denied_by_security_policy O balanceador de carga negou essa solicitação devido a uma política de segurança do Google Cloud Armor. Configurado na Política de segurança.
error_uncompressing_gzipped_body Houve um erro ao descompactar uma resposta HTTP compactada como gzip. 503
failed_to_connect_to_backend O balanceador de carga falhou ao se conectar com o back-end. Isso inclui tempos limite durante a fase de conexão. 502
failed_to_pick_backend O balanceador de carga falhou ao escolher um back-end íntegro para administrar a solicitação. 502
failed_to_negotiate_alpn O balanceador de carga e o back-end não conseguiram negociar um protocolo da camada de aplicativos (como HTTP/2) para se comunicar entre si por meio de TLS. 502
headers_too_long Os cabeçalhos da solicitação eram maiores do que o tamanho máximo permitido. 413
http_version_not_supported Versão HTTP não compatível. Atualmente, apenas HTTP 0.9, 1.0, 1.1 e 2.0 são compatíveis. 400
internal_error Erro interno no balanceador de carga. Normalmente, representa um erro temporário na infraestrutura do balanceador de carga. Tente refazer a consulta. 4XX
invalid_external_origin_endpoint A configuração da origem personalizada é inválida. Revise a configuração do NEG da Internet e certifique-se de que ela especifique um endereço FQDN/IP e uma porta válidos. 4XX
invalid_http2_client_header_format Os cabeçalhos HTTP/2 do cliente são inválidos. 400
multiple_iap_policies Não é possível combinar várias políticas do Identity-Aware Proxy (IAP). Se você tiver uma política de IAP anexada a um serviço de back-end e outra a um objeto sem servidor, remova uma das políticas e tente novamente. Os objetos sem servidor incluem o App Engine, o Cloud Run (totalmente gerenciado) e o Cloud Functions. 500
malformed_chunked_body O corpo da solicitação foi codificado inadequadamente em fragmentos. 411
request_loop_detected O balanceador de carga detectou um loop de solicitação. Esse loop pode ser causado por uma configuração incorreta em que o back-end encaminhou a solicitação de volta ao balanceador de carga. 502
required_body_but_no_content_length A solicitação HTTP requer um corpo, mas os cabeçalhos da solicitação não incluem um comprimento de conteúdo ou cabeçalho fragmentado de codificação de transferência. 400 ou 403
secure_url_rejected Uma solicitação com um URL https:// foi recebida em uma conexão HTTP/1.1 de texto simples. 400
ssl_san_verification_failed O balanceador de carga não encontrou um SAN (Subject Alternative Name) no certificado SSL apresentado pelo back-end que correspondesse ao nome do host configurado. 502
ssl_certificate_chain_verification_failed O certificado SSL apresentado pelo back-end falhou na verificação do certificado SSL. 502
unsupported_method O cliente forneceu um método de solicitação HTTP não compatível. 400
upgrade_header_rejected A solicitação HTTP do cliente continha o cabeçalho Upgrade e foi recusada. 400
uri_too_long O URI da solicitação HTTP era mais longo do que o comprimento máximo permitido. 414
websocket_closed A conexão WebSocket foi fechada. 101
websocket_handshake_failed O handshake do WebSocket falhou. Qualquer código de resposta é possível, dependendo da natureza da falha de handshake.
request_body_too_large O corpo da solicitação HTTP excedeu o máximo suportado pelo back-end. Não aplicável a back-ends de VMs. 413
handled_by_identity_aware_proxy Esta resposta foi gerada pelo Identity-Aware Proxy durante a verificação de identidade do cliente antes de permitir o acesso. 200, 302, 400, 401, 403, 500, 502
serverless_neg_routing_failed A solicitação NEG sem servidor não pode ser enviada. Isso pode acontecer quando a região especificada no NEG não puder ser acessada ou quando o nome do recurso (por exemplo, o nome do Cloud Functions) não puder ser encontrado. 404, 502

Como gerar registros para políticas de segurança do Google Cloud Armor

As entradas de registro a seguir, exibidas no visualizador de registros, são destinadas à geração de registros e à política de segurança do Google Cloud Armor. As entradas incluem a seguinte estrutura em jsonPayload: Os detalhes da solicitação HTTP aparecem na mensagem httpRequest.

  • status_details (string): uma descrição textual do código de resposta
  • enforced_security_policy: a regra de política de segurança que foi aplicada
    • name (string): nome da política de segurança
    • priority (número): a prioridade da regra correspondente na política de segurança
    • configured_action (string): o nome da ação configurada na regra correspondente. Por exemplo, ALLOW e DENY
    • outcome (string): o resultado da execução da ação configurada (não é necessariamente o mesmo que configured_action)
    • preconfigured_expr_ids (string): IDs de todas as expressões de regra WAF pré-configuradas que acionaram a regra
  • preview_security_policy: será preenchida se a solicitação corresponder a uma regra configurada para visualização (presente apenas quando uma regra de visualização tiver prioridade sobre a regra aplicada)
    • name (string): nome da política de segurança
    • priority (número): a prioridade da regra correspondente na política de segurança
    • configured_action (string): o nome da ação configurada na regra correspondente. Por exemplo, ALLOW e DENY
    • outcome (string): o resultado da execução da ação configurada (não é necessariamente o mesmo que configured_action)
    • preconfigured_expr_ids (string): IDs de todas as expressões de regra WAF pré-configuradas que acionaram a regra

Você pode interagir com os registros do balanceador de carga HTTP(S) externo usando a API Cloud Logging. A API Logging fornece maneiras de filtrar de forma interativa registros que têm campos específicos definidos. Ela exporta registros correspondentes para o Cloud Logging, o Cloud Storage, o BigQuery ou o Pub/Sub. Para mais informações sobre a API Logging, consulte Como visualizar registros.

Monitoramento

O balanceamento de carga HTTP(S) exporta dados de monitoramento para o Cloud Monitoring.

É possível usar as métricas de monitoramento para:

  • 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 Cloud Monitoring, é possível criar painéis personalizados, configurar alertas e consultar as métricas por meio da API Cloud Monitoring.

Como visualizar painéis do Cloud Monitoring

  1. Acesse o Monitoring no Console do Google Cloud.

    Acessar Monitoring

  2. Se o painel de navegação Monitoramento exibir Serviços, selecione Serviços > Balanceadores de carga do Cloud. Para visualizar o painel de um balanceador de carga específico, localize o balanceador de carga na lista e clique em seu nome.

  3. Caso contrário, selecione Painéis:

    • Para visualizar uma lista de painéis dos balanceadores de carga do Google Cloud, selecione o painel chamado Balanceadores de carga do Google Cloud. Para visualizar o painel de um balanceador de carga específico, localize o balanceador de carga na lista e clique em seu nome.

    • Para visualizar uma lista de painéis dos balanceadores de carga do AWS, selecione o painel chamado Amazon Web Services. Para visualizar o painel de um balanceador de carga específico, localize o balanceador de carga na lista e clique em seu nome.

No painel esquerdo, é possível ver vários detalhes desse balanceador de carga HTTP(S) externo. No painel à direita, há gráficos de séries temporais. Clique no link Detalhamentos para ver os detalhes específicos.

Como definir políticas de alertas

É possível criar políticas de alertas para monitorar os valores das métricas e ser notificado quando elas violarem uma condição.

Para criar uma política de alertas que monitore um ou mais recursos da Regra de balanceamento de carga HTTP/S do Google Cloud, siga estas etapas:

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

    Acessar Monitoring

    Se você nunca tiver usado o Cloud Monitoring, no primeiro acesso ao Monitoring no Console do Google Cloud, um espaço de trabalho será criado automaticamente, e seu projeto será associado a ele. Caso contrário, se o seu projeto não estiver associado a um espaço de trabalho, uma caixa de diálogo será exibida, e será possível criar um espaço de trabalho ou adicionar seu projeto a um espaço de trabalho atual. Recomendamos que você crie um espaço de trabalho. Depois de fazer a seleção, clique em Adicionar.

  2. No painel de navegação do Monitoring, selecione Alertas e depois Criar política.
  3. Clique em Adicionar condição:
    1. As configurações no painel Destino especificam o recurso e a métrica a serem monitorados. No campo Localizar tipo de recurso e métrica, selecione o recurso Regra de balanceamento de carga HTTP/S do Google Cloud. Em seguida, selecione uma métrica da lista.
    2. As configurações da política de alertas no painel Configuração determinam quando o alerta é acionado. A maioria dos campos nesse painel é preenchida com valores padrão. Para mais informações sobre os campos no painel, consulte Configuração na documentação das políticas de alertas.
    3. Clique em Adicionar.
  4. Para acessar a seção de notificações, clique em Próxima.
  5. Opcional: para adicionar notificações à sua política de alertas, clique em Canais de notificação. Na caixa de diálogo, selecione um ou mais canais de notificação no menu e clique em OK.

    Se um canal que você quer adicionar não estiver listado, clique em Gerenciar canais de notificação. Você será direcionado para a página Canais de notificação em uma nova guia do navegador. Nessa seção, é possível atualizar os canais de notificação configurados. Depois de concluir as atualizações, retorne à guia original, clique em Atualizar e selecione os canais de notificação que serão adicionados à política de alertas.

  6. Para avançar à seção de documentação, clique em Próxima.
  7. Clique em Nome e digite um nome para a política de alertas.
  8. Opcional: clique em Documentação e adicione as informações que quer incluir em uma mensagem de notificação.
  9. Clique em Salvar.
Saiba mais em Políticas de alertas.

Como definir painéis personalizados do Cloud Monitoring

É possível criar painéis personalizados do Cloud Monitoring com métricas de balanceamento de carga HTTP(S):

  1. Acesse o Monitoring no Console do Google Cloud.
    Acessar o Monitoring
  2. Selecione Painéis > Criar painel.
  3. Clique em Adicionar gráfico.
  4. Dê um título ao gráfico.
  5. Selecione as métricas e os filtros. Para métricas, o tipo de recurso é o balanceador de carga do Cloud HTTP.
  6. Clique em Salvar.

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

As métricas dos balanceadores de carga HTTP(S) externos são exportadas para o Cloud Monitoring em lotes de granularidade de 1 minuto. Os dados de monitoramento são retidos por seis semanas. 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 manualmente a análise em qualquer intervalo, de 6W a 1 minuto.

Como monitorar métricas de balanceadores de carga HTTP(S) externos

As seguintes métricas para balanceadores de carga HTTP(S) externos são informadas no Cloud Monitoring:

Métrica Nome Descrição
Contagem de solicitações https/request_count O número de solicitações atendidas pelo balanceador de carga HTTP(S) interno
Contagem de bytes da solicitação https/request_bytes_count O número de bytes enviados como solicitações dos clientes para o balanceador de carga HTTP(S) externo
Contagem de bytes da resposta https/response_bytes_count O número de bytes enviados como respostas do balanceador de carga HTTP(S) externo para os clientes
Latências totais https/total_latencies Uma distribuição da latência. A latência é medida a partir do momento em que o primeiro byte da solicitação é recebido pelo GFE até que o GFE receba um ACK do cliente solicitante para o último byte de resposta. As latências totais são medidas por solicitação/resposta. As pausas entre solicitações na mesma conexão usando Connection: keep-alive não afetam a medição. Essa medida costuma ser reduzida para o 95º percentil nas visualizações do Cloud Monitoring.

Exemplo: um balanceador de carga tem 1 solicitação por segundo do Reino Unido com uma latência de 100 ms e 9 solicitações por segundo dos EUA com latências de 50 ms. Durante um determinado minuto, houve 60 solicitações do Reino Unido e 540 solicitações dos EUA. As métricas de monitoramento preservam a distribuição em todas as dimensões. Você pode solicitar informações como as seguintes:
  • latência global mediana (300/600) – 50 ms
  • latência mediana do Reino Unido (30/60) - 100 ms
  • latência geral do 95º percentil (570/600) - 100 ms
RTT do front-end(*) https/frontend_tcp_rtt Uma distribuição do RTT suavizado medido para cada conexão entre o cliente e o GFE (medido pela pilha TCP do GFE).
Latências de back-end(*) https/backend_latencies Uma distribuição da latência medida a partir do momento em que o primeiro byte da solicitação foi enviado pelo GFE para o back-end até o GFE receber, do back-end, o último byte da resposta.
Parte da classe de código de resposta Fração do total de respostas externas do balanceador de carga HTTP(S) que estão em cada classe de código de resposta (2XX, 4XX ...). No Cloud Monitoring, esse valor só está disponível em painéis padrão. Não é possível vê-lo nos painéis personalizados. É possível usar a API para definir alertas para ela.
Contagem de solicitações de back-end https/backend_request_count O número de solicitações enviadas do balanceador de carga HTTP(S) externo para os back-ends.
Contagem de bytes da solicitação de back-end https/backend_request_bytes_count O número de bytes enviados como solicitações do balanceador de carga HTTP(S) externo para os back-ends.
Contagem de bytes de resposta de back-end https/backend_response_bytes_count O número de bytes enviados como respostas dos back-ends ao balanceador de carga HTTP(S) externo.

(*) Não há garantias de que a soma das latências do RTT de front-end e do back-end será menor ou igual à soma das latências totais. Isso ocorre porque, mesmo que pesquisemos o RTT no soquete do GFE para o cliente no momento em que a resposta HTTP é confirmada, dependemos do relatório do kernel para algumas dessas medidas e não podemos garantir que o kernel terá uma medição de RTT para uma determinada resposta HTTP. O resultado final é um valor RTT suavizado que também é afetado por respostas HTTP anteriores, SYN/ACKs e handshakes SSL que não têm impacto sobre os verdadeiros tempos da solicitação HTTP real.

Como filtrar dimensões para métricas do balanceador de carga HTTP(S) externo

As métricas são agregadas para cada balanceador de carga HTTP(S) externo. Você pode filtrar as métricas agregadas pelas seguintes dimensões(*):

Propriedade Descrição
backend_scope O escopo do Google Cloud (região ou zona) do grupo de instâncias de serviço de back-end que serviu à conexão.

Se nenhum grupo de instâncias estava disponível ou se a solicitação foi atendida por outra entidade, você verá um dos valores a seguir em vez de uma região ou zona do grupo de instâncias do serviço de back-end.
  • FRONTEND_5XX: ocorreu um erro interno antes que o GFE pudesse selecionar um back-end. O GFE retornou 5XX ao cliente.
  • INVALID_BACKEND: o GFE não conseguiu encontrar um back-end íntegro ao qual atribuir a solicitação, por isso retornou uma resposta 5XX ao solicitante.
  • NO_BACKEND_SELECTED: ocorreu um erro ou outra interrupção antes da seleção de um back-end.
  • SERVED_FROM_BACKEND_BUCKET: um bucket de back-end processou a solicitação.
  • SERVED_FROM_CACHE: um cache do GFE processou a solicitação, então nenhum back-end foi atribuído.
  • MULTIPLE_BACKENDS: a solicitação foi exibida por possivelmente vários back-ends. O cache enviou uma ou mais solicitações de intervalo de bytes para um back-end diferente. Use o detalhamento BACKEND_SCOPE para visualizar cada solicitação de um balanceador de carga para um back-end.

Quando esse detalhamento é escolhido, os gráficos mostram métricas de back-end (balanceador de carga-para-back-ends), não métricas de front-end (balanceador do cliente para carga).
backend_scope = "backend_zone" Se o grupo de instâncias era um grupo de instâncias zonal, a zona do Google Cloud do grupo de instâncias que atendeu à solicitação do cliente. (Exemplos: us-central1-a, europe-west1-b, asia-east1-c)

Quando esse detalhamento é escolhido, os gráficos mostram métricas de back-end (balanceador de carga-para-back-ends), não métricas de front-end (balanceador do cliente para carga).
backend_scope = "backend_region" A região do Google Cloud do grupo de instâncias que atendeu à solicitação do cliente, em caso de grupo de instâncias regional. (Exemplos: us-central1, europe-west1, asia-east1)

Quando esse detalhamento é escolhido, os gráficos mostram métricas de back-end (balanceador de carga-para-back-ends), não métricas de front-end (balanceador do cliente para carga).
proxy_continent O continente do GFE HTTP(S) que encerrou a conexão HTTP(S). (Exemplos: America, Europe, Asia)
backend_type = "INSTANCE GROUP" O nome do grupo de instâncias que atendeu à solicitação do cliente.

Se nenhum grupo de instâncias estava disponível ou se a solicitação foi atendida por outra entidade, você verá um dos valores a seguir em vez de um grupo de instâncias.
  • FRONTEND_5XX: ocorreu um erro interno antes que o GFE pudesse selecionar um back-end. O GFE retornou 5XX ao cliente.
  • INVALID_BACKEND: o GFE não conseguiu encontrar um back-end íntegro ao qual atribuir a solicitação, por isso retornou uma resposta 5XX ao solicitante.
  • NO_BACKEND_SELECTED: ocorreu um erro ou outra interrupção antes da seleção de um back-end.
  • INVALID_BACKEND: o GFE não conseguiu encontrar um back-end íntegro, por isso retornou uma resposta 5XX ao solicitante.
  • SERVED_FROM_BACKEND_BUCKET: um bucket de back-end processou a solicitação.
  • SERVED_FROM_CACHE: o Cloud CDN processou a solicitação. Portanto, nenhum back-end foi atribuído.
  • MULTIPLE_BACKENDS: vários back-ends atenderam à solicitação.

Quando esse detalhamento é escolhido, os gráficos mostram métricas de back-end (balanceador de carga-para-back-ends), não métricas de front-end (balanceador do cliente para carga).
backend_target_type = "BACKEND_SERVICE" O nome do serviço de back-end que atendeu a solicitação do cliente.
matched_url_path_rule A regra do caminho do mapa de URL que corresponde ao prefixo da solicitação HTTP(S) (até 50 caracteres).
forwarding_rule_name O nome da regra de encaminhamento usada pelo cliente para enviar a solicitação.

(*) Atualmente, a métrica "Fração de classe do código de resposta" está disponível apenas no balanceador de carga completo, sem mais detalhamentos disponíveis.

A seguir