Nesta página, mostramos como configurar e usar o Cloud Logging e o Cloud Monitoring com callouts de Service Extensions para o Cloud Load Balancing.
Logging
Esta seção descreve o registro em registros de 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 para o 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-endRATE: um valor de0.0a1.0, em que0.0significa que nenhuma solicitação é registrada e1.0significa que 100% das solicitações são registradas. O valor padrão é1.0. Essa configuração só é eficaz quando usada com o parâmetroenable-logging. Quando você omiteenable-logging, a geração de registros é desativada.REGION: a região do back-endLOGGING_OPTIONAL_MODE: ativa a geração de registros para campos opcionais em um destes modos:INCLUDE_ALL_OPTIONALinclui todos os campos opcionais.EXCLUDE_ALL_OPTIONAL(padrão) exclui todos os campos opcionais.CUSTOMinclui uma lista personalizada de campos opcionais.
OPTIONAL_FIELDS: uma lista separada por vírgulas de campos opcionais ao selecionar o modoCUSTOM
Depois de ativar a geração de registros no serviço de back-end, as solicitações HTTP ou HTTPS serão registradas usando o 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.
Registrar mensagens 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 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ão no recurso de extensão de serviço que corresponde à solicitação. |
extension |
string | Nome da extensão na cadeia de extensão. |
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.
Aplicável 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 fluxo 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 de estatísticas de CheckRequest para extensões ext_authz que ocorrem no fluxo 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 momento em que o primeiro byte da mensagem ProcessingRequest
é enviado para a extensão e o momento em que o último byte da
mensagem ProcessingResponse é recebido. |
per_processing_request_info[].processing_effect |
enum | O resultado do processamento de cada evento em uma solicitação de
processamento.
Aplicável 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:
|
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.
Aplicável 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
Esta seção descreve como monitorar callouts configurados usando Service Extensions 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 acessar um painel predefinido, siga estas etapas:
- No console Google Cloud , acesse a página Visão geral dos painéis.
- Na seção Categorias, clique em GCP.
- Para conferir 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 acessar o painel de um balanceador de carga específico, localize o balanceador de carga na lista e clique no nome dele.
- Para conferir os painéis predefinidos apenas para seus balanceadores de carga, selecione o painel adequado.
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 callouts
É possível monitorar as seguintes métricas para serviços de back-end de callout.
Em prévia, é possível monitorar as seguintes métricas para extensões em balanceadores de carga de aplicativo externos regionais, balanceadores de carga de aplicativo internos regionais e balanceadores de carga de aplicativo internos entre regiões. Essas métricas têm o prefixo
networkservices.googleapis.com. O prefixo foi omitido das entradas na tabela a seguir.
A tabela a seguir fornece 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
Tipo, 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. |
extension/sent_chunks_count
|
Contagem de partes enviadas da extensão
DELTA, INT64, 1
Aplicável apenas a eventos request_body e response_body.
O número de blocos de dados enviados para a extensão. |
extension/received_chunks_count
|
Contagem de partes recebidas da extensão
DELTA, INT64, 1
Aplicável somente a eventos request_body e response_body.
O número de partes recebidas da extensão. |
extension/failed_open_count
|
Falhas de invocação de 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 pôde 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, 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 seguintes métricas. Essas métricas têm o prefixo
loadbalancing.googleapis.com/. O prefixo foi omitido das entradas na tabela.
| Tipo de métrica | Nome de exibição
Tipo, 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 callout é chamado do balanceador de carga de aplicativo. |
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
|
Bytes da 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 callout. |
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 callout. Amostras coletadas a cada 60 segundos. |