Observer le trafic DNS GKE

Ce document explique comment observer votre trafic DNS à l'aide des métriques DNS GKE. Les métriques DNS GKE sont disponibles dans la console Google Cloud pour les clusters exécutant les versions suivantes :

  • Pour KubeDNS amélioré, GKE version 1.36 ou ultérieure

  • Pour NodeLocalDNS, GKE version 1.35.2-gke.1090000 ou ultérieure

Afficher les métriques DNS

Vous pouvez afficher les métriques DNS GKE dans la console Google Cloud de l'explorateur de métriques, de l'une des manières suivantes :

Utiliser le tableau de bord d'observabilité DNS de GKE

Google fournit un tableau de bord DNS prédéfini sous Surveillance > Tableaux de bord > Observabilité DNS GKE – Vue Cluster. Ce tableau de bord affiche les métriques KubeDNS et NodeLocalDNS. Pour afficher le tableau de bord, vous devez disposer de clusters qui utilisent NodeLocalDNS ou KubeDNS.

Exemples d'utilisation du tableau de bord Observabilité DNS GKE :

Tout d'abord, accédez à Monitoring > Tableaux de bord, comme illustré dans l'image suivante :

Première capture d'écran montrant le tableau de bord DNS dans la console Google Cloud

Cette capture d'écran montre le menu de navigation de la console Google Cloud sur la gauche. La section Monitoring est développée et l'option Tableaux de bord est mise en surbrillance pour vous guider.

Accédez ensuite au tableau de bord GKE DNS Observability - Cluster View (Observabilité DNS GKE - Vue du cluster) :

Deuxième capture d'écran montrant le tableau de bord DNS dans la console Google Cloud

Cette capture d'écran montre la page du répertoire Tableaux de bord, avec le tableau de bord Observabilité DNS GKE – Vue du cluster mis en surbrillance dans la liste des tableaux de bord disponibles. Lorsque vous cliquez sur ce lien, la visualisation des métriques DNS au niveau du cluster s'ouvre.

Créer des tableaux de bord personnalisés

Pour créer des tableaux de bord personnalisés et définir des alertes semblables aux métriques que vous avez surveillées, vous pouvez utiliser les outils de Google Cloud Observability, tels que l'explorateur de métriques de Cloud Monitoring.

Interroger les métriques d'observabilité DNS

Pour afficher les métriques DNS GKE pour vos clusters, procédez comme suit dans la console Google Cloud , dans l'explorateur de métriques :

  1. Accédez à la page Monitoring > Explorateur de métriques.

  2. Dans le champ Sélectionner une métrique, filtrez par kubernetes.io/networking/dns/.

  3. Les métriques KubeDNS se trouvent sous la ressource "Conteneur Kubernetes" et les métriques NodeLocalDNS sous la ressource "Nœud Kubernetes".

  4. (Facultatif) Sélectionnez les filtres en fonction des Étiquettes.

Exemples de métriques KubeDNS et NodeLocalDNS dans la console Google Cloud sous Monitoring > Explorateur de métriques :

Capture d'écran montrant les métriques KubeDNS dans la console Google Cloud

Cette capture d'écran montre la page Explorateur de métriques configurée pour interroger les métriques KubeDNS. Le champ Sélectionner une métrique affiche le chemin d'accès filtré kubernetes.io/networking/dns/kubedns/, et le graphique obtenu affiche des graphiques de séries temporelles actifs des requêtes KubeDNS et des états du cache.

Capture d'écran montrant les métriques NodeLocalDNS dans la console Google Cloud

Cette capture d'écran montre la page Explorateur de métriques configurée pour interroger les métriques NodeLocalDNS. La requête spécifie le chemin d'accès à la métrique kubernetes.io/networking/dns/node_local_dns/ sous la ressource de nœud Kubernetes, et le graphique met en évidence les graphiques de séries temporelles actifs représentant les requêtes DNS locales et les données de latence.

Liste des métriques DNS GKE

Les métriques suivantes sont disponibles pour surveiller les performances et l'état de GKE DNS.

Métriques KubeDNS

Dans GKE 1.36 et versions ultérieures, les métriques suivantes sont disponibles pour KubeDNS :

Type de métrique Description
kubernetes.io/networking/dns/kubedns/dns_request_count Nombre total de requêtes DNS reçues par KubeDNS.
kubernetes.io/networking/dns/kubedns/dns_request_latencies Histogramme du temps nécessaire à la résolution de chaque requête.
kubernetes.io/networking/dns/kubedns/dns_cache_request_count Compteur de requêtes DNS filtrées par état du cache (hit ou miss).
kubernetes.io/networking/dns/kubedns/forwarding_request_latencies Histogramme du temps nécessaire à chaque requête transférée.
kubernetes.io/networking/dns/kubedns/max_concurrent_rejected_request_count Requêtes rejetées, car le nombre maximal de requêtes simultanées a été atteint.

Pour calculer la métrique forwarding_request_count, vous pouvez utiliser la métrique kubernetes.io/networking/dns/kubedns/forwarding_request_latencies dans la requête suivante : sum by (cluster_name) (rate({"kubernetes.io/networking/dns/kubedns/forwarding_request_latencies_count"}[${__interval}])).

Par défaut, la console Google Cloud applique une opération de taux aux métriques request_count. Vous pouvez désactiver cette option dans la source PromQL.

Métriques NodeLocalDNS

Dans GKE 1.35.2-gke.1090000 et versions ultérieures, les métriques suivantes sont disponibles pour NodeLocal DNSCache :

Type de métrique Description
kubernetes.io/networking/dns/node_local_dns/dns_request_count Nombre total de requêtes DNS reçues par NodeLocal DNSCache.
kubernetes.io/networking/dns/node_local_dns/dns_request_latencies Histogramme du temps nécessaire à la résolution de chaque requête.
kubernetes.io/networking/dns/node_local_dns/dns_cache_request_count Compteur de requêtes DNS filtrées par état du cache (hit ou miss).
kubernetes.io/networking/dns/node_local_dns/forwarding_request_latencies Histogramme du temps nécessaire à chaque requête transférée.
kubernetes.io/networking/dns/node_local_dns/max_concurrent_rejected_request_count Requêtes rejetées, car le nombre maximal de requêtes simultanées a été atteint.

Pour calculer la valeur de la métrique forwarding_request_count, vous pouvez utiliser la métrique kubernetes.io/networking/dns/node_local_dns/forwarding_request_latencies dans la requête suivante : sum by (cluster_name) (rate({"kubernetes.io/networking/dns/node_local_dns/forwarding_request_latencies_count"}[${__interval}])).

Notez que lorsque vous affichez ces métriques, la consoleGoogle Cloud applique automatiquement une opération de taux aux métriques request_count, qui peut être désactivée à partir de la source PromQL.

Étapes suivantes