Registo e monitorização do balanceador de carga de rede de encaminhamento externo

Este documento mostra como configurar e usar o Cloud Logging e o Cloud Monitoring para equilibradores de carga de rede de encaminhamento externo.

Os balanceadores de carga de rede de encaminhamento externo baseados em serviços de back-end suportam o registo e a monitorização. No entanto, os balanceadores de carga de rede de encaminhamento externo baseados em conjunto de destino só suportam a monitorização.

Registo

Os registos fornecem informações úteis para resolver problemas e monitorizar o seu Network Load Balancer de encaminhamento externo baseado em serviços de back-end. Os registos são agregados por ligação e exportados quase em tempo real. Os registos são gerados para os fluxos de TCP, UDP, ESP, GRE, ICMP e ICMPv6 de cada instância com balanceamento de carga para o tráfego de entrada e saída. Para mais informações sobre os campos fornecidos na entrada do registo, consulte o artigo Campos de registo.

Não existem custos adicionais pela utilização de registos. Com base na forma como importa os registos, aplicam-se os preços padrão do Cloud Logging, do BigQuery ou do Pub/Sub. A ativação dos registos não afeta o desempenho do equilibrador de carga.

O registo oferece as seguintes vantagens:

  • Monitorização do tráfego do Network Load Balancer de passagem externo. O registo por ligação dá-lhe informações sobre como cada ligação é encaminhada para os back-ends de publicação.

  • Resolução de problemas de rede. Pode usar registos do balanceador de carga de rede de encaminhamento externo para resolução de problemas. Para mais informações, consulte o artigo Resolva problemas de equilibradores de carga de rede de encaminhamento externo.

Formato de registo de exemplo para um cliente externo para fluxos de VMs

O diagrama seguinte mostra o tráfego de entrada e de saída para um cliente externo (203.0.113.7), um Network Load Balancer de encaminhamento externo (198.51.100.99) e uma instância de back-end (10.240.0.2).

Fluxos de serviços de VMs de cliente externo para back-end.
Fluxos de entrada e saída de um cliente externo para a VM.

Os registos do balanceador de carga de rede de encaminhamento externo para ligações do cliente à instância de back-end são formatados da seguinte forma:

  • connection.clientIp: 203.0.113.7
  • connection.serverIp: 198.51.100.99
  • bytesSent: 1256
  • bytesReceived: 4521

Amostragem e recolha de registos

Google Cloud faz a amostragem dos pacotes que saem e entram nas VMs de back-end do balanceador de carga. Esses pacotes de amostra são processados para gerar registos.

Nem todos os pacotes são amostrados. Google Cloud Amostra um subconjunto variável de pacotes consoante a quantidade de tráfego no anfitrião físico. A taxa de amostragem mais baixa possível é de um em cada 1024 pacotes. A taxa de amostragem é controlada dinamicamente por Google Cloud. Não pode ajustar a taxa de amostragem.

A amostragem de pacotes interage com as regras de firewall das seguintes formas:

  • Os pacotes são amostrados antes de serem aplicadas as 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, Google Cloud processa os pacotes amostrados de acordo com o seguinte procedimento:

  1. Agregação: os pacotes de amostras são agregados num intervalo de cinco segundos para produzir uma única entrada de fluxo.

  2. Amostragem de registos configurável (secundária): este é um segundo processo de amostragem que faz a amostragem dos fluxos. Controla a fração das entradas de fluxo que são emitidas como entradas de registo de acordo com o parâmetro logConfig.sampleRate. Quando logConfig.sampleRate é 1.0 (100%), significa que todos os pacotes de amostra são processados.

  3. Escrever no registo: as entradas de registo são escritas no Cloud Logging.

Campos opcionais

Os registos de registo contêm campos obrigatórios e campos opcionais. A secção Campos de registo indica que campos são opcionais e quais são obrigatórios. Todos os campos obrigatórios estão sempre incluídos. Pode personalizar os campos opcionais que mantém.

  • Se selecionar incluir todos os campos opcionais, todos os campos opcionais no formato de registo são incluídos nos registos de fluxo. Quando são adicionados novos campos opcionais ao formato de registo, os registos de fluxo incluem automaticamente os novos campos.

  • Se selecionar excluir tudo o que é opcional, omite todos os campos opcionais.

  • Se selecionar personalizado, pode especificar os campos opcionais que quer incluir pelo campo principal, como serverInstance, ou pelos respetivos nomes completos, como serverInstance.vm.

Quando são adicionados novos campos opcionais ao formato de registo, os registos não incluem estes campos, a menos que sejam um novo campo num campo principal que especificou para inclusão.

Se especificar um campo opcional personalizado através de campos principais, quando forem adicionados novos campos opcionais ao formato de registo nesse campo principal, os registos incluem automaticamente os novos campos. Por exemplo, se optar por incluir optionalFieldA, é adicionado automaticamente um novo campo aos registos com o nome optionalFieldA.subField1.

Para ver instruções sobre a personalização de campos opcionais, consulte o artigo Ative o registo num novo serviço de back-end.

Requisitos do endereço IP de origem do pacote de resposta

O registo recolhe amostras dos pacotes de resposta das VMs de back-end apenas se o endereço IP de origem desses pacotes corresponder ao endereço IP da regra de encaminhamento do balanceador de carga. Para ligações TCP, os pacotes de resposta têm sempre de ter origens que correspondam ao destino do pacote de pedido. 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 o artigo Endereços IP para pacotes de pedidos e de retorno.

O processo de amostragem de pacotes usado pelo registo do Network Load Balancer de passagem externa omite todos os pacotes de resposta de VMs de back-end se esses pacotes de resposta tiverem origens que não correspondam a um endereço IP de uma regra de encaminhamento para um Network Load Balancer de passagem externa.

Ative o registo num novo serviço de back-end

Consola

  1. Na Google Cloud consola, aceda à página Equilíbrio de carga.

    Aceda a Balanceamento de carga

  2. Clique no nome do balanceador de carga.
  3. Clique em Editar e, de seguida, clique em Configuração de back-end.
  4. Selecione Criar um serviço de back-end e, de seguida, preencha os campos obrigatórios do serviço de back-end.
  5. Na secção Registo, selecione a caixa de verificação Ativar registo.
  6. Defina uma fração da Taxa de amostragem. Pode definir uma tarifa para 0.0 através de 1.0 (predefinição).
  7. Opcional: para incluir todos os campos opcionais nos registos, na secção Campos opcionais, clique em Incluir todos os campos opcionais.
  8. Para terminar a edição do serviço de back-end, clique em Atualizar.
  9. Para terminar a edição do equilibrador de carga, clique em Atualizar.

gcloud

Crie o serviço de back-end para ativar o registo 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 o seguinte:

  • BACKEND_SERVICE: o nome do serviço de back-end.
  • REGION: a região do serviço de back-end a criar.
  • SAMPLE_RATE: este campo só pode ser especificado se o registo estiver ativado para este serviço de back-end.

    O valor do campo tem de ser de 0.0 to 1.0, onde 0.0 significa que não são gerados registos e 1.0 significa que são gerados registos para todos os pacotes de amostra. A ativação do registo, mas a definição da taxa de amostragem para 0.0, é equivalente à desativação do registo. O valor predefinido é 1.0.

  • LOGGING_OPTIONAL: os campos opcionais que quer incluir nos registos:
    • INCLUDE_ALL_OPTIONAL para incluir todos os campos opcionais.
    • EXCLUDE_ALL_OPTIONAL (predefinição) para excluir todos os campos opcionais.
    • CUSTOM para incluir uma lista personalizada de campos opcionais que especifica em OPTIONAL_FIELDS.
  • OPTIONAL_FIELDS: uma lista separada por vírgulas de campos opcionais que quer incluir nos registos.

    Por exemplo, serverInstance.vm,serverGkeDetails. Só pode ser definido se LOGGING_OPTIONAL estiver definido como CUSTOM.

API

Faça um pedido POST ao método regionBackendServices.insert.

    POST https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices
    

Exclua todos os campos opcionais

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE
      }
    }
    

Inclua todos os campos opcionais

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "INCLUDE_ALL_OPTIONAL"
      }
    }
    

Inclua uma lista personalizada de campos opcionais

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

Ative o registo num serviço de back-end existente

Consola

  1. Na Google Cloud consola, aceda à página Equilíbrio de carga.

    Aceda a Balanceamento de carga

  2. Clique no nome do balanceador de carga.
  3. Clique em Editar e, de seguida, clique em Configuração de back-end.
  4. Junto ao seu serviço de back-end, clique em Editar.
  5. Na secção Registo, selecione a caixa de verificação Ativar registo.
  6. Defina uma fração da Taxa de amostragem. Pode definir uma tarifa para 0.0 através de 1.0 (predefinição).
  7. Opcional: para incluir todos os campos opcionais nos registos, na secção Campos opcionais, clique em Incluir todos os campos opcionais.
  8. Para terminar a edição do serviço de back-end, clique em Atualizar.
  9. Para terminar a edição do equilibrador de carga, clique em Atualizar.

gcloud

Ative o registo num serviço de back-end existente 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 o seguinte:

  • BACKEND_SERVICE: o nome do serviço de back-end.
  • REGION: a região do serviço de back-end a criar.
  • SAMPLE_RATE: este campo só pode ser especificado se o registo estiver ativado para este serviço de back-end.

    O valor do campo tem de estar entre 0.0 to 1.0, em que 0.0 significa que não são comunicados registos e 1.0 significa que são gerados registos para todos os pacotes amostrados. A ativação do registo, mas a definição da taxa de amostragem para 0.0, é equivalente à desativação do registo. O valor predefinido é 1.0.

  • LOGGING_OPTIONAL: os campos opcionais que quer incluir nos registos:
    • INCLUDE_ALL_OPTIONAL para incluir todos os campos opcionais.
    • EXCLUDE_ALL_OPTIONAL (predefinição) para excluir todos os campos opcionais.
    • CUSTOM para incluir uma lista personalizada de campos opcionais que especifica em OPTIONAL_FIELDS.
  • OPTIONAL_FIELDS: uma lista separada por vírgulas de campos opcionais que quer incluir nos registos.

    Por exemplo, serverInstance.vm,serverGkeDetails. Só pode ser definido se LOGGING_OPTIONAL estiver definido como CUSTOM.

API

Faça um pedido PATCH ao método regionBackendServices/patch.

      PATCH https://compute.googleapis.com/compute/v1/projects/`PROJECT_ID`/regions/`REGION`/backendServices/`BACKEND_SERVICE`
     

Exclua todos os campos opcionais

     "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "EXCLUDE_ALL_OPTIONAL"
      }
     

Inclua todos os campos opcionais

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "INCLUDE_ALL_OPTIONAL"
      }
    }
    

Inclua uma lista personalizada de campos opcionais

    {
    "name": "BACKEND_SERVICE",
    "loadBalancingScheme": "EXTERNAL",
    "logConfig": {
       "enable": true,
       "sampleRate": SAMPLE_RATE,
       "optionalMode": "CUSTOM",
       "optionalFields": ["field1","field2",...]
      }
    }
    

Desative o registo num serviço de back-end existente

Consola

  1. Na Google Cloud consola, aceda à página Equilíbrio de carga.

    Aceda a Balanceamento de carga

  2. Clique no nome do balanceador de carga.

  3. Clique em Editar e, de seguida, em Configuração de back-end.

  4. Para desativar completamente o registo, na secção Registo, desmarque a caixa de verificação Ativar registo.

  5. Se deixar o registo ativado, pode definir uma fração de taxa de amostragem diferente. Pode definir a taxa para 0.0 através de 1.0 (predefinição). Para gerar apenas registos para 20% dos pacotes de amostra, defina o valor como 0.2.

  6. Para terminar a edição do serviço de back-end, clique em Atualizar.

  7. Para terminar a edição do equilibrador de carga, clique em Atualizar.

gcloud

Desative o registo 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 o seguinte:

  • BACKEND_SERVICE: o nome do serviço de back-end.
  • REGION: a região do serviço de back-end.

API

Faça um pedido 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 registos

Quando os registos são carregados para o Cloud Logging e não são excluídos através de um destino do Router de registos, pode ler os registos através da API Cloud Logging e da CLI Google Cloud.

Para ver todos os registos do balanceador de carga de rede de encaminhamento externo:

Consola

  1. Na Google Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Selecione o tipo de recurso Regra do balanceador de carga de rede de encaminhamento externo.

  3. Selecione o nome do registo loadbalancing.googleapis.com/flows.

Consulta da consola

  1. Na Google Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique no botão Mostrar consulta.

  3. Cole o seguinte no campo de consulta. Substitua PROJECT_ID pelo ID do seu projeto.

    resource.type="loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule"
    logName="projects/PROJECT_ID/logs/loadbalancing.googleapis.com%2Fflows"
    
  4. Clique em Executar consulta.

Veja registos de um serviço de back-end específico

Para ver os registos do Network Load Balancer de passagem externo de um serviço de back-end específico:

Consulta da consola

  1. Na Google Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique no botão Mostrar consulta.

  3. Cole o seguinte no campo de consulta. Substitua PROJECT_ID pelo ID do projeto e BACKEND_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"
    
  4. Clique em Executar consulta.

Veja os registos de um grupo de instâncias de back-end

Para ver os registos do Network Load Balancer de encaminhamento externo de um grupo de instâncias de back-end específico:

Consulta da consola

  1. Na Google Cloud consola, aceda à página Explorador de registos.

    Aceda ao Explorador de registos

  2. Clique no botão Mostrar consulta.

  3. Cole o seguinte no campo de consulta. Substitua PROJECT_ID pelo ID do projeto e BACKEND_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"
    
  4. Clique em Executar consulta.

Campos de registo

Os registos de registo contêm campos obrigatórios, que são os campos predefinidos de todos os registos de registo, e campos opcionais que adicionam informações adicionais. Os campos opcionais podem ser omitidos para poupar custos de armazenamento.

Alguns campos de registo estão num formato de vários campos, com mais do que um elemento de dados num determinado campo. Por exemplo, o campo connection está no formato IpConnection, que contém o endereço IP e a porta de origem e destino, além do protocolo, num único campo. Estes campos de vários campos estão descritos na tabela de formato de registo seguinte.

O recurso monitorizado é loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule.

Campo Formato do campo Tipo de campo: obrigatório ou opcional Descrição
ligação IpConnection Obrigatória 5-Tuple que descreve esta ligação.
startTime de string Obrigatória Data/hora (formato de string de data RFC 3339) do primeiro pacote observado durante o intervalo de tempo agregado.
endTime de string Obrigatória Data/hora (formato de string de data RFC 3339) do último pacote observado durante o intervalo de tempo agregado.
bytesSent int64 Obrigatória Número de bytes enviados do servidor para o cliente.
bytesReceived int64 Obrigatória Número de bytes recebidos pelo servidor do cliente.
packetsSent int64 Obrigatória Número de pacotes enviados do servidor para o cliente.
packetsReceived int64 Obrigatória Número de pacotes recebidos pelo servidor do cliente.
rtt de string Obrigatória

A latência é medida apenas para ligações TCP. A latência é a soma do tempo de resposta de rede (RTT) estimado, mais o tempo consumido no processamento do pacote no sistema operativo do cliente.

Para pacotes amostrados, o RTT é calculado na perspetiva de um back-end com equilíbrio de carga através da medição das diferenças de tempo entre o back-end que envia um segmento TCP e o back-end que recebe uma confirmação TCP para o número de sequência do segmento enviado.

A latência é formatada como uma string que começa com o número de segundos e termina com "s" para indicar segundos. Os nanossegundos são expressos como segundos fracionários.Por exemplo, a latência de 250 milissegundos é formatada como "0,250000000 s".

serverInstance InstanceDetails Opcional Os detalhes da instância de VM de back-end.
clientLocation GeographicDetails Opcional Os metadados de localização 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 ponto final do GKE.
networkTier NetworkTierDetails Opcional Nível de rede para ligações externas, preenchido apenas quando o cliente não está dentro de Google Cloud.

Formato do campo IpConnection

Campo Tipo Descrição
clientIp de string Endereço IP do cliente
clientPort int32 Porta do cliente. Definido apenas para ligações TCP e UDP.
serverIp de string Endereço IP do servidor (IP da regra de encaminhamento)
serverPort int32 Porta do servidor. Definido apenas para ligações TCP e UDP.
protocol int32 Número do protocolo da IANA

Formato do campo InstanceDetails

Campo Tipo Descrição
projectId de string ID do projeto que contém a VM
vm de string Nome da instância da VM
região de string Região da VM
zona de string Zona da VM
vmIp de string Endereço IPv4 interno principal da interface de rede que publicou a ligação

Formato do campo GeographicDetails

Campo Tipo Descrição
continent de string Nome do continente
regionCode de string Um código de região CLDR Unicode, como US ou FR. Para a maioria dos países, estes códigos correspondem diretamente aos códigos ISO-3166-2.
subRegion de string Um ID de subdivisão CLDR Unicode, por exemplo, uma província ou um estado do país, como USCA ou CAON. Estes códigos Unicode são derivados das subdivisões definidas pela norma ISO-3166-2.
city de string Nome da cidade, por exemplo, Mountain View para Mountain View, Califórnia. Não existe uma lista canónica de valores válidos para esta variável. Os nomes das cidades podem conter letras US-ASCII, números, espaços e os seguintes carateres: !#$%&'*+-.^_`|~.
asn int32 O número do sistema autónomo (ASN) da rede externa à qual este ponto final pertence.

Formato do campo GkeDetails

Campo Tipo Descrição
cluster ClusterDetails Metadados do cluster do GKE
pod PodDetails Metadados do GKE Pod, preenchidos quando a origem ou o destino do tráfego é um Pod
serviço ServiceDetails Metadados do serviço GKE, preenchidos apenas nos pontos finais do serviço. O registo contém até dois serviços. Se existirem mais de dois serviços relevantes, este campo contém um único serviço com um marcador especial MANY_SERVICES.

Formato do campo ClusterDetails

Campo Tipo Descrição
cluster de string Nome do cluster do GKE
clusterLocation de string Localização do cluster. A localização do cluster pode ser uma zona ou uma região.

Formato do campo PodDetails

Campo Tipo Descrição
pod de string Nome do agrupamento
podNamespace de string Espaço de nomes do agrupamento

Formato do campo ServiceDetails

Campo Tipo Descrição
serviço de string Nome do serviço. Se existirem mais de dois serviços relevantes, o campo é definido como um marcador especial MANY_SERVICES.
serviceNamespace de string Espaço de nomes do serviço

Formato do campo NetworkTierDetails

Campo Tipo Descrição
networkTier de string NetworkTier usado na ligação, um de [PREMIUM, STANDARD, FIXED_STANDARD, UNKNOWN].

Monitorização

Os balanceadores de carga de rede de encaminhamento externo exportam métricas importantes para o Cloud Monitoring.

As métricas de monitorização podem ser usadas para os seguintes fins:

  • Avalie a configuração, a utilização e o desempenho de um balanceador de carga
  • Resolva problemas
  • Melhore a utilização de recursos e a experiência do utilizador

Além dos painéis de controlo predefinidos na monitorização, pode criar painéis de controlo personalizados, configurar alertas e consultar as métricas através da API Monitoring.

Veja os painéis de controlo de monitorização

Consola

  1. Na Google Cloud consola, aceda à página Monitorização.

    Aceder a Monitorização

  2. No painel de navegação, selecione Painéis de controlo.

  3. Selecione o painel de controlo Equilibradores de carga do Google Cloud. São apresentados todos os balanceadores de carga.

  4. Selecione o nome do balanceador de carga na lista de balanceadores de carga.

No painel Detalhes do balanceador de carga de rede de encaminhamento externo, pode ver vários detalhes do balanceador de carga selecionado. Este painel apresenta as suas configurações atuais.

No painel Principais métricas, pode ver gráficos para cada métrica principal. Para ver discriminações específicas, clique em Discriminações. Este painel apresenta dados baseados em configurações do histórico, enquanto o painel Detalhes do equilibrador de carga de passagem externo apenas apresenta as configurações atuais. Para mais informações, consulte o artigo Painéis de controlo e gráficos.

Defina painéis de controlo personalizados de monitorização

Pode criar painéis de controlo de monitorização personalizados com base em métricas do Network Load Balancer de encaminhamento externo.

Consulte o artigo Métricas e tipos de recursos para ver uma lista das métricas recolhidas. Consulte a secção Filtros para ver listas de atributos que pode usar para filtrar os resultados.

Consola

  1. Na Google Cloud consola, aceda à página Monitorização.

    Aceder a Monitorização

  2. Selecione Painéis de controlo > Criar painel de controlo.

  3. Clique em Adicionar gráfico.

  4. Atribua um título ao gráfico.

  5. Selecione métricas e filtros.

    Para encontrar métricas do balanceador de carga de rede de encaminhamento externo, pesquise o prefixo loadbalancing.googleapis.com/l3/external.

  6. Clique em Guardar.

Defina alertas de monitorização

Pode definir alertas de monitorização em várias métricas de encaminhamento externo do balanceador de carga de rede:

Consola

  1. Na Google Cloud consola, aceda à página Monitorização.

    Aceder a Monitorização

  2. Selecione Alertas > Criar uma política.

  3. Selecione tipos de recursos e métricas.

    Para encontrar tipos de recursos e métricas do Network Load Balancer de encaminhamento externo, pesquise loadbalancing.googleapis.com/l3/external no campo Encontre o tipo de recurso e a métrica.

  4. Especifique uma configuração para definir quando um alerta deve ser acionado.

  5. Adicione Filtros, se necessário.

  6. Clique em Guardar.

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

As métricas dos balanceadores de carga de rede de encaminhamento externo são exportadas para o Monitoring em lotes de granularidade de um minuto. Os dados de monitorização são retidos durante seis semanas. As métricas baseiam-se no tráfego de amostragem (a taxa de amostragem é dinâmica e não pode ser ajustada). O painel de controlo fornece a análise de dados em intervalos predefinidos de 1 hora (1H), 6 horas (6H), 1 dia (1D), 1 semana (1W) e 6 semanas (6W). Pode pedir manualmente a análise em qualquer intervalo de seis semanas a sessenta segundos.

Métricas e tipos de recursos

Esta secção descreve as métricas e os tipos de recursos para balanceadores de carga de rede de encaminhamento externo.

Métrica

As seguintes métricas para balanceadores de carga de rede de encaminhamento externo são comunicadas na monitorização. Pode usar estes nomes de métricas quando fizer pedidos à API.

metric_name Tipo Descrição
loadbalancing.googleapis.com/l3/external/ingress_bytes_count contrapropor O número de bytes enviados de um cliente para um back-end de Network Load Balancer de passagem externo. Para fluxos TCP, apenas são contabilizados os bytes no fluxo da aplicação.
loadbalancing.googleapis.com/l3/external/ingress_packets_count contrapropor O número de pacotes enviados de um cliente para um back-end de balanceador de carga de passagem externo.
loadbalancing.googleapis.com/l3/external/egress_bytes_count contrapropor O número de bytes enviados de um back-end do Network Load Balancer de passagem externo para um cliente. Para fluxos TCP, apenas são contabilizados os bytes no fluxo da aplicação.
loadbalancing.googleapis.com/l3/external/egress_packets_count contrapropor O número de pacotes enviados de um back-end do Network Load Balancer de encaminhamento externo para um cliente.
loadbalancing.googleapis.com/l3/external/rtt_latencies distribuição

Uma distribuição do RTT medido através de ligações TCP para fluxos do balanceador de carga de rede de encaminhamento externo.

Disponível apenas para tráfego TCP.

Tipos de recursos

Os balanceadores de carga de rede de encaminhamento externo usam os seguintes tipos de recursos:

  • tcp_lb_rule
  • udp_lb_rule
  • loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

Um balanceador de carga de rede de encaminhamento externo pode suportar tráfego TCP, UDP, ESP, GRE, ICMP e ICMPv6.

Pode especificar o tipo de recurso como tcp_lb_rule ou udp_lb_rule para limitar os dados monitorizados aos protocolos TCP ou UDP. Pode especificar o tipo de recurso como loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule para monitorizar todos os protocolos suportados, incluindo os protocolos TCP, UDP, ESP, GRE, ICMP e ICMPv6.

Filtros

As métricas são agregadas para cada balanceador de carga de rede de encaminhamento externo. Pode filtrar métricas agregadas pelas seguintes dimensões.

Etiquetas de recursos para tcp_lb_rule ou udp_lb_rule

Pode restringir a consulta por recurso. Também pode agrupar os resultados por estes valores.

resource.label.<var>LABEL_KEY</var>:
label_key Tipo Descrição
project de string O identificador do Google Cloud projeto associado a este recurso.
load_balancer_name de string O nome do balanceador de carga.
region de string A região onde se encontra o back-end do balanceador de carga, por exemplo, us-central1, europe-west1, asia-east1.
network_name de string A rede VPC na qual reside o back-end do balanceador de carga.
backend_target_type de string Indica se o balanceador de carga de rede de passagem externo é baseado em pool de destino ou em serviço de back-end. Os valores válidos são BACKEND_SERVICE ou TARGET_POOL.
backend_target_name de string Para balanceadores de carga de rede de encaminhamento externo baseados em grupos de destino, o nome do grupo de destino. Para balanceadores de carga de rede de encaminhamento externo baseados em serviços de back-end, o nome do serviço de back-end.
forwarding_rule_name de string O nome da regra de encaminhamento.
forwarding_rule_network_tier de string O nível da rede da regra de encaminhamento.
backend_name de string

O nome do back-end que processou a associação.

Para um balanceador de carga de rede de encaminhamento externo baseado num serviço de back-end, o valor é o nome do grupo de instâncias de back-end ou do grupo de pontos finais da rede (NEG) que processou a ligação.

Para um Network Load Balancer de encaminhamento externo baseado em pool de destino, o valor é o nome do pool de destino.

backend_type de string

O tipo de back-end que processou a ligação.

Para um balanceador de carga de rede de encaminhamento externo baseado em serviços de back-end, o valor pode ser INSTANCE_GROUP ou NETWORK_ENDPOINT_GROUP.

Para um balanceador de carga de rede de encaminhamento externo baseado em pool alvo, o valor é TARGET_POOL.

backend_scope de string

Para um balanceador de carga de rede de encaminhamento externo baseado num serviço de back-end, a zona ou a região do grupo de instâncias de back-end ou do NEG.

Para um equilibrador de carga de rede baseado em conjunto de destino, o valor é UNSUPPORTED_FOR_TARGET_POOL.

backend_scope_type de string

O tipo de âmbito do grupo de back-end que processou a ligação. Os valores válidos são ZONE ou REGION.

Para um equilibrador de carga de rede baseado em conjunto de destino, o valor é UNSUPPORTED_FOR_TARGET_POOL.

backend_failover_configuration de string A configuração de comutação por falha do grupo de back-end que processou a ligação. Os valores válidos são PRIMARY, BACKUP ou UNKNOWN.
backend_subnetwork_name de string O nome da sub-rede do back-end que recebeu a ligação.
endpoint_zone de string A zona da VM de back-end que processou a ligação.

Etiquetas de recursos para loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule

Pode restringir a consulta por recurso. Também pode agrupar os resultados por estes valores.

resource.label.<var>LABEL_KEY</var>:
label_key Tipo Descrição
project de string O identificador do Google Cloud projeto associado a este recurso.
region de string A região onde se encontra o back-end do balanceador de carga, por exemplo, us-central1, europe-west1, asia-east1.
backend_network_name de string A rede VPC na qual reside o back-end do balanceador de carga.
backend_target_type de string O tipo de destino de back-end que processou a ligação. Os valores válidos são BACKEND_SERVICE ou TARGET_POOL.
backend_service_name de string O nome do serviço de back-end que processou a ligação. Se o backend_target_type for TARGET_POOL, o valor é UNSUPPORTED_FOR_TARGET_POOL.
primary_target_pool de string O nome do conjunto de alvos principal. Se backend_target_type for BACKEND_SERVICE, o valor é UNSUPPORTED_FOR_BACKEND_SERVICE.
target_pool de string O nome do grupo de alvos. Se backend_target_type for BACKEND_SERVICE, o valor é UNSUPPORTED_FOR_BACKEND_SERVICE.
forwarding_rule_name de string O nome da regra de encaminhamento do balanceador de carga de rede de passagem externo.
backend_group_name de string O nome do grupo de back-end que processou a ligação. Se backend_target_type for TARGET_POOL, o valor é UNSUPPORTED_FOR_TARGET_POOL.
backend_group_type de string

O tipo de grupo de back-end que processou a ligação.

Se o valor backend_target_type for BACKEND_SERVICE, o valor é INSTANCE_GROUP ou NETWORK_ENDPOINT_GROUP.

Se backend_target_type for TARGET_POOL, então o valor é UNSUPPORTED_FOR_TARGET_POOL.

backend_group_scope de string O âmbito do grupo de back-end (nome da zona ou região) que processou a ligação. Se backend_target_type for TARGET_POOL, o valor é UNSUPPORTED_FOR_TARGET_POOL.
backend_subnetwork_name de string O nome da sub-rede do back-end que recebeu a ligação.
backend_zone de string A zona da VM de back-end que processou a ligação.

Etiquetas de métricas

Pode restringir a consulta pela etiqueta de métrica. Também pode agrupar os resultados por estes valores.

metric.label.<var>LABEL_KEY</var>:
label_key Tipo Descrição
client_country de string O país do cliente que iniciou a ligação ao balanceador de carga de encaminhamento externo.
client_continent de string O continente do cliente que iniciou a ligação ao balanceador de carga de encaminhamento externo.
protocol de string

O protocolo na ligação para o recurso loadbalancing.googleapis.com/ExternalNetworkLoadBalancerRule.

Este campo fica em branco para os recursos tcp_lb_rule e udp_lb_rule.

Monitorização de pedidos de API

Pode criar consultas arbitrárias sobre métricas de Network Load Balancer de encaminhamento externo usando o pedido projects.timeSeries.list da API Monitoring v3. A estrutura exata das várias definições segue a semântica genérica dos filtros de monitorização.

Exemplos de pedidos de API

  • Obtenha todos os bytes enviados de todos os equilibradores de carga de rede de encaminhamento externo no projeto durante as 12:00-12:02 UTC a 01-07-2019 com agregações de 1 m.

    Parâmetros de timeSeries.list:

    • name: projects/PROJECT_ID
    • Filtro: resource.type = "tcp_lb_rule" E metric.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
  • Obtenha a medição do RTT mediano em todos os equilibradores de carga de encaminhamento externo no projeto durante o período de 12:19 a 12:20 UTC a 01/07/2019, discriminada por país do cliente.

    Parâmetros de timeSeries.list:

    • name: projects/PROJECT_ID
    • Filtro: resource.type = "tcp_lb_rule" E metric.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
  • Obtenha o total de bytes de um Network Load Balancer de encaminhamento específico externo durante o período de 01/07/2019 das 12:19 às 12:20 (UTC), discriminado por zona do ponto final e continente do cliente.

    Parâmetros de timeSeries.list:

    • name: projects/PROJECT_ID
    • Filtro: resource.type = "tcp_lb_rule" E resource.label.load_balancer_name = "netlb-bs-1" E metric.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

O que se segue?