Geração de registros e monitoramento do balanceador de carga de aplicativo interno

Neste documento, apresentamos as informações necessárias para entender as métricas de geração de registros e monitoramento dos balanceadores de carga de aplicativo internos. As métricas de geração de registros e monitoramento dos balanceadores de carga internos e regionais de aplicativos são as mesmas.

Geração de registros

É possível ativar a geração de registros por serviço de back-end. Um mapa de URL do balanceador de carga de aplicativo interno pode fazer referência a mais de um serviço de back-end. Talvez seja necessário ativar a geração de registros para vários serviços de back-end, dependendo da configuração.

Coleta e amostragem de registros

O Google Cloud analisa os pacotes que saem e entram nas instâncias de máquina virtual (VM) do 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:

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

  2. 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.

  3. 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 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 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, 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 serviço de back-end existente.

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

Para balanceadores de carga de aplicativo internos regionais, use as seguintes etapas:

Console

  1. No Console do Google Cloud, acesse a página Balanceamento de carga.

    Acessar o "Balanceamento de carga"

  2. Clique no nome do balanceador de carga.

  3. Clique em Editar.

  4. Clique em Configuração de back-end.

  5. Clique em Editar ao lado do serviço de back-end.

  6. Clique em Configurações avançadas (afinidade de sessão, tempo limite de diminuição da conexão).

  7. Clique em Ativar a geração de registros.

  8. Defina uma fração da Taxa de amostragem. É possível definir um número de 0.0 a 1.0, em que 0.0 significa que nenhuma solicitação é registrada e 1.0 significa que 100% das solicitações são registradas. O valor padrão é 1.0.

  9. Opcional: para incluir todos os campos opcionais nos registros, na seção Campos opcionais, clique em Incluir todos os campos opcionais.

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

  11. Para concluir a edição do balanceador de carga, clique em Atualizar.

gcloud

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

onde

  • --enable-logging ativa a geração de registros para esse serviço de back-end.
  • --logging-sample-rate permite especificar um valor de 0.0 a 1.0, em que 0.0 significa que nenhuma solicitação é registrada e 1.0 significa que 100% das solicitações são registradas. Só é significativo com o parâmetro --enable-logging. Ativar a geração de registros, mas definir a taxa de amostragem como 0.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 em OPTIONAL_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 se LOGGING_OPTIONAL_MODE for definido como CUSTOM.

Para balanceadores de carga de aplicativo internos entre regiões, use as seguintes etapas:

Console

  1. No Console do Google Cloud, acesse a página Balanceamento de carga.

    Acessar o "Balanceamento de carga"

  2. Clique no nome do balanceador de carga.

  3. Clique em Editar.

  4. Clique em Configuração de back-end.

  5. Clique em Editar ao lado do serviço de back-end.

  6. Clique em Configurações avançadas (afinidade de sessão, tempo limite de diminuição da conexão).

  7. Clique em Ativar a geração de registros.

  8. Defina uma fração da Taxa de amostragem. É possível definir um número de 0.0 a 1.0, em que 0.0 significa que nenhuma solicitação é registrada e 1.0 significa que 100% das solicitações são registradas. O valor padrão é 1.0.

  9. Opcional: para incluir todos os campos opcionais nos registros, na seção Campos opcionais, clique em Incluir todos os campos opcionais.

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

  11. Para concluir a edição do balanceador de carga, clique em Atualizar.

gcloud

Para atualizar o serviço de back-end e ativar a geração de registros, use o comando gcloud compute backend-services update.

gcloud compute backend-services update BACKEND_SERVICE \
    --enable-logging \
    --logging-sample-rate=RATE \
    --global \
    --logging-optional=LOGGING_OPTIONAL_MODE \
    --logging-optional-fields=OPTIONAL_FIELDS

onde

  • --enable-logging ativa a geração de registros para esse serviço de back-end.
  • --logging-sample-rate permite especificar um valor de 0.0 a 1.0, em que 0.0 significa que nenhuma solicitação é registrada e 1.0 significa que 100% das solicitações são registradas. Só é significativo com o parâmetro --enable-logging. Ativar a geração de registros, mas definir a taxa de amostragem como 0.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 em OPTIONAL_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 se LOGGING_OPTIONAL_MODE for definido como CUSTOM.

Depois de ativar a geração de registros no serviço de back-end, cada solicitação HTTP(S) é registrada usando o Cloud Logging.

Como visualizar os registros

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

Os registros do balanceador de carga interno do aplicativo são indexados primeiro por rede e depois por região.

  • Para consultar os registros de todos os balanceadores de carga de aplicativo internos, no primeiro menu suspenso, selecione Regra de balanceador de carga de aplicativo interno.
  • Para consultar os registros de apenas uma rede, selecione Regra de balanceador de carga de aplicativo interno e, em seguida, selecione o nome de uma rede.
  • Para consultar os registros de apenas uma região da rede, selecione Regra de balanceador de carga de aplicativo interno> NETWORK > REGION.

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.

É possível configurar a exportação de métricas com base em registros para registros de recursos (resource.type="internal_http_lb_rule"). As métricas criadas são baseadas no recurso "Regra de balanceador de carga de aplicativo interno", disponível nos painéis do Cloud Monitoring:

Acessar Monitoring

O que é registrado

As entradas de registro do balanceador de carga externo do aplicativo 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, e campos opcionais que adicionam outras informações sobre seu tráfego HTTP(S). Esses campos podem ser omitidos para economizar nos custos de armazenamento. As entradas de registro contêm os seguintes tipos de informação:

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

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 Tipo Tipo de campo: obrigatório ou opcional Descrição
logName string Obrigatório O nome do recurso do registro a que a entrada pertence.
No formato "projects/PROJECT_ID/logs/requests".
timestamp string Obrigatório A hora em que a solicitação começou.
severity Formato LogSeverity Obrigatório A gravidade da entrada de registro. O padrão é LogSeverity.DEFAULT.
httpRequest Objeto HttpRequest Obrigatório Um proto HttpRequest que descreve a solicitação HTTP(S) que está sendo registrada.
trace string Obrigatório O nome do recurso do trace associado à entrada de registro, se houver. Se ele incluir um nome de recurso relativo, presume-se que o nome seja https://tracing.googleapis.com. Exemplo: projects/PROJECT_ID/traces/06796866738c859f2f19b7cfb3214824.

Os balanceadores de carga de aplicativo internos não são compatíveis com este campo.

spanId string Obrigatório O ID do período dentro do trace associado à entrada de registro. Para períodos do Trace, esse é o mesmo formato que a API Trace v2 usa: uma codificação hexadecimal de 16 caracteres de uma matriz de 8 bytes, como 000000000000004a.

Os balanceadores de carga de aplicativo internos não são compatíveis com este campo.

resource Objeto MonitoredResource Obrigatório

O recurso monitorado que produziu a entrada de registro.

O objeto MonitoredResourceDescriptor descreve o esquema de um objeto MonitoredResource usando um nome de tipo e um conjunto de rótulos.

Por exemplo, os descritores de recursos monitorados para balanceadores de carga de aplicativo internos têm um tipo de internal_http_lb_rule e usam rótulos de recursos para identificar o recurso real e os atributos dele. Para ver uma lista de rótulos de recurso, consulte rótulos de recursos para resource.type="internal_http_lb_rule".

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:
  • tls
  • proxyStatus
  • backendTargetProjectNumber
  • serviceDirectoryService
  • cloudFitExperiment
  • cloudFitFault
  • serviceExtensionInfo
  • mtls
string Obrigatório

O campo proxyStatus contém uma string que especifica por que o balanceador de carga interno do aplicativo retornou o HttpRequest.status. Esse campo só é preenchido quando o proxy retorna um código de erro com 4xx ou 5xx.

O campo não será registrado se o valor for uma string vazia. Para mais informações, consulte a mensagem proxyStatus.

string Obrigatório O campo backendTargetProjectNumber contém o número do projeto que identifica o proprietário do serviço ou bucket de back-end.
string Obrigatório O campo serviceDirectoryService contém o nome do serviço do Diretório de serviços em que a falha do Cloud FIT foi configurada.
string Obrigatório O campo cloudFitExperiment contém o nome do experimento do Cloud FIT.
string Obrigatório O campo cloudFitFault contém o nome da falha injetada por um experimento de falha do Cloud FIT no caminho da solicitação.
ServiceExtensionInfo Obrigatório O campo serviceExtensionInfo armazena informações sobre os streams gRPC do balanceador de carga para as extensões de serviço. Para mais informações, consulte o que é registrado para extensões de frase de destaque.
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 interno. Este campo só está disponível se o cliente estiver usando criptografia TLS/SSL.
MtlsDetails Opcional O campo mtls contém o valor MtlsDetails que especifica os metadados mTLS para a conexão entre o cliente e o balanceador de carga de aplicativo interno. Esse campo só estará disponível se o balanceador de carga usar TLS mútuo de front-end (mTLS).

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.

Formato do campo MtlsDetails

Campo Formato do campo Tipo de campo: obrigatório ou opcional Descrição
clientCertPresent bool Opcional

true se o cliente tiver fornecido um certificado durante o handshake de TLS. Caso contrário, false.

clientCertChainVerified bool Opcional

true se a cadeia de certificados do cliente for verificada em relação a um TrustStore configurado. Caso contrário, false.

clientCertError string Opcional

Strings predefinidas que representam as condições de erro. Para mais informações sobre as strings de erro, consulte os modos de validação de cliente mTLS.

clientCertSha256Fingerprint string Opcional

Impressão digital SHA-256 codificada em Base64 do certificado do cliente.

clientCertSerialNumber string Opcional

O número de série do certificado do cliente. Se o número de série for maior que 50 bytes, a string client_cert_serial_number_exceeded_size_limit será adicionada ao client_cert_error e o número de série será definido como uma string vazia.

clientCertValidStartTime string Opcional

Carimbo de data/hora (formato de string de data RFC 3339) antes do qual o certificado do cliente não é válido. Por exemplo, 2022-07-01T18:05:09+00:00.

clientCertValidEndTime string Opcional

Carimbo de data/hora (formato de string de data RFC 3339) após o qual o certificado do cliente não é válido. Por exemplo, 2022-07-01T18:05:09+00:00.

clientCertSpiffeId string Opcional

O ID do SPIFFE no campo Nome alternativo do assunto (SAN, na sigla em inglês). Se o valor não for válido ou exceder 2.048 bytes, o ID do SPIFFE será definido como uma string vazia.

Se o ID SPIFFE tiver mais de 2.048 bytes, a string client_cert_spiffe_id_exceeded_size_limit será adicionada a client_cert_error.

clientCertUriSans string Opcional

Lista codificada por Base64 separada por vírgula das extensões SAN do tipo URI. As extensões do SAN são extraídas do certificado do cliente. O ID do SPIFFE não está incluído no campo client_cert_uri_sans.

Se o campo client_cert_uri_sans for maior que 512 bytes, a string client_cert_uri_sans_exceeded_size_limit será adicionada ao client_cert_error, e a lista separada por vírgulas será definida como uma string vazia.

clientCertDnsnameSans string Opcional

Lista codificada por Base64 separada por vírgula das extensões SAN do tipo DNSName. As extensões do SAN são extraídas do certificado do cliente.

Se o campo client_cert_dnsname_sans for maior que 512 bytes, a string client_cert_dnsname_sans_exceeded_size_limit será adicionada ao client_cert_error, e a lista separada por vírgulas será definida como uma string vazia.

clientCertIssuerDn string Opcional

Campo do emissor completo codificado em Base64 do certificado.

Se o campo client_cert_issuer_dn tiver mais de 512 bytes, a string client_cert_issuer_dn_exceeded_size_limit será adicionada a client_cert_error, e client_cert_issuer_dn será definido como uma string vazia.

clientCertSubjectDn string Opcional

Campo "Assunto" completo codificado em Base64 do certificado.

Se o campo client_cert_subject_dn tiver mais de 512 bytes, a string client_cert_subject_dn_exceeded_size_limit será adicionada a client_cert_error, e client_cert_subject_dn será definido como uma string vazia.

clientCertLeaf string Opcional

O certificado de folha de cliente para uma conexão mTLS estabelecida em que o certificado passou na validação. A codificação do certificado está em conformidade com asRFC 9440: o certificado DER binário é codificado usando Base64 (sem quebras de linha, espaços ou outros caracteres fora do alfabeto Base64) e delimitado por dois pontos em ambos os lados.

Se client_cert_leaf exceder 16 KB não codificados, a string client_cert_validated_leaf_exceeded_size_limit será adicionada a client_cert_error, e client_cert_leaf será definido como uma string vazia.

clientCertChain string Opcional

A lista de certificados delimitada por vírgulas, na ordem TLS padrão, da cadeia de certificados do cliente para uma conexão mTLS estabelecida em que o certificado do cliente passou na validação, sem incluir o certificado de folha. A codificação do certificado é compatível com a RFC 9440 (link em inglês).

Se o tamanho combinadoclient_cert_leaf e client_cert_chain antes que a codificação Base64 exceda 16 KB, a stringclient_cert_validated_chain_exceeded_size_limit foi adicionado aclient_cert_error eclient_cert_chain é definido como uma string vazia.

Rótulos de recursos

A tabela a seguir lista os rótulos dos recursos de resource.type="internal_http_lb_rule".

Campo Tipo Descrição
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.
url_map_name string O nome do objeto do mapa de URL configurado para selecionar um serviço de back-end.
forwarding_rule_name string O nome do objeto da regra de encaminhamento.
target_proxy_name string O nome do objeto do proxy de destino referenciado pela 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.
  • UNMATCHED se refere a uma solicitação que não corresponde a regras de caminho do URL. Portanto, ele usa a regra de caminho padrão.
  • UNKNOWN indica um erro interno.
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 (BACKEND_SERVICE / UNKNOWN).
backend_name string O nome do grupo de instâncias de back-end ou do NEG.
backend_type string

O tipo de back-end, um grupo de instâncias, um NEG ou desconhecido.

O Cloud Logging registra solicitações quando backend_type é UNKNOWN, mesmo que a geração de registros esteja desativada. Por exemplo, se um cliente encerrar a conexão com o balanceador de carga antes que o balanceador de carga possa escolher um back-end, o backend_type é definido como UNKNOWN e a solicitação é registrada. Esses registros fornecem informações úteis de depuração sobre solicitações de clientes que foram encerradas porque o balanceador de carga não conseguiu selecionar um back-end.

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.

Mensagens proxyStatus

As strings registradas no campo proxyStatus são:

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
dns_error O balanceador de carga encontrou um erro de DNS ao tentar encontrar um endereço IP para o nome do host do back-end. 502, 503
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
proxy_internal_error O balanceador de carga encontrou um erro interno. 500, 502
proxy_internal_response O balanceador de carga gerou a resposta sem tentar se conectar ao back-end. Você pode ver um código de status HTTP, dependendo do tipo de problema. Por exemplo, o código de status HTTP "410" significa que o back-end está indisponível devido à inadimplência de pagamento.

Ver registros para validação do certificado do cliente mTLS

Para ver os erros registrados para conexões fechadas durante a validação do certificado do cliente TLS mútuo, conclua as etapas a seguir.

Console

  1. No console do Google Cloud, acesse a página do Explorador de registros.

    Acessar o Explorador de registros

  2. Clique no botão Mostrar consulta para ativar o Editor de consultas.

  3. Cole o seguinte no campo Consulta. Substitua FORWARDING_RULE_NAME pelo nome da regra de encaminhamento.

    jsonPayload.statusDetails=~"client_cert"
    jsonPayload.@type="type.googleapis.com/google.cloud.loadbalancing.type.LoadBalancerLogEntry"
    resource.labels.forwarding_rule_name=FORWARDING_RULE_NAME
    
  4. Clique em Executar consulta.

Monitoramento

Os balanceadores de carga internos do aplicativo exportam dados de monitoramento para o 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.

Como visualizar métricas do Cloud Monitoring

Console

Para visualizar as métricas de um recurso monitorado usando o Metrics Explorer, faça o seguinte:

  1. No painel de navegação do console do Google Cloud, selecione Monitoramento e  Metrics Explorer:

    Acesse o Metrics explorer

  2. No elemento Metric, expanda o menu Selecionar uma métrica, digite Internal Application Load Balancer Rule na barra de filtro e use os submenus para selecionar um tipo de recurso e métrica específicos:
    1. No menu Recursos ativos, selecione Regra de balanceador de carga de aplicativo interno.
    2. Para selecionar uma métrica, use os menus Categorias de métricas ativas e Métricas ativas.
    3. Clique em Aplicar.
  3. Para remover séries temporais da exibição, use o elemento Filtro.

  4. Para combinar séries temporais, use os menus no elemento Agregação. Por exemplo, para exibir a utilização da CPU para suas VMs, com base na zona, defina o primeiro menu como Média e o segundo como zona.

    Todas as séries temporais são exibidas quando o primeiro menu do elemento Agregação está definido como Não agregado. As configurações padrão do elemento Agregação são determinadas pelo tipo de métrica selecionada.

  5. Para cotas e outras métricas que informam uma amostra por dia, faça as seguintes ações:
    1. No painel Exibição, defina o Tipo de widget como Gráfico de barras empilhadas.
    2. Defina o período como pelo menos uma semana.

Como definir políticas de alertas

Console

É possível criar políticas de alertas para monitorar os valores das métricas e ser notificado quando elas violarem uma condição.

  1. No painel de navegação do console do Google Cloud, selecione Monitoramento e  Alertas:

    Acessar Alertas

  2. 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.
  3. Na página Alertas, clique em Criar política.
  4. Para selecionar a métrica, expanda o menu Selecionar uma métrica e faça isto:
    1. Para limitar o menu a entradas relevantes, insira Internal 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.
    2. Em Tipo de recurso, selecione Regra de balanceador de carga de aplicativo interno.
    3. Selecione uma Categoria de métrica e uma Métrica, depois selecione Aplicar.
  5. Clique em Next.
  6. 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.
  7. Clique em Next.
  8. 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.
  9. 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.
  10. Opcional: clique em Documentação e adicione as informações que quer incluir em uma mensagem de notificação.
  11. Clique em Nome e digite um nome para a política de alertas.
  12. Clique em Criar política.
Saiba mais em Políticas de alertas.

Como definir painéis personalizados do Monitoring

Console

É possível criar painéis personalizados do Monitoring sobre métricas internas do balanceador de carga de aplicativo:

  1. No Console do Google Cloud, acesse a página Monitoring.

    Acessar Monitoring

  2. Selecione Painéis > Criar painel.

  3. Clique em Adicionar gráfico.

  4. Dê um título ao gráfico.

  5. Selecione as métricas e os filtros. Para métricas, o tipo de recurso é Balanceador de carga HTTP/S interno.

  6. Clique em Salvar.

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

As métricas dos balanceadores de carga são exportadas para o Monitoring em lotes de granularidade de 1 minuto. Os dados de monitoramento são retidos por seis semanas. 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 de balanceadores de carga internos do aplicativo

As seguintes métricas de balanceadores de carga internos de aplicativos são relatadas no Monitoring:

Métrica FQDN Descrição
Contagem de solicitações loadbalancing.googleapis.com/https/internal/request_count O número de solicitações exibidas pelo balanceador de carga de aplicativo externo
Contagem de bytes da solicitação loadbalancing.googleapis.com/https/internal/request_bytes O número de bytes enviados como solicitações dos clientes para o balanceador de carga de aplicativo interno
Contagem de bytes da resposta loadbalancing.googleapis.com/https/internal/response_bytes O número de bytes enviados como respostas do balanceador de carga HTTP(S) interno para o cliente.
Latências totais loadbalancing.googleapis.com/https/internal/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 loadbalancing.googleapis.com/https/internal/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 das métricas do balanceador de carga interno

As métricas são agregadas para cada balanceador de carga interno. As métricas agregadas podem ser filtradas pelas seguintes dimensões:

Propriedade Descrição
BACKEND_SCOPE A zona ou região do Google Cloud Platform do grupo de back-ends que veiculou a solicitação do cliente, ou a string especial para casos em que o grupo de back-ends não foi atribuído. Exemplos: us-central1-a, europe-west1-b, asia-east1, UNKNOWN.
PROXY_REGION Região do balanceador de carga interno do aplicativo, cliente e back-end. Exemplos: us-central1, europe-west1 ou asia-east1.
BACKEND O nome do grupo de instâncias de back-end ou NEG que exibiu a solicitação do cliente.
BACKEND_TARGET O nome do serviço de back-end que exibiu a solicitação do cliente.
MATCHED_URL_RULE A regra de caminho do mapa de URL ou a regra de rota que correspondeu ao prefixo da solicitação HTTP(S) do cliente (até 50 caracteres)

A métrica Response code class fraction é aceita em todo o balanceador de carga. Não é permitida mais granularidade.

A seguir