Geração de registros e monitoramento para callouts do Cloud Load Balancing

Nesta página, mostramos como configurar e usar o Cloud Logging e o Cloud Monitoring com chamadas de extensões de serviço para o Cloud Load Balancing.

Logging

Nesta seção, descrevemos a geração de registros para chamadas do balanceador de carga de aplicativo.

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

É possível ativar a geração de registros para chamadas do balanceador de carga de aplicativo ao criar o serviço. Para isso, ative a geração de registros no serviço de back-end que é o destino de uma solicitação (e não no serviço de back-end associado à extensão).

Para ativar a geração de registros no serviço de back-end de destino, 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

Substitua:

  • BACKEND_SERVICE: o nome do serviço de back-end
  • RATE: 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. O valor padrão é 1.0. Essa configuração só é eficaz quando usada com o parâmetro enable-logging. Quando você omite enable-logging, a geração de registros é desativada.
  • REGION: a região do back-end
  • LOGGING_OPTIONAL_MODE: ativa a geração de registros para campos opcionais em um destes modos:

    • INCLUDE_ALL_OPTIONAL inclui todos os campos opcionais.
    • EXCLUDE_ALL_OPTIONAL (padrão) exclui todos os campos opcionais.
    • CUSTOM inclui uma lista personalizada de campos opcionais.
  • OPTIONAL_FIELDS: uma lista separada por vírgulas de campos opcionais quando você seleciona o modo CUSTOM.

Depois de ativar a geração de registros no serviço de back-end, as solicitações HTTP ou HTTPS são registradas usando as solicitações de registros do Cloud Logging.

Para ver os registros, no console do Google Cloud , acesse a página Análise de registros.

Para mais informações, consulte as páginas "Monitorar e resolver problemas" da documentação do balanceador de carga de aplicativo, como Geração de registros e monitoramento do balanceador de carga de aplicativo interno.

Mensagens de registro de um serviço de back-end

Em geral, as entradas de registro do balanceador de carga de aplicativo contêm informações úteis para monitorar e depurar o tráfego HTTP ou HTTPS. As entradas de registro contêm os seguintes tipos de informação:

  • Informações mostradas na maioria dos registros do Google Cloud , como gravidade, ID do projeto, número do projeto e carimbo de data/hora, conforme descrito no registro LogEntry.
  • Campos de registro HttpRequest.

Os registros de solicitação para balanceadores de carga HTTP e HTTPS contêm um objeto service_extension_info no payload JSON da entrada de registro do balanceador de carga com as seguintes informações:

Campo Tipo Descrição
backend_target_name string Nome do destino de back-end da extensão.
backend_target_type string Tipo do destino de back-end.
chain string Nome da cadeia de extensões no recurso de extensão de serviço que corresponde à solicitação.
extension string Nome da extensão na cadeia de extensões.
failed_open booleano Quando a configuração da extensão tem failOpen definido como true, o valor true para essa métrica indica que o processamento continuou quando a extensão atingiu o tempo limite ou falhou.

Aplica-se apenas a balanceadores de carga de aplicativo externos regionais, balanceadores de carga de aplicativo internos regionais e balanceadores de carga de aplicativo internos entre regiões.

grpc_status enum O status mais recente no stream do gRPC. Para mais informações, consulte Códigos de status do gRPC.
per_processing_request_info matriz Uma lista de estatísticas de ProcessingRequest para extensões ext_proc ou estatísticas de CheckRequest para extensões ext_authz que ocorrem no stream gRPC.
per_processing_request_info[].event_type enum O tipo de evento de ProcessingRequest. Pode ser um destes: REQUEST_HEADERS, REQUEST_BODY, RESPONSE_HEADERS ou RESPONSE_BODY.
per_processing_request_info[].latency duration A duração entre o envio do primeiro byte da mensagem ProcessingRequest para a extensão e o recebimento do último byte da mensagem ProcessingResponse.
per_processing_request_info[].processing_effect enum O resultado do processamento de cada evento em uma solicitação de processamento.

Aplica-se apenas a balanceadores de carga de aplicativo externos regionais, balanceadores de carga de aplicativo internos regionais e balanceadores de carga de aplicativo internos entre regiões.

Pode ser um dos seguintes valores:

  • NONE: indica que o conteúdo não foi alterado.
  • NONE_FAILED_OPEN: indica que nenhuma mutação foi realizada porque a extensão falhou ao abrir.
  • CONTENT_MODIFIED: indica que o conteúdo foi alterado por uma solicitação de mutação aplicada com sucesso.
  • IMMEDIATE_RESPONSE: indica que uma resposta imediata foi enviada pela extensão para interromper todo o processamento.
  • MUTATION_REJECTED: indica que a extensão solicitou pelo menos uma mudança não permitida e o processamento foi interrompido. As mensagens de erro adequadas são registradas.
  • UNSPECIFIED: indica que o efeito do processamento não é conhecido.
per_processing_request_info[].processing_effect_details string Quando processing_effect é MUTATION_REJECTED, os detalhes sobre o motivo da rejeição de uma mutação.

Aplica-se apenas a balanceadores de carga de aplicativo externos regionais, balanceadores de carga de aplicativo internos regionais e balanceadores de carga de aplicativo internos entre regiões.

resource string Nome do recurso de extensão

Monitoramento

Nesta seção, descrevemos como monitorar chamadas configuradas usando as extensões de serviço para o Cloud Load Balancing.

Ver um painel do Monitoring

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

Use as métricas do Monitoring 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

Para visualizar um painel predefinido, siga estas etapas:

  1. No console do Google Cloud , acesse a página Visão geral dos painéis.

    Acessar "Visão geral dos painéis"

  2. Na seção Categorias, clique em GCP.
    • Para ver uma lista de painéis de todos os balanceadores de carga, na lista Painéis do GCP, clique no 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 no nome dele.
    • Para visualizar os painéis predefinidos apenas para seus balanceadores de carga, selecione o painel apropriado.

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

Para mais informações, consulte as páginas "Monitorar e resolver problemas" da documentação do balanceador de carga de aplicativo, como Geração de registros e monitoramento do balanceador de carga de aplicativo interno.

Métricas de monitoramento para chamadas

É possível monitorar as seguintes métricas para serviços de back-end de chamada.

Na pré-lançamento, é possível monitorar as seguintes métricas para extensões em todos os tipos de balanceadores de carga de aplicativo. Essas métricas têm o prefixo networkservices.googleapis.com. O prefixo é omitido das entradas na tabela a seguir.

A tabela a seguir mostra o tipo de métrica, o nome de exibição, o tipo, a unidade e a descrição de cada métrica.

Tipo de métrica Nome de exibição
Classe, Tipo, Unidade
Descrição
extension/invocation_count Contagem de invocações de extensão
DELTA, INT64, 1
O número de invocações enviadas à extensão.
extension/invocation_latencies Latências de invocação de extensão
DELTA, DISTRIBUTION, ms
A distribuição calculada com base na latência de cada invocação de extensão. Aplicável apenas a extensões de frase de destaque. Não há suporte para plug-ins.
extension/sent_chunks_count Contagem de blocos enviados pela extensão
DELTA, INT64, 1
Aplicável apenas aos eventos request_body e response_body. O número de blocos de dados enviados para a extensão.
extension/received_chunks_count Contagem de blocos recebidos pela extensão
DELTA, INT64, 1
Aplicável apenas aos eventos request_body e response_body. O número de blocos recebidos da extensão.
extension/failed_open_count Invocações com falha da extensão com fail-open
DELTA, INT64, 1
O número de vezes que uma invocação falhou quando o sistema foi configurado para fail-open e a solicitação foi autorizada a continuar.
extension/mutation_rejections_count Contagem de rejeições de mutação de extensão
DELTA, INT64, 1
O número de invocações que solicitaram mutações de cabeçalho da solicitação, corpo ou trailer, mas foram rejeitadas. As rejeições podem ocorrer por vários motivos, como quando a mutação é inválida ou excede os limites de tamanho.
extension/sent_bytes_count Contagem de bytes enviados pela extensão
DELTA, INT64, By
O número de bytes enviados para a extensão.
extension/received_bytes_count Contagem de bytes recebidos da extensão
DELTA, INT64, By
O número de bytes recebidos da extensão.

Também é possível monitorar as métricas a seguir. Essas métricas têm o prefixo loadbalancing.googleapis.com/. O prefixo é omitido das entradas na tabela.

Tipo de métrica Nome de exibição
Classe, Tipo, Unidade
Descrição
https/backend_request_count,
https/external/regional/backend_request_count,
https/internal/backend_request_count
Contagem de solicitações de back-end
DELTA, INT64, 1
O número de vezes que um serviço de back-end de chamada é chamado pelo balanceador de carga de aplicativo.
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
Bytes de solicitação de back-end
DELTA, INT64, By
O número de bytes enviados do balanceador de carga para o serviço de back-end de chamada.
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
Bytes de resposta do back-end
DELTA, INT64, By
O número de bytes recebidos pelo balanceador de carga do back-end da extensão.
https/backend_latencies,
https/external/regional/backend_latencies,
https/internal/backend_latencies
Latência de back-end
DELTA, DISTRIBUTION, ms
Uma distribuição calculada com base na soma das latências de cada invocação de extensão entre o balanceador de carga e o serviço de back-end de chamada. Amostras coletadas a cada 60 segundos.

A seguir