Observar o tráfego de DNS do GKE

Neste documento, mostramos como observar o tráfego de DNS usando as métricas de DNS do GKE. As métricas de DNS do GKE estão disponíveis no console do Google Cloud para clusters que executam as seguintes versões:

  • Para o KubeDNS aprimorado, use o GKE versão 1.36 ou mais recente.

  • Para NodeLocalDNS, GKE versão 1.35.2-gke.1090000 ou mais recente

Ver métricas de DNS

É possível conferir as métricas de DNS do GKE no console do Google Cloud no Metrics Explorer das seguintes maneiras:

Usar o painel de observabilidade de DNS do GKE

O Google fornece um painel de DNS predefinido em Monitoring > Painéis > Observabilidade de DNS do GKE - Visualização do cluster. Esse painel mostra as métricas do KubeDNS e do NodeLocalDNS. Você precisa de clusters que usem o NodeLocalDNS ou o KubeDNS para ver o painel.

Exemplos de uso do painel de observabilidade de DNS do GKE:

Primeiro, acesse Monitoring > Painéis, como mostrado na imagem a seguir:

Primeira captura de tela mostrando o painel de DNS no console do Google Cloud

Esta captura de tela mostra o menu de navegação do console do Google Cloud à esquerda. A seção Monitoramento é expandida, e Painéis é destacado para orientar sua navegação.

Em seguida, acesse o painel Observabilidade de DNS do GKE: visualização do cluster:

Segunda captura de tela mostrando o painel de DNS no console do Google Cloud

Esta captura de tela mostra a página do diretório Painéis, com o painel Observabilidade de DNS do GKE - Visualização de cluster destacado na lista de painéis disponíveis. Ao clicar nesse link, a visualização das métricas de DNS no nível do cluster é aberta.

Criar painéis personalizados

Para criar painéis personalizados e definir alertas semelhantes a qualquer uma das métricas que você está monitorando, use ferramentas de Google Cloud Observability, como o Cloud Monitoring Metrics Explorer.

Consultar métricas de observabilidade de DNS

Para conferir as métricas de DNS do GKE dos seus clusters, siga estas etapas no console do Google Cloud no Metrics Explorer:

  1. Acesse a página Monitoring > Metrics Explorer.

  2. No campo Selecionar uma métrica, filtre por kubernetes.io/networking/dns/.

  3. As métricas do KubeDNS estão no recurso de contêiner do Kubernetes, e as métricas do NodeLocalDNS estão no recurso de nó do Kubernetes.

  4. (Opcional) Escolha os filtros selecionados com base em Rótulos.

Exemplos de métricas do KubeDNS e do NodeLocalDNS no console do Google Cloud em Monitoring > Metrics Explorer:

Captura de tela mostrando as métricas do KubeDNS no console do Google Cloud

Esta captura de tela mostra a página do Metrics Explorer configurada para consultar métricas do KubeDNS. O campo Selecionar uma métrica mostra o caminho filtrado kubernetes.io/networking/dns/kubedns/, e o gráfico resultante exibe gráficos de séries temporais ativos de solicitações do KubeDNS e status de cache.

Captura de tela mostrando as métricas do NodeLocalDNS no console do Google Cloud

Esta captura de tela mostra a página do Metrics Explorer configurada para consultar métricas do NodeLocalDNS. A consulta especifica o caminho da métrica kubernetes.io/networking/dns/node_local_dns/ no recurso de nó do Kubernetes, e o gráfico destaca as séries temporais ativas que representam as solicitações de DNS locais e os dados de latência.

Lista de métricas de DNS do GKE

As métricas a seguir estão disponíveis para monitorar o desempenho e a integridade do DNS do GKE.

Métricas do KubeDNS

No GKE versão 1.36 e mais recentes, as seguintes métricas estão disponíveis para o KubeDNS:

Tipo de métrica Descrição
kubernetes.io/networking/dns/kubedns/dns_request_count Número total de solicitações de DNS recebidas pelo KubeDNS.
kubernetes.io/networking/dns/kubedns/dns_request_latencies Histograma do tempo que cada solicitação levou para ser resolvida.
kubernetes.io/networking/dns/kubedns/dns_cache_request_count Contador de solicitações de DNS filtradas por status de cache (ocorrência ou ausência).
kubernetes.io/networking/dns/kubedns/forwarding_request_latencies Histograma do tempo que cada solicitação encaminhada levou.
kubernetes.io/networking/dns/kubedns/max_concurrent_rejected_request_count Consultas rejeitadas porque o número de consultas simultâneas estava no máximo.

Para calcular a métrica forwarding_request_count, use a métrica kubernetes.io/networking/dns/kubedns/forwarding_request_latencies na seguinte consulta: sum by (cluster_name) (rate({"kubernetes.io/networking/dns/kubedns/forwarding_request_latencies_count"}[${__interval}])).

Por padrão, o console do Google Cloud aplica uma operação de taxa às métricas request_count. É possível desativar isso na origem do PromQL.

Métricas do NodeLocalDNS

No GKE versão 1.35.2-gke.1090000 e mais recentes, as seguintes métricas estão disponíveis para o NodeLocal DNSCache:

Tipo de métrica Descrição
kubernetes.io/networking/dns/node_local_dns/dns_request_count Número total de solicitações de DNS recebidas pelo NodeLocal DNSCache.
kubernetes.io/networking/dns/node_local_dns/dns_request_latencies Histograma do tempo que cada solicitação levou para ser resolvida.
kubernetes.io/networking/dns/node_local_dns/dns_cache_request_count Contador de solicitações de DNS filtradas por status de cache (ocorrência ou ausência).
kubernetes.io/networking/dns/node_local_dns/forwarding_request_latencies Histograma do tempo que cada solicitação encaminhada levou.
kubernetes.io/networking/dns/node_local_dns/max_concurrent_rejected_request_count Consultas rejeitadas porque o número de consultas simultâneas estava no máximo.

Para calcular o valor da métrica forwarding_request_count, use a métrica kubernetes.io/networking/dns/node_local_dns/forwarding_request_latencies na seguinte consulta: sum by (cluster_name) (rate({"kubernetes.io/networking/dns/node_local_dns/forwarding_request_latencies_count"}[${__interval}])).

Ao visualizar essas métricas, o console doGoogle Cloud aplica automaticamente uma operação de taxa às métricas request_count, que podem ser desativadas na origem do PromQL.

A seguir