Geração de registros e monitoramento de HTTP(S) interno

Neste documento, apresentamos as informações necessárias para entender as métricas de monitoramento e geração de registros do Stackdriver para balanceamento de carga HTTP(S) interno.

Geração de registros

É possível ativar a geração de registros por serviço de back-end. Um único mapa de URL do balanceador de carga HTTP(S) interno pode referir-se a mais de um serviço de back-end. Por isso, talvez seja necessário ativar a geração de registros para mais de um serviço de back-end, dependendo da configuração.

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

gcloud

gcloud beta compute backend-services update l7-ilb-backend-service \
    --enable-logging \
    --logging-sample-rate=1.0 \
    --region=us-west1

em que

  • --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 nenhum pacote é registrado e 1.0 significa que 100% dos pacotes são registrados. Só é significativo com o parâmetro --enable-logging. Ativar a geração de registros, mas definir a taxa de amostragem como 0.0 é equivalente a desativar a geração de registros.

Depois de ativar a geração de registros no serviço de back-end, cada solicitação HTTP(S) será registrada por meio do Stackdriver Logging.

Como visualizar os registros

Para visualizar os registros, acesse o Visualizador de registros.

Os registros do balanceador de carga HTTP(S) interno são indexados primeiro por rede, em seguida por região.

  • Para ver os registros de todos os balanceadores de carga HTTP(S) internos, no primeiro menu suspenso, selecione Regra de balanceamento de carga HTTP/S interno.
  • Para ver os registros de apenas uma rede, selecione Regra de balanceamento de carga HTTP/S interno e, em seguida, selecione o nome de uma rede.
  • Para ver os registros de apenas uma região da rede, selecione Regra de balanceamento de carga HTTP/S interno > rede > região.

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 do Stackdriver para registros de recursos (resource.type="internal_http_lb_rule). As métricas criadas são baseadas no recurso "Regra de balanceamento de carga HTTP/S interno (métricas com base em registros)", que está disponível nos painéis do Stackdriver Monitoring:

Acessar "Monitoramento"

O que é registrado

As entradas de registro do balanceamento de carga HTTP(S) contêm informações úteis para monitoramento e depuração do tráfego HTTP(S). As entradas de registro contêm:

  • informações gerais mostradas na maioria dos registros do GCP, como gravidade, ID do projeto, número do projeto, carimbo de data/hora e assim por diante;
  • campos de registro HttpRequest.

Campos de registro

Os registros do Stackdriver se apresentam na forma de um proto do LogEntry.

Campo Tipo Descrição
logName string O nome do recurso do registro a que a entrada pertence.
No formato "projects/[PROJECT_ID]/logs/requests".
timestamp Formato do carimbo de data/hora A hora em que a solicitação começou.
severity Formato LogSeverity A gravidade da entrada de registro. O padrão é LogSeverity.DEFAULT.
httpRequest Objeto HttpRequest Um proto HttpRequest que descreve a solicitação HTTP(S) que está sendo registrada.
trace string 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 é https://tracing.googleapis.com. Exemplo: projects/my-projectid/traces/06796866738c859f2f19b7cfb3214824.
spanId string O ID do período dentro do trace associado à entrada de registro. Para períodos de 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.
resource Objeto MonitoredResource O recurso monitorado associado a essa entrada de registro. Consulte o objeto MonitoredResource.

MonitoredResource

Campo Tipo Descrição
networkName string O nome da rede VPC do balanceador de carga.
region string O nome da região do Google Cloud do balanceador de carga.
urlMapName string O nome do objeto do mapa de URL configurado para selecionar um serviço de back-end.
forwardingRuleName string O nome do objeto da regra de encaminhamento.
targetProxyName string O nome do objeto do proxy de destino referenciado pela regra de encaminhamento.
matchedUrlPathRule 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 substitutos.
  • UNMATCHED refere-se a uma solicitação que não corresponde a regras de caminho de URL e, portanto, usa a regra de caminho padrão.
  • UNKNOWN indica um erro interno.
backendTargetName 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.
backendTargetType string O tipo de destino de back-end (BACKEND_SERVICE/UNKNOWN).
backendName string O nome do grupo de instâncias de back-end ou NEG.
backendType string O tipo do back-end, grupo de instâncias ou NEG.
backendScope string O escopo do back-end (nome da zona ou nome da região). Poderá ser UNKNOWN sempre que backendName for desconhecido.
backendScopeType string O escopo do back-end (REGION/ZONE). Poderá ser "UNKNOWN" sempre que backendName for desconhecido.

Monitoramento

O balanceamento de carga de HTTP(S) interno exporta dados de monitoramento para o Stackdriver.

As métricas de monitoramento podem ser usadas para as seguintes finalidades:

  • Avaliar a configuração, o uso e o desempenho de um balanceador de carga
  • Solucionar problemas
  • Melhorar a utilização de recursos e a experiência do usuário

Além dos painéis predefinidos no Stackdriver, é possível criar painéis personalizados, configurar alertas e consultar as métricas por meio da API Stackdriver Monitoring.

Como visualizar os painéis do monitoramento do Stackdriver

  1. Acesse Monitoramento no Console do Google Cloud Platform.
    Acessar "Monitoramento"
  2. Selecione Recursos > Balanceadores de carga do Google Cloud.
  3. Clique no nome do seu balanceador de carga.

No painel à esquerda, há vários detalhes do balanceador de carga. No painel à direita, há gráficos de séries temporais. Clique no link Detalhamentos para ver os detalhamentos específicos.

Como definir alertas do Stackdriver

Defina alertas do Stackdriver com base em várias métricas de balanceamento de carga de HTTP(S) interno:

  1. Acesse Monitoramento no Console do Google Cloud Platform.
    Acessar "Monitoramento"
  2. Selecione Alertas > Criar uma política.
  3. Clique em Adicionar condição e selecione o tipo de condição.
  4. Selecione as métricas e os filtros. Para métricas, o tipo de recurso é Balanceador de carga HTTP/S interno.
  5. Clique em Salvar condição.
  6. Digite o nome da política e clique em Salvar política.

Como definir os painéis personalizados do Stackdriver

É possível criar painéis personalizados do Stackdriver com as métricas de balanceamento de carga HTTP(S):

  1. Acesse Monitoramento no Console do Google Cloud Platform.
    Acessar "Monitoramento"
  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 geração de relatórios de métricas

As métricas dos balanceadores de carga são exportadas para o Stackdriver em lotes com granularidade de um 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 HTTP(S) internos

As seguintes métricas de balanceadores de carga HTTP(S) internos são relatadas no Stackdriver:

As seguintes métricas são relatadas no Stackdriver:

Métrica Descrição
Contagem de solicitações O número de solicitações atendidas pelo balanceador de carga HTTP(S) interno
Contagem de bytes da solicitação O número de bytes enviados como solicitações dos clientes para o balanceador de carga HTTP(S) interno
Contagem de bytes da resposta O número de bytes enviados como respostas do balanceador de carga HTTP(S) interno para o cliente
Total de latências Uma distribuição da latência medida a partir do momento em que o primeiro byte da solicitação é recebido pelo proxy até o momento em que o último byte da resposta é enviado pelo proxy. Normalmente, reduzida para o 95º percentil nas visualizações do Stackdriver.
Latências de back-end Uma distribuição da latência medida a partir do momento em que o primeiro byte da solicitação é enviado para o back-end pelo proxy até o momento em que o último byte da resposta é recebido pelo proxy do back-end. Normalmente, reduzida para o 95º percentil nas visualizações do Stackdriver.

Como filtrar dimensões para métricas do balanceador de carga HTTP(S) interno

As métricas são agregadas para cada balanceador de carga HTTP(S) 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 HTTP(S) interno, 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 veiculou a solicitação do cliente
BACKEND_TARGET O nome do serviço de back-end que veiculou 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

Esta página foi útil? Conte sua opinião sobre:

Enviar comentários sobre…