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:

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:

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:
Acesse a página Monitoring > Metrics Explorer.
No campo Selecionar uma métrica, filtre por
kubernetes.io/networking/dns/.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.
(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:

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.

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.