Neste documento, mostramos como configurar e usar o Cloud Logging e o Cloud Monitoring para balanceadores de carga de rede.
Geração de registros
Os registros fornecem informações úteis para solucionar problemas e monitorar o balanceador de carga de rede de passagem externa. Os registros são agregados por conexão e exportados quase em tempo real. Os registros são gerados para cada fluxo de TCP, UDP, ESP, GRE, ICMP e ICMPv6 de cada instância com balanceamento de carga no tráfego de entrada e saída. Para mais informações sobre os campos fornecidos na entrada de registro, consulte Campos de registro.
Não há cobranças extras pelo uso de registros. Dependendo da maneira como você importa registros, são aplicados os preços padrão ao Cloud Logging, BigQuery ou Pub/Sub. A ativação de registros não afeta o desempenho do balanceador de carga.
O Logging oferece os seguintes benefícios:
Monitoramento de tráfego do balanceador de carga de rede de passagem externa. A geração de registros por conexão fornece insights sobre como cada conexão é roteada para os back-ends de exibição.
Solução de problemas da rede. É possível usar registros do balanceador de carga de rede de passagem externa para solução de problemas. Para mais informações, consulte Solução de problemas de balanceadores de carga de rede de passagem externa.
Exemplo de formato de registro de um cliente externo para fluxos de VM
O diagrama a seguir mostra o tráfego de entrada e saída de um cliente externo (203.0.113.7), o balanceador de carga da rede (198.51.100.99) e a instância de back-end (10.240.0.2).
Os registros do balanceador de carga de rede de passagem externa para conexões do cliente com a instância de back-end são formatados da seguinte maneira:
connection.clientIp
: 203.0.113.7connection.serverIp
: 198.51.100.99bytesSent
: 1256bytesReceived
: 4521
Coleta e amostragem de registros
O Google Cloud analisa pacotes de saída e de entrada nas VMs de back-end do balanceador de carga. Os pacotes amostrados são processados para gerar registros.
Nem todos os pacotes são de amostra. O Google Cloud analisa um subconjunto variável de pacotes, dependendo da quantidade de tráfego no host físico. A taxa de amostragem mais baixa possível é um de 1.024 pacotes. A taxa de amostragem é controlada dinamicamente pelo Google Cloud. Não é possível ajustar a taxa de amostragem.
A amostragem de pacotes interage com as regras de firewall das seguintes maneiras:
- Os pacotes são testados antes da aplicação das regras de firewall de saída.
- Os pacotes são amostrados após a aplicação das regras de firewall de entrada.
Após a amostragem de pacotes, o Google Cloud processa os pacotes amostrados de acordo com o procedimento a seguir:
Agregação: os pacotes amostrados são agregados em um intervalo de cinco segundos para produzir uma única entrada de fluxo.
Amostragem de registro configurável (secundária): é um segundo processo de amostragem, que usa os fluxos. Você controla a fração das entradas de fluxo que são emitidas como entradas de registro de acordo com o parâmetro logConfig.sampleRate. Quando
logConfig.sampleRate
é1.0
(100%), significa que todos os pacotes de amostra estão processados.Gravar no Logging: as entradas de registro são gravadas no Cloud Logging.
Campos opcionais
Os registros contêm campos obrigatórios e opcionais. A seção Campos de registro 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 de fluxo. Quando novos campos opcionais são adicionados ao formato de registro, os registros de fluxo incluem automaticamente os novos campos.
Se você selecionar excluir todos os opcionais, isso omitirá todos os campos opcionais.
Se você selecionar custom, poderá especificar os campos opcionais que vocêquer incluir pelo campo pai, como
serverInstance
, ou pelos nomes completos dele, comoserverInstance.vm
.
Quando novos campos opcionais são adicionados ao formato de registro, os registros não incluirão esses campos, a menos que sejam um novo campo em um campo pai especificado para ser incluído.
Se você especificar um campo opcional personalizado usando os campos pai, quando novos campos opcionais forem adicionados ao formato de registro nesse campo pai, os registros incluirão automaticamente os novos campos. Por exemplo, se você optar por incluir
optionalFieldA
, um novo campo adicionado aos registros com o nome
optionalFieldA.subField1
será incluído automaticamente.
Para instruções sobre como personalizar campos opcionais, consulte Ativar a geração de registros em um novo serviço de back-end.
Requisitos de endereço IP da origem do pacote de respostas
A geração de registros analisa os pacotes de resposta das VMs de back-end se o endereço IP de origem desses pacotes corresponde ao endereço IP da regra de encaminhamento do balanceador de carga. Para conexões TCP, os pacotes de resposta sempre precisam ter origens que correspondam ao destino do pacote de solicitação. No entanto, para outros protocolos, é possível que os pacotes de resposta usem um endereço IP de origem diferente. Para mais informações, consulte Endereços IP para pacotes de solicitação e devolução.
O processo de amostragem de pacotes usado pela geração de registros do balanceador de carga de rede de passagem externa omitirá qualquer pacote de resposta de VMs de back-end se esses pacotes de resposta tiverem origens que não correspondem ao endereço IP de uma regra de encaminhamento para um balanceador de carga de rede de passagem externa.
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 e selecione Configuração de back-end.
- Selecione Criar um serviço de back-end e preencha os campos obrigatórios.
- Na seção Logging, marque a caixa de seleção Ativar geração de registros.
- Defina uma fração da Taxa de amostragem. Você pode definir uma taxa de
0.0
a1.0
(padrão). - 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
Crie o serviço de back-end para ativar a geração de registros com o
comando
gcloud compute backend-services create
.
gcloud compute backend-services create BACKEND_SERVICE \ --region=REGION \ --enable-logging \ --logging-sample-rate=SAMPLE_RATE \ --logging-optional=LOGGING_OPTIONAL \ --logging-optional-fields=OPTIONAL_FIELDS
Substitua:
BACKEND_SERVICE
: o nome do serviço de back-end.REGION
: a região do serviço de back-end a ser criado.SAMPLE_RATE
: este campo só poderá ser especificado se a geração de registros estiver ativada para este serviço de back-end.
O valor do campo precisa ser de
0.0 to 1.0
, em que0.0
significa que nenhum registro é gerado e1.0
significa que os registros são gerados para todos os pacotes de amostragem. 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
: 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 opcionais especificados emOPTIONAL_FIELDS
.
OPTIONAL_FIELDS
: uma lista separada por vírgulas de campos opcionais que você quer incluir nos registros.Por exemplo,
serverInstance.vm,serverGkeDetails
. Só pode ser definido seLOGGING_OPTIONAL
estiver definido comoCUSTOM
.
API
Faça uma solicitação POST
ao método regionBackendServices.insert
.
POST https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices
Excluir todos os campos opcionais do registro
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE } }
Incluir todos os campos opcionais no registro
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "INCLUDE_ALL_OPTIONAL" } }
Incluir uma lista personalizada de campos opcionais
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "CUSTOM", "optionalFields": ["field1","field2",...] } }
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 e selecione Configuração de back-end.
- Ao lado do serviço de back-end, clique em Editar.
- Na seção Logging, marque a caixa de seleção Ativar geração de registros.
- Defina uma fração da Taxa de amostragem. Você pode definir uma taxa de
0.0
a1.0
(padrão). - 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
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=SAMPLE_RATE \ --logging-optional=LOGGING_OPTIONAL \ --logging-optional-fields=OPTIONAL_FIELDS
Substitua:
BACKEND_SERVICE
: o nome do serviço de back-end.REGION
: a região do serviço de back-end a ser criado.SAMPLE_RATE
: este campo só poderá ser especificado se a geração de registros estiver ativada para este serviço de back-end.
O valor do campo precisa ser de
0.0 to 1.0
, em que0.0
significa que nenhum registro é relatado e1.0
significa que os registros são gerados para todos os pacotes de amostragem. 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
: 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 opcionais especificados emOPTIONAL_FIELDS
.
OPTIONAL_FIELDS
: uma lista separada por vírgulas de campos opcionais que você quer incluir nos registros.Por exemplo,
serverInstance.vm,serverGkeDetails
. Só pode ser definido seLOGGING_OPTIONAL
estiver definido comoCUSTOM
.
API
Faça uma solicitação PATCH
ao método regionBackendServices/patch
.
PATCH https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices/`BACKEND_SERVICE`
Excluir todos os campos opcionais do registro
"logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "EXCLUDE_ALL_OPTIONAL" }
Incluir todos os campos opcionais no registro
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "INCLUDE_ALL_OPTIONAL" } }
Incluir uma lista personalizada de campos opcionais
{ "name": "BACKEND_SERVICE", "loadBalancingScheme": "EXTERNAL", "logConfig": { "enable": true, "sampleRate": SAMPLE_RATE, "optionalMode": "CUSTOM", "optionalFields": ["field1","field2",...] } }
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 e selecione Configuraçã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 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
a1.0
(padrão). Para gerar registros apenas para 20% dos pacotes de amostragem, 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
Desative a geração de registros no serviço de back-end com o
comando gcloud compute backend-services update
.
gcloud compute backend-services update BACKEND_SERVICE \ --region=REGION \ --no-enable-logging
Substitua:
BACKEND_SERVICE
: o nome do serviço de back-end.REGION
: a região do serviço de back-end.
API
Faça uma solicitação PATCH
ao método
regionBackendServices/patch
.
PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID
/regions/REGION
/backendServices/BACKEND_SERVICE
{ "logConfig": { "enable": false } }
Ver registros
Quando os registros são ingeridos no Cloud Logging e não excluídos por um coletor do roteador de registros, é possível ler os registros usando a API Cloud Logging e a Google Cloud CLI.
Para ver todos os registros de balanceador de carga de rede de passagem externa:
Console
No console do Google Cloud, acesse a página do Explorador de registros.
Selecione o tipo de recurso Regra de balanceador de carga de rede de passagem externa.
Selecione o nome do registro loadbalance.googleapis.com/flows.
Consulta do console
No console do Google Cloud, acesse a página do Explorador de registros.
Clique no botão de alternância Mostrar consulta.
Cole o código abaixo no campo "Consulta". Substitua
PROJECT_ID
pelo ID do projeto.resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
Clique em Executar consulta.
Ver registros de um serviço de back-end específico
Para visualizar os registros de balanceador de carga de rede de passagem externa para um serviço de back-end específico:
Consulta do console
No console do Google Cloud, acesse a página do Explorador de registros.
Clique no botão de alternância Mostrar consulta.
Cole o código abaixo no campo "Consulta". Substitua
PROJECT_ID
pelo ID do projeto eBACKEND_SERVICE_NAME
pelo nome do serviço de back-end.resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows" resource.labels.backend_service_name="BACKEND_SERVICE_NAME"
Clique em Executar consulta.
Ver registros de um grupo de instâncias de back-end
Para visualizar os registros de balanceador de carga de rede de passagem externa para um grupo de instâncias de back-end específico:
Consulta do console
No console do Google Cloud, acesse a página do Explorador de registros.
Clique no botão de alternância Mostrar consulta.
Cole o código abaixo no campo "Consulta". Substitua
PROJECT_ID
pelo ID do projeto eBACKEND_GROUP_NAME
pelo nome do grupo de instâncias.resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule" logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows" resource.labels.backend_group_name="BACKEND_GROUP_NAME"
Clique em Executar consulta.
Campos de registro
Os registros contêm campos obrigatórios, que são os campos padrão de cada registro, e campos opcionais que adicionam mais informações. 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 connection
é do formato IpConnection
, que contém o endereço IP e a porta de origem e destino, mais o protocolo, em um único campo. Esses campos são descritos na tabela de formatos de registro a seguir.
O recurso monitorado é loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule.
Campo | Formato do campo | Tipo de campo: obrigatório ou opcional | Descrição |
---|---|---|---|
conexão | IpConnection | Obrigatório | Quíntuplo que descreve esta conexão. |
startTime | string | Obrigatório | Carimbo de data/hora (formato de string de data RFC 3339) do primeiro pacote observado durante o intervalo de tempo agregado. |
endTime | string | Obrigatório | Carimbo de data/hora (formato de string de data RFC 3339) do último pacote observado durante o intervalo de tempo agregado. |
bytesSent | int64 | Obrigatório | Número de bytes enviados do servidor para o cliente. |
bytesReceived | int64 | Obrigatório | Número de bytes recebidos pelo servidor do cliente. |
packetsSent | int64 | Obrigatório | Número de pacotes enviados do servidor ao cliente. |
packetsReceived | int64 | Obrigatório | Número de pacotes recebidos pelo servidor do cliente. |
rtt | string | Obrigatório | A latência é medida apenas para conexões TCP. A latência é a soma do RTT (tempo de retorno) estimado da rede mais o tempo consumido no processamento do pacote dentro do sistema operacional do cliente. Para pacotes de amostra, o RTT é calculado pela perspectiva de um back-end com balanceamento de carga medindo as diferenças de tempo entre o back-end que envia um segmento TCP e o que recebe uma confirmação de TCP para o número de sequência do segmento enviado. A latência é formatada como uma string que começa com um número de segundos e termina com "s" para indicar segundos. Nanossegundos são demonstrados como segundos fracionários. Por exemplo, a latência de 250 milissegundos é formatada como "0,250000000s". |
serverInstance | InstanceDetails | Opcional | Os detalhes da instância de VM de back-end. |
clientLocation | GeographicDetails | Opcional | Os metadados de local disponíveis do cliente. |
serverGkeDetails | GkeDetails | Opcional | Metadados do GKE para o back-end do servidor. Disponível apenas se o back-end for um endpoint do GKE. |
networkTier | NetworkTierDetails | Opcional | Nível de rede para conexões externas, preenchido apenas quando o cliente não está no Google Cloud. |
Formato do campo IpConnection
Campo | Tipo | Descrição |
---|---|---|
clientIp | string | Endereço IP do cliente |
clientPort | int32 | Porta do cliente. Definido apenas para conexões TCP e UDP. |
serverIp | string | Endereço IP do servidor (IP da regra de encaminhamento) |
serverPort | int32 | Porta do servidor. Definido apenas para conexões TCP e UDP. |
protocol | int32 | Número do protocolo IANA |
Formato do campo InstanceDetails
Campo | Tipo | Descrição |
---|---|---|
projectId | string | Código do projeto que contém a VM |
vm | string | Nome da instância da VM |
region | string | Região da VM |
zone | string | Zona da VM |
vmIp | string | Endereço IPv4 interno principal da interface de rede que serviu a conexão |
Formato do campo GeographicDetails
Campo | Tipo | Descrição |
---|---|---|
continent | string | Nome do continente |
regionCode | string | Um código regional CLDR Unicode, como US ou
FR . Na maioria dos países, esses códigos correspondem diretamente a códigos ISO-3166-2. |
subRegion | string | Um ID de subdivisão Unicode CLDR, por exemplo, uma província ou um estado do país, como
USCA ou CAON . Esses códigos Unicode são derivados das subdivisões definidas pelo padrão ISO-3166-2.
|
cidade | string | Nome da cidade. Por exemplo, Mountain View para Mountain View, Califórnia. Não há uma lista canônica de valores válidos para essa variável. Os nomes das cidades podem conter letras US-ASCII, números, espaços e os seguintes caracteres: !#$%&'*+-.^_`|~ . |
asn | int32 | O número de sistema autônomo (ASN) da rede externa a que este endpoint pertence. |
Formato do campo GkeDetails
Campo | Tipo | Descrição |
---|---|---|
cluster | ClusterDetails | Metadados do cluster do GKE |
pod | PodDetails | Metadados do pod do GKE, preenchidos quando a origem ou o destino do tráfego for um pod. |
serviço | ServiceDetails | Metadados do serviço do GKE, preenchidos apenas em endpoints de serviço. O registro contém até dois serviços. Se houver mais de dois serviços relevantes, esse campo conterá um único serviço com um marcador especial MANY_SERVICES. |
Formato do campo ClusterDetails
Campo | Tipo | Descrição |
---|---|---|
cluster | string | Nome do cluster do GKE |
clusterLocation | string | Local do cluster. O local do cluster pode ser uma zona ou região. |
Formato do campo PodDetails
Campo | Tipo | Descrição |
---|---|---|
pod | string | Nome do pod |
podNamespace | string | Namespace do pod |
Formato do campo ServiceDetails
Campo | Tipo | Descrição |
---|---|---|
serviço | string | Nome do serviço. Se houver mais de dois serviços relevantes, o campo será definido como um marcador especial MANY_SERVICES. |
serviceNamespace | string | Namespace do Serviço |
Formato do campo NetworkTierDetails
Campo | Tipo | Descrição |
---|---|---|
networkTier | string | NetworkTier usado na conexão, um dos [PREMIUM, STANDARD, FIXED_STANDARD, UNKNOWN]. |
Monitoring
Os balanceadores de carga de rede de passagem externa exportam métricas importantes para o Cloud Monitoring.
É possível usar 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
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 Monitoring.
Ver painéis do Monitoring
Console
No Console do Google Cloud, acesse a página Monitoring.
No painel de navegação, selecione Painéis.
Selecione o painel Balanceadores de carga do Google Cloud. Todos os balanceadores de carga são exibidos.
Selecione o nome do balanceador de carga na lista.
No painel Detalhes do balanceador de carga de rede de passagem externa, é possível ver vários detalhes do balanceador de carga selecionado. Este painel mostra as configurações atuais.
No painel Métricas principais, é possível ver gráficos de cada uma delas. Para conferir detalhes específicos, clique em Detalhamentos. Esse painel apresenta dados informados por configurações históricas, enquanto o painel Detalhes do balanceador de carga de rede exibe apenas as configurações atuais. Para mais informações, consulte Painéis e gráficos.
Definir painéis personalizados do Monitoring
É possível criar painéis personalizados do Monitoring sobre métricas de passagem externa do balanceador de carga de rede.
Consulte Tipos de métricas e recursos para ver uma lista das métricas coletadas. Consulte Filtros para ver listas de atributos que podem ser usados para filtrar os resultados.
Console
No Console do Google Cloud, acesse a página Monitoring.
Selecione Painéis > Criar painel.
Clique em Adicionar gráfico.
Dê um título ao gráfico.
Selecione as métricas e os filtros.
Para encontrar as métricas do balanceador de carga de rede de passagem externa, pesquise o prefixo
loadbalancing.googleapis.com/l3/external
.Clique em Salvar.
Definir alertas do Monitoring
É possível definir alertas do Monitoring com várias métricas de balanceador de carga de rede de passagem externa:
Console
No Console do Google Cloud, acesse a página Monitoring.
Selecione Alertas > Criar uma política.
Selecione os tipos de recursos e métricas.
Para encontrar métricas e tipos de recursos do balanceador de carga de rede, procure
loadbalancing.googleapis.com/l3/external
no campo Encontrar tipo de recurso e métrica.Especifique uma configuração para definir quando um alerta deve ser acionado.
Adicione Filtros, se desejar.
Clique em Salvar.
Frequência e retenção de geração de relatórios de métricas
As métricas dos balanceadores de carga de rede de passagem externa são exportadas para o Monitoring em lotes de granularidade de um minuto. Os dados de monitoramento são armazenados 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 uma hora (1H), seis horas (6H), um dia (1D), uma semana (1W) e seis semanas (6W). É possível solicitar a análise manualmente em qualquer intervalo, de seis semanas a 60 segundos.
Tipos de métricas e recursos
Métricas
As seguintes métricas de balanceadores de carga de rede de passagem externa são relatadas no Monitoring. É possível usar esses nomes de métrica ao criar solicitações de API.
metric_name | Tipo | Descrição |
---|---|---|
loadbalancing.googleapis.com/l3/external/ingress_bytes_count |
Contador | O número de bytes enviados de um cliente para um back-end de balanceador de carga de rede externo. Nos fluxos TCP, somente os bytes no fluxo do aplicativo são contados. |
loadbalancing.googleapis.com/l3/external/ingress_packets_count |
Contador | O número de pacotes enviados de um cliente para um back-end de balanceador de carga de rede externo. |
loadbalancing.googleapis.com/l3/external/egress_bytes_count |
Contador | O número de bytes enviados de um back-end de passagem externa do balanceador de carga de rede para um cliente. Nos fluxos TCP, somente os bytes no fluxo do aplicativo são contados. |
loadbalancing.googleapis.com/l3/external/egress_packets_count |
Contador | O número de pacotes enviados de um back-end de balanceador de carga de rede de passagem externa para um cliente. |
loadbalancing.googleapis.com/l3/external/rtt_latencies |
Distribuição | Uma distribuição de rtt medida por conexões TCP para fluxos de balanceador de carga de rede de passagem externos. Disponível apenas para tráfego TCP. |
Tipos de recurso
Os balanceadores de carga de rede de passagem externa usam os seguintes tipos de recursos:
tcp_lb_rule
udp_lb_rule
loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
Um balanceador de carga de rede de passagem externa é compatível com tráfego TCP, UDP, ESP, GRE, ICMP e ICMPv6.
Especifique o tipo de recurso como
tcp_lb_rule
ou
udp_lb_rule
para limitar
os dados monitorados para os protocolos TCP ou UDP.
É possível especificar o tipo de recurso como
loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
para monitorar todos os protocolos compatíveis,
incluindo TCP, UDP, ESP, GRE, ICMP e ICMPv6.
Filtros
As métricas são agregadas para cada balanceador de carga de rede de passagem externa. Você pode filtrar as métricas agregadas pelas seguintes dimensões.
Rótulos de recursos para tcp_lb_rule
ou udp_lb_rule
É possível restringir a consulta por recurso. Também é possível agrupar os resultados por esses valores.
resource.label.<var>LABEL_KEY</var>:
label_key | Tipo | Descrição |
---|---|---|
project |
string | O identificador do projeto do Google Cloud associado a esse recurso. |
load_balancer_name |
string | O nome do balanceador de carga. |
region |
string | A região onde o back-end do balanceador de carga está localizado, por exemplo, us-central1 , europe-west1 , asia-east1 . |
network_name |
string | A rede VPC na qual o back-end do balanceador de carga reside. |
backend_target_type |
string | Indica se o balanceador de carga de rede de passagem externa é baseado em pool de destino ou serviço de back-end. Os valores válidos são BACKEND_SERVICE ou TARGET_POOL . |
backend_target_name |
string | Para balanceadores de carga de rede de passagem externa baseados em pool de destino, o nome do pool de destino. Para balanceadores de carga de rede externos de passagem baseados em serviço de back-end, o nome do serviço de back-end. |
forwarding_rule_name |
string | O nome da regra de encaminhamento. |
forwarding_rule_network_tier |
string | O nível de rede da regra de encaminhamento. |
backend_name |
string | O nome do back-end que processou a conexão. Para um balanceador de carga de rede de passagem externa baseado em serviço de back-end, o valor é o nome do grupo de instâncias de back-end ou do grupo de endpoints de rede (NEG) que processou a conexão. Para um balanceador de carga de rede de passagem externa baseado em pool de destino, o valor é o nome do pool de destino. |
backend_type |
string | O tipo de back-end que processou a conexão. Para um balanceador de carga de rede de passagem externa baseado em serviço de back-end,
o valor pode ser Para um balanceador de carga de rede de passagem externa baseado em pool de destino, o valor é |
backend_scope |
string | Para um balanceador de carga de rede externo de passagem baseada em serviço de back-end, a zona ou região do grupo de instâncias de back-end ou NEG. Para um balanceador de carga de rede baseado em pool de destino, o valor é |
backend_scope_type |
string | O tipo do escopo do grupo de back-end que processou a
conexão. Os valores válidos são Para um balanceador de carga de rede baseado em pool de destino, o valor é
|
backend_failover_configuration |
string | A configuração de failover do grupo de back-end que
processou a conexão. Os valores válidos são PRIMARY , BACKUP ou UNKNOWN . |
backend_subnetwork_name |
string | O nome da sub-rede do back-end que recebeu a conexão. |
endpoint_zone |
string | A zona da VM de back-end que processou a conexão. |
Rótulos de recursos para loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule
É possível restringir a consulta por recurso. Também é possível agrupar os resultados por esses valores.
resource.label.<var>LABEL_KEY</var>:
label_key | Tipo | Descrição |
---|---|---|
project |
string | O identificador do projeto do Google Cloud associado a esse recurso. |
region |
string | A região
em que o back-end do balanceador de carga está localizado, por exemplo,
us-central1 , europe-west1 ,
asia-east1 . |
backend_network_name |
string | A rede VPC na qual o back-end do balanceador de carga reside. |
backend_target_type |
string | O tipo do destino do back-end que processou a conexão. Os valores válidos são BACKEND_SERVICE ou TARGET_POOL . |
backend_service_name |
string | O nome do serviço de back-end que processou a conexão. Se
backend_target_type for TARGET_POOL , o valor será
UNSUPPORTED_FOR_TARGET_POOL . |
primary_target_pool |
string | O nome do pool de destino principal. Se backend_target_type
for BACKEND_SERVICE , o valor será
UNSUPPORTED_FOR_BACKEND_SERVICE . |
target_pool |
string | O nome do pool de destino. Se backend_target_type for
BACKEND_SERVICE , o valor será UNSUPPORTED_FOR_BACKEND_SERVICE . |
forwarding_rule_name |
string | O nome da regra de encaminhamento do balanceador de carga de rede de passagem externa. |
backend_group_name |
string | O nome do grupo de back-end que processou a conexão.
Se backend_target_type for TARGET_POOL , o
valor será UNSUPPORTED_FOR_TARGET_POOL . |
backend_group_type |
string | O tipo do grupo de back-end que processou a conexão. Se Se o |
backend_group_scope |
string | O escopo do grupo de back-end (nome da zona ou região) que processou a
conexão. Se o backend_target_type for TARGET_POOL , o valor será UNSUPPORTED_FOR_TARGET_POOL . |
backend_subnetwork_name |
string | O nome da sub-rede do ack-end que recebeu a conexão. |
backend_zone |
string | A zona da VM de back-end que processou a conexão. |
Rótulos de métrica
É possível restringir sua consulta por rótulo de métrica. Também é possível agrupar os resultados por esses valores.
metric.label.<var>LABEL_KEY</var>:
label_key | Tipo | Descrição |
---|---|---|
client_country |
string | O país do cliente que iniciou a conexão com o balanceador de carga de rede de passagem externa. |
client_continent |
string | O continente do cliente que iniciou a conexão com o balanceador de carga de rede de passagem externa. |
protocol |
string | O protocolo na conexão para o recurso Este campo é deixado em branco para os
recursos |
Solicitações da API Monitoring
É possível criar consultas arbitrárias sobre as métricas do balanceador de carga de rede usando a solicitação projects.timeSeries.list v3 da API Monitoring. A estrutura exata das várias definições segue a semântica dos filtros de monitoramento genéricos.
Exemplos de solicitações da API
Receber todos os bytes enviados de todos os balanceadores de carga da rede no projeto, entre 12:00 e 12:02 UTC, em 01/07/2019, com agregados de 1 minuto.
Parâmetros timeSeries.list:
- name: projects/
PROJECT_ID
- Filter:
resource.type = "tcp_lb_rule"
Emetric.name="loadbalancing.googleapis.com/l3/external/egress_bytes_count"
- interval.start_time:
2019-07-01T12:00:00Z
- interval.end_time:
2019-07-01T12:02:00Z
- aggregation.alignmentPeriod:
60s
- aggregation.crossSeriesReducer:
REDUCE_SUM
- aggregation.perSeriesAligner:
ALIGN_SUM
- name: projects/
Receber a mediana da RTT de todos os balanceadores de carga de rede no projeto, entre 12:19 e 12:20 UTC, em 01/07/2019, divididos por país do cliente.
Parâmetros timeSeries.list:
- name: projects/
PROJECT_ID
- Filter:
resource.type = "tcp_lb_rule"
Emetric.name="loadbalancing.googleapis.com/l3/external/rtt_latencies"
- interval.start_time:
2019-07-01T12:19:00Z
- interval.end_time:
2019-07-01T12:20:00Z
- aggregation.alignmentPeriod:
60s
- aggregation.crossSeriesReducer:
REDUCE_SUM
- aggregation.groupByFields:
metric.label.client_country
- aggregation.perSeriesAligner:
ALIGN_PERCENTILE_50
- name: projects/
Receber o total de bytes de um balanceador de carga de rede específico entre 12:19 e 12:20 UTC, em 01/07/2019, dividido por zona de endpoint e continente do cliente.
Parâmetros timeSeries.list:
- name: projects/
PROJECT_ID
- Filter:
resource.type = "tcp_lb_rule"
Eresource.label.load_balancer_name = "netlb-bs-1"
Emetric.name="loadbalancing.googleapis.com/l3/external/ingress_bytes_count"
- interval.start_time:
2019-07-01T12:19:00Z
- interval.end_time:
2017-07-01T12:20:00Z
- aggregation.alignmentPeriod:
60s
- aggregation.crossSeriesReducer:
REDUCE_SUM
- aggregation.groupByFields:
metric.label.client_continent
- aggregation.groupByFields:
resource.label.endpoint_zone
- aggregation.perSeriesAligner:
ALIGN_SUM
- name: projects/
A seguir
- Leia informações conceituais sobre balanceadores de carga de rede de passagem externa
- Configurar um balanceador de carga de rede de passagem externa
- Leia sobre Métricas, séries temporais e recursos do Monitoring
- Leia sobre as regras de encaminhamento
- Leia sobre resolver problemas de geração de registros.