Geração de registros
É possível ativar, desativar e ver registros para um serviço de back-end do balanceador de carga de aplicativo externo.
É 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 a balanceadores de carga de aplicativo externos. 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.
Campos opcionais
Os registros contêm campos obrigatórios e opcionais. A seção O que é registrado lista quais campos são opcionais e quais são obrigatórios. Todos os campos obrigatórios estão sempre incluídos. É possível personalizar quais campos de metadados manter.
Se você selecionar Incluir todos os opcionais, todos os campos opcionais no formato de registro serão incluídos nos registros. Quando novos campos opcionais são adicionados ao formato de registro, os registros incluem automaticamente os novos campos.
Se você selecionar excluir todos os opcionais, todos os campos opcionais serão omitidos.
Se você selecionar personalizado, poderá especificar os campos opcionais que quer incluir, como
tls.protocol,tls.cipher
.
Para instruções sobre como personalizar campos opcionais, consulte Ativar a geração de registros em um novo serviço de back-end.
Como ativar a geração de registros em um novo serviço de back-end
Console
No Console do Google Cloud, acesse a página Balanceamento de carga.
Clique no nome do balanceador de carga.
Clique em
Editar.Clique em Configuração de back-end.
Selecione Criar um serviço de back-end.
Preencha os campos obrigatórios.
Na seção Logging, marque a caixa de seleção Ativar geração de registros.
No campo Taxa de amostragem, defina a probabilidade de amostragem. É possível definir um número de
0.0
a1.0
, em que0.0
significa que nenhuma solicitação é registrada e1.0
significa que 100% das solicitações são registradas. O valor padrão é1.0
.Opcional: para incluir todos os campos opcionais nos registros, na seção Campos opcionais, clique em Incluir todos os campos opcionais.
Para concluir a edição do serviço de back-end, clique em Atualizar.
Para concluir a edição do balanceador de carga, clique em Atualizar.
gcloud: modo regional
Crie um serviço de back-end e ative a geração de registros usando o
comando gcloud compute backend-services create
.
gcloud compute backend-services create BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=VALUE \ --load-balancing-scheme=EXTERNAL_MANAGED \ --logging-optional=LOGGING_OPTIONAL_MODE \ --logging-optional-fields=OPTIONAL_FIELDS
onde
--region
indica que o serviço de back-end é global. Use este campo para serviços de back-end usados com balanceadores de carga de aplicativo externos regionais.--enable-logging
ativa a geração de registros para esse serviço de back-end.--logging-sample-rate
permite especificar um valor de0.0
a1.0
, em que0.0
significa que nenhuma solicitação é registrada e1.0
significa que 100% das solicitações são registrado. Só é significativo com o parâmetro--enable-logging
. Ativar a geração de registros, mas definir a taxa de amostragem como0.0
, equivale a desativar a geração de registros. O valor padrão é1.0
.--logging-optional
permite especificar os campos opcionais que você quer incluir nos registros:INCLUDE_ALL_OPTIONAL
para incluir todos os campos opcionais.EXCLUDE_ALL_OPTIONAL
(padrão) para excluir todos os campos opcionais.CUSTOM
para incluir uma lista personalizada de campos de metadados especificados emOPTIONAL_FIELDS
.
--logging-optional-fields
permite especificar uma lista separada por vírgulas de campos opcionais que você quer incluir nos registros.Por exemplo,
tls.protocol,tls.cipher
só pode ser definido seLOGGING_OPTIONAL_MODE
for definido comoCUSTOM
.
Como ativar a geração de registros em um serviço de back-end
Console
No Console do Google Cloud, acesse a página Balanceamento de carga.
Clique no nome do balanceador de carga.
Clique em
Editar.Clique em Configuração de back-end.
Clique em
Editar ao lado do serviço de back-end.Na seção Logging, marque a caixa de seleção Ativar geração de registros.
No campo Taxa de amostragem, defina a probabilidade de amostragem. É possível definir um número de
0.0
a1.0
, em que0.0
significa que nenhuma solicitação é registrada e1.0
significa que 100% das solicitações são registradas. O valor padrão é1.0
.Opcional: para incluir todos os campos opcionais nos registros, na seção Campos opcionais, clique em Incluir todos os campos opcionais.
Para concluir a edição do serviço de back-end, clique em Atualizar.
Para concluir a edição do balanceador de carga, clique em Atualizar.
gcloud: modo regional
Ative a geração de registros em um serviço de back-end com o
comando gcloud compute backend-services update
.
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
--region
indica que o serviço de back-end é global. Use este campo para serviços de back-end usados com balanceadores de carga de aplicativo externos regionais.--enable-logging
ativa a geração de registros para esse serviço de back-end.--logging-sample-rate
permite especificar um valor de0.0
a1.0
, em que0.0
significa que nenhuma solicitação é registrada e1.0
significa que 100% das solicitações são registrado. Só é significativo com o parâmetro--enable-logging
. Ativar a geração de registros, mas definir a taxa de amostragem como0.0
, equivale a desativar a geração de registros. O valor padrão é1.0
.--logging-optional
permite especificar os campos opcionais que você quer incluir nos registros.INCLUDE_ALL_OPTIONAL
para incluir todos os campos opcionais.EXCLUDE_ALL_OPTIONAL
(padrão) para excluir todos os campos opcionais.CUSTOM
para incluir uma lista personalizada de campos de metadados especificados emOPTIONAL_FIELDS
.
--logging-optional-fields
permite especificar uma lista separada por vírgulas de campos opcionais que você quer incluir nos registros.Por exemplo,
tls.protocol,tls.cipher
. Só pode ser definido seLOGGING_OPTIONAL_MODE
estiver definido comoCUSTOM
.
Como desativar ou modificar a geração de registros em um serviço de back-end atual
Console
No Console do Google Cloud, acesse a página Balanceamento de carga.
Clique no nome do balanceador de carga.
Clique em
Editar.Clique em Configuração de back-end.
Clique em
Editar ao lado do serviço de back-end.Para desativar totalmente a geração de registros, na seção Registro, desmarque a caixa de seleção Ativar geração de registros.
Se você deixar a geração de registros ativada, será possível definir uma probabilidade de amostragem diferente no campo Taxa de amostragem. É possível definir um número de
0.0
a1.0
, em que0.0
significa que nenhuma solicitação é registrada e1.0
significa que 100% das solicitações são registradas. O valor padrão é1.0
. Para reduzir o número de registros armazenados para 20%, defina o valor como0.2
.Para concluir a edição do serviço de back-end, clique em Atualizar.
Para concluir a edição do balanceador de carga, clique em Atualizar.
gcloud: modo regional
Desative a geração de registros no serviço de back-end com o comando gcloud compute backend-services update
.
Como desativar completamente a geração de registros
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --no-enable-logging
onde
--region
indica que o serviço de back-end é global. Use este campo para serviços de back-end usados com balanceadores de carga de aplicativo externos regionais.--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 | --region=REGION \ --logging-sample-rate=VALUE
Como ver registros
Os registros HTTP(S) são indexados primeiro por uma regra de encaminhamento e, depois, por um mapa de URLs.
Para visualizar os registros, acesse a página do Explorador de registros.
Acessar o Explorador de registros
Para ver todos os registros, no menu de filtro Recurso, selecione Balanceador de carga HTTP do Cloud > Todas as regras de encaminhamento.
Para conferir os registros de uma regra de encaminhamento, selecione apenas um nome de regra.
Para explorar os registros de um mapa de URL, selecione uma regra de encaminhamento e, em seguida, selecione 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.
Para balanceadores de carga de aplicativo externos regionais,é possível exportar métricas com base em registros usando registros de recurso (resource.type="http_external_regional_lb_rule"
).
O que é registrado
As entradas de registro do balanceador de carga de aplicativo externo contêm informações úteis para monitorar e depurar o tráfego HTTP(S). Os registros contêm campos obrigatórios, que são os campos padrão de cada registro. Os registros contêm campos opcionais que adicionam mais informações sobre seu tráfego HTTP(S). Esses campos podem ser omitidos para economizar nos custos de armazenamento.
Alguns campos de registro aparecem em um formato múltiplo, com mais de um dado em cada campo. Por exemplo, o campo tls
é do formato TlsDetails
, que contém o protocolo TLS e a criptografia TLS em um único campo.
Esses campos são descritos na tabela de formatos de registro a seguir.
Campo | Formato do campo | Tipo de campo: obrigatório ou opcional | Descrição |
---|---|---|---|
severity timestamp insertID logName |
LogEntry | Obrigatório | Os campos gerais, conforme descrito em uma entrada de registro. |
httpRequest | HttpRequest | Obrigatório | Um protocolo comum para o registro de solicitações HTTP. |
resource | MonitoredResource | Obrigatório | O MonitoredResource é o tipo de recurso associado a uma entrada de registro. O MonitoredResourceDescriptor descreve o esquema de um objeto |
jsonPayload | object (Struct format) | Obrigatório | O payload da entrada de registro expresso como um objeto JSON. O objeto JSON contém os seguintes campos:
|
string | Obrigatório | O campo Os valores possíveis são |
|
TlsDetails | Opcional | O campo tls contém os TlsDetails que especificam os metadados TLS para a conexão entre o cliente e o balanceador de carga de aplicativo externo regional. Este campo só está disponível se o cliente estiver usando criptografia TLS/SSL. |
Formato do campo TlsDetails
Campo | Formato do campo | Tipo de campo: obrigatório ou opcional | Descrição |
---|---|---|---|
protocol | string | Opcional | Protocolo TLS que os clientes podem usar para estabelecer uma conexão com o balanceador de carga. Os valores possíveis podem ser TLS 1.0, 1.1, 1.2,
1.3 ou QUIC .
Esse valor será definido como NULL se o cliente não estiver usando criptografia TLS/SSL.
|
criptografia | string | Opcional | Criptografia TLS que os clientes podem usar para estabelecer uma conexão com o balanceador de carga. Esse valor é definido como NULL se o cliente não estiver usando HTTP(S) ou não estiver usando criptografia TLS/SSL.
|
Rótulos de recursos
A tabela a seguir lista os rótulos dos recursos de
resource.type="http_external_regional_lb_rule"
.
Campo | Tipo | Descrição |
---|---|---|
backend_name |
string | O nome do grupo de instâncias de back-end ou do NEG. |
backend_scope |
string |
O escopo do back-end (um nome de zona ou de região). Poderá ser
UNKNOWN sempre que backend_name for desconhecido.
|
backend_scope_type |
string |
O escopo do back-end (REGION /ZONE ). Poderá ser
UNKNOWN sempre que backend_name for desconhecido.
|
backend_target_name |
string | O nome do back-end selecionado para processar a solicitação, com base na regra de caminho do mapa de URL ou na regra de rota que corresponde à solicitação. |
backend_target_type |
string |
O tipo de destino de back-end. Pode ser BACKEND_SERVICE ou
UNKNOWN se o back-end não tiver sido atribuído.
|
backend_type |
string |
O tipo do grupo de back-end. Pode ser INSTANCE_GROUP ,
NETWORK_ENDPOINT_GROUP ou UNKNOWN se o
back-end não tiver sido atribuído.
|
forwarding_rule_name |
string | O nome do objeto da regra de encaminhamento. |
matched_url_path_rule |
string |
A regra de caminho do mapa de URL ou a regra de rota configurada como parte da chave do mapa de
URL. Pode ser UNMATCHED ou UNKNOWN como substituto.
|
network_name |
string | O nome da rede VPC do balanceador de carga. |
project_id |
string | O identificador do projeto do Google Cloud associado a esse recurso. |
region |
string | A região em que o balanceador de carga é definido. |
target_proxy_name |
string | O nome do objeto do proxy de destino referenciado pela regra de encaminhamento. |
url_map_name |
string | O nome do objeto do mapa de URL configurado para selecionar um serviço de back-end. |
Mensagens proxyStatus
proxyStatus | Significado | Códigos de resposta associados frequentes |
---|---|---|
destination_unavailable
|
O balanceador de carga considera o back-end indisponível. Por exemplo, tentativas recentes de se comunicar com o back-end falharam, ou uma verificação de integridade pode indicar falha. | 500, 503 |
connection_timeout
|
A tentativa do balanceador de carga de abrir uma conexão com o back-end expirou. | 504 |
connection_terminated
|
A conexão do balanceador de carga com o back-end foi encerrada antes do recebimento de uma resposta completa. | 502, 503 |
connection_refused
|
A conexão do balanceador de carga com o back-end foi recusada. | 502, 503 |
connection_limit_reached
|
O balanceador de carga está configurado para limitar o número de conexões com o back-end, e esse limite foi excedido. | 502, 503 |
destination_not_found
|
O balanceador de carga não pode determinar o back-end apropriado para essa solicitação. Por exemplo, ele pode não estar configurado. | 500, 404 |
http_response_timeout
|
O balanceador de carga atingiu um limite de tempo configurado aguardando a resposta completa do back-end. | 504, 408 |
http_request_error
|
O balanceador de carga está gerando uma resposta do cliente (4xx) em nome do cliente. | 400, 403, 405, 406, 408, 411, 413, 414, 415, 416, 417, or 429 |
proxy_configuration_error
|
O balanceador de carga encontrou um erro em relação à configuração. | 500 |
http_protocol_error
|
O balanceador de carga encontrou um erro de protocolo HTTP ao se comunicar com o back-end. | 502 |
Como interagir com os registros
É possível interagir com os registros do balanceador de carga de aplicativo 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 Visão geral da API Cloud Logging.
Monitoramento
O balanceador de carga exporta dados de monitoramento para o Cloud Monitoring.
Use as métricas de monitoramento para fazer o seguinte:
- 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 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.
-
No painel de navegação do console do Google Cloud, selecione Monitoramento e notifications Alertas:
- Se você não tiver criado seus canais de notificação e quiser receber uma notificação, clique em Editar canais de notificação e adicione-os. Volte para a página Alertas depois de adicionar seus canais.
- Na página Alertas, clique em Criar política.
- Para selecionar a métrica, expanda o menu Selecionar uma métrica e faça o seguinte:
- Para limitar o menu a entradas relevantes, insira
Regional External Application Load Balancer Rule
na barra de filtro. Se não houver resultados depois de filtrar o menu, desative a opção Mostrar somente recursos e métricas ativos. - Em Tipo de recurso, selecione Regra de balanceador de carga de aplicativo externo regional.
- Selecione uma Categoria de métrica e uma Métrica, depois selecione Aplicar.
- Para limitar o menu a entradas relevantes, insira
- Clique em Next.
- As configurações da página Configurar acionador de alertas determinam quando o alerta é acionado. Selecione um tipo de condição e, se necessário, especifique um limite. Para mais informações, consulte Criar políticas de alertas de limite de métrica.
- Clique em Next.
- 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.
- Opcional: Atualize a Duração do fechamento automático do incidente. Este campo determina quando o Monitoring fecha incidentes na ausência de dados de métrica.
- Opcional: clique em Documentação e adicione as informações que quer incluir em uma mensagem de notificação.
- Clique em Nome e digite um nome para a política de alertas.
- Clique em Criar política.
Como definir painéis personalizados do Cloud Monitoring
É possível criar painéis personalizados do Cloud Monitoring para as métricas do balanceador de carga:
No Console do Google Cloud, acesse a página Monitoring.
Selecione Painéis > Criar painel.
Clique em Adicionar gráfico e dê um título ao gráfico.
Para identificar a série temporal a ser exibida, escolha um tipo de recurso e de métrica:
- Na seção Recurso e métrica, clique no gráfico e, na seção Selecionar uma métrica, selecione uma das opções disponíveis:
- Para um balanceador de carga de aplicativo externo regional, selecione o tipo de recurso Regra de balanceador de carga de aplicativo externo regional.
- Clique em Aplicar.
Para especificar filtros de monitoramento, clique em Filtros > Adicionar filtro.
Clique em Save.
Frequência e retenção de geração de relatórios de métricas
As métricas dos balanceadores de carga de aplicativo 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. As métricas são baseadas no tráfego de amostragem (a taxa de amostragem é dinâmica e não pode ser ajustada). 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
É possível monitorar as seguintes métricas para balanceadores de carga de aplicativo externos.
As métricas a seguir para balanceadores de carga de aplicativo externos regionais são
informadas no Cloud Monitoring.
Essas métricas são precedidas por
loadbalancing.googleapis.com/
:s
Métrica | Nome | Descrição |
---|---|---|
Contagem de solicitações | https/external/regional/request_count |
O número de solicitações exibidas pelo balanceador de carga de aplicativo externo regional. |
Contagem de bytes da solicitação | https/external/regional/request_bytes |
O número de bytes enviados como solicitações dos clientes para o balanceador de carga regional externo. |
Contagem de bytes da resposta | https/external/regional/response_bytes |
O número de bytes enviados como respostas do balanceador de carga regional externo para o cliente. |
Latências totais | https/external/regional/total_latencies |
Uma distribuição da latência, em milissegundos. A latência é medida entre o momento em que o proxy recebe o primeiro byte da solicitação e o momento em que o proxy envia o último byte da resposta. |
Latências de back-end | https/external/regional/backend_latencies |
Uma distribuição da latência, em milissegundos. A latência é medida entre o momento em que o proxy envia o primeiro byte da solicitação ao back-end e o momento em que o proxy recebe o último byte da resposta do back-end. |
Como filtrar dimensões para métricas
É possível aplicar filtros a métricas para balanceadores de carga de aplicativo externos.
As métricas são agregadas para cada balanceador de carga de aplicativo externo regional. É possível filtrar
as métricas agregadas usando as seguintes dimensões para
resource.type="http_external_regional_lb_rule"
.
Propriedade | Descrição |
---|---|
backend_name |
O nome do grupo de instâncias de back-end ou do NEG. |
backend_scope |
O escopo do back-end (um nome de zona ou de região). Poderá ser
UNKNOWN sempre que backend_name for desconhecido.
|
backend_scope_type |
O escopo do back-end (REGION /ZONE ). Poderá ser
UNKNOWN sempre que backend_name for desconhecido.
|
backend_target_name |
O nome do back-end selecionado para processar a solicitação, com base na regra de caminho do mapa de URL ou na regra de rota que corresponde à solicitação. |
backend_target_type |
O tipo de destino de back-end. Pode ser BACKEND_SERVICE ou
UNKNOWN se o back-end não tiver sido atribuído.
|
backend_type |
O tipo do grupo de back-end. Pode ser INSTANCE_GROUP ,
NETWORK_ENDPOINT_GROUP ou UNKNOWN se o
back-end não tiver sido atribuído.
|
forwarding_rule_name |
O nome do objeto da regra de encaminhamento. |
matched_url_path_rule |
A regra de caminho do mapa de URL ou a regra de rota configurada como parte da chave do mapa de
URL. Pode ser UNMATCHED ou UNKNOWN como substituto.
|
network_name |
O nome da rede VPC do balanceador de carga. |
project_id |
O identificador do projeto do Google Cloud associado a esse recurso. |
region |
A região em que o balanceador de carga é definido. |
target_proxy_name |
O nome do objeto do proxy de destino referenciado pela regra de encaminhamento. |
url_map_name |
O nome do objeto do mapa de URL configurado para selecionar um serviço de back-end. |