Utilizzare i log di Cloud DNS per monitorare i tassi di errore DNS

Puoi abilitare i log delle query Cloud DNS nel tuo progetto Compute Engine e utilizzarli per monitorare e confrontare i tassi di errore del DNS interno prima e dopo la migrazione al DNS interno di zona. Le voci di log registrano la risoluzione DNS riuscita e quando il DNS interno non riesce a risolvere un determinato nome di dominio.

Panoramica

Per utilizzare i log delle query Cloud DNS per monitorare i tassi di errore del DNS interno, completa i seguenti passaggi:

  1. Recupera il nome della rete Virtual Private Cloud (VPC) per il VPC che contiene le VM da monitorare.
  2. Utilizzando i nomi delle reti VPC, esegui un comando Google Cloud CLI per attivare la registrazione delle query DNS.
  3. Esegui query in Esplora log per visualizzare e analizzare i tassi di successo e di errore.

Informazioni sui prezzi per la registrazione delle query Cloud DNS

Quando abiliti il logging delle query Cloud DNS, vengono generati molti log, molti dei quali non sono correlati al DNS interno. Di conseguenza, potresti sostenere un costo per l'utilizzo di questa funzionalità. In generale, i primi 50 GiB di spazio di archiviazione per progetto al mese sono gratuiti. Ogni 50 GB aggiuntivi costano 0,50 $USD.

Per saperne di più sui prezzi, consulta il Riepilogo dei prezzi di Cloud Logging.

Recupera i nomi delle reti Virtual Private Cloud (VPC)

Per acquisire i dati delle query DNS, devi abilitare la registrazione per la rete VPC utilizzata dall'istanza di computing. Spesso, un progetto Google Cloud ha più reti VPC. Puoi utilizzare un comando gcloud CLI per elencare le reti VPC utilizzate dalle istanze di computing che vuoi monitorare.

Console

  1. Nella console Google Cloud , vai alla pagina Istanze VM.

    Vai a Istanze VM

  2. (Facoltativo) Utilizza la casella Filtro per limitare il numero di istanze visualizzate.

  3. Fai clic sul nome dell'istanza che vuoi ispezionare.

  4. Nella sezione Networking, sotto Interfacce di rete, puoi vedere le interfacce di rete (NIC) create per l'istanza, la rete e la subnet associate a ogni NIC e i rispettivi indirizzi IP assegnati.

gcloud

  • Per visualizzare le reti VPC utilizzate da tutte le istanze di computing in un progetto, utilizza il comando gcloud compute instances list. Puoi aggiungere un'opzione --format al comando per limitare le informazioni restituite a campi specifici e modificare la modalità di visualizzazione delle informazioni, ad esempio:

    gcloud compute instances list \
      --format="flattened(name,networkInterfaces[].name, \
        networkInterfaces[].network.basename(), \
        networkInterfaces[].stackType, networkInterfaces[].nicType)"
    

    L'output è simile al seguente:

    name:                           test-gvnic
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    ---
    name:                           test-multinic
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    networkInterfaces[1].name:      nic0.14
    networkInterfaces[1].network:   net0
    networkInterfaces[1].stackType: IPV4_ONLY
    networkInterfaces[2].name:      nic1
    networkInterfaces[2].network:   prod-ipv6
    networkInterfaces[2].nicType:   GVNIC
    networkInterfaces[2].stackType: IPV4_IPV6
    
  • Per visualizzare le interfacce di rete (NIC) di un'istanza di computing specifica e le reti VPC assegnate, utilizza il comando gcloud compute instances describe. Puoi aggiungere un'opzione --format al comando per limitare le informazioni restituite a campi specifici e modificare la modalità di visualizzazione delle informazioni, ad esempio:

    gcloud compute instances describe INSTANCE_NAME --zone=ZONE \
      --format="flattened(name,networkInterfaces[].name, \
      networkInterfaces[].network.basename(), \
      networkInterfaces[].stackType, networkInterfaces[].nicType)"
    

    Sostituisci quanto segue:

    • INSTANCE_NAME: il nome dell'istanza da visualizzare
    • ZONE: la zona dell'istanza che vuoi visualizzare

    L'output è simile al seguente:

    name:                           test-instance
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    networkInterfaces[1].name:      nic1
    networkInterfaces[1].network:   prod-ipv6
    networkInterfaces[1].nicType:   GVNIC
    networkInterfaces[1].stackType: IPV4_IPV6
    networkInterfaces[1].name:      nic1.2
    networkInterfaces[1].network:   alt-ipv6-net
    networkInterfaces[1].nicType:   GVNIC
    networkInterfaces[1].stackType: IPV4_IPV6
    networkInterfaces[1].parentNicName: nic1
    

Abilita il logging delle query Cloud DNS

Il logging di Cloud DNS monitora le query che i server dei nomi risolvono per le tue reti VPC, nonché le query da un'entità esterna direttamente a una zona pubblica.

Le query registrate possono provenire da istanze Compute Engine, container Google Kubernetes Engine nella stessa rete VPC, zone di peering o client on-premise che utilizzano l'inoltro DNS in entrata. Le zone DNS private, le zone DNS di forwarding, i server dei nomi alternativi, le zone DNS Google Cloud interne o le zone DNS esterne potrebbero finire per risolvere le query.

I record di log appartengono al progetto proprietario della rete o della zona pubblica che ha eseguito la richiesta. Nel caso del VPC condiviso, i record di log appartengono al progetto host perché è il proprietario della rete.

Per attivare la registrazione DNS, esegui una delle seguenti operazioni:

  • Crea una nuova policy DNS con il logging abilitato eseguendo il comando gcloud dns policies create.

    gcloud dns policies create POLICY_NAME \
        --networks=NETWORK_NAMES \
        --enable-logging \
        --description="Enable DNS query logging for NETWORK_NAMES"
    
  • Se la rete ha già una policy DNS, aggiorna la policy di logging esistente eseguendo il comando gcloud dns policies update.

    gcloud dns policies update POLICY_NAME \
       --networks=NETWORK_NAMES \
       --enable-logging \
    

Sostituisci quanto segue:

  • POLICY_NAME: il nome della policy DNS
  • NETWORK_NAMES: un elenco separato da virgole di nomi di rete

Per istruzioni dettagliate su come creare e attivare le policy DNS per la registrazione, consulta Utilizzare il logging di Cloud DNS.

Utilizzare Esplora log per visualizzare i log e visualizzare i tassi di errore DNS

Dopo aver abilitato il logging DNS, il progetto inizia ad accumulare log in Esplora log. Per visualizzare questi log, utilizza la console Google Cloud e vai alla pagina Esplora log.

Vai a Esplora log

Monitorare gli errori di risoluzione dei nomi DNS

Utilizza il codice di risposta NXDOMAIN per isolare gli errori relativi a domini inesistenti. Questi errori si verificano quando il DNS interno non riesce a risolvere un determinato nome di dominio.

  1. Nella casella di query della pagina della console Esplora log, inserisci il seguente testo:

    resource.type="dns_query"
    jsonPayload.queryType="A"
    jsonPayload.queryName=~"\.internal\.$"
    jsonPayload.responseCode = "NXDOMAIN"
    
  2. Fai clic su Esegui query.

Monitora le query di risoluzione dei nomi riuscite

Utilizza il codice di risposta NOERROR per isolare la risoluzione DNS riuscita.

  1. Nella casella di query della pagina della console Esplora log, inserisci il seguente testo:

    resource.type="dns_query"
    jsonPayload.queryType="A"
    jsonPayload.queryName=~"\.internal\.$"
    jsonPayload.responseCode = "NOERROR"
    
  2. Fai clic su Esegui query.

Stabilire un periodo di tempo per l'analisi

Puoi utilizzare il selettore dell'intervallo di tempo dei log per modificare il periodo di tempo per i log analizzati. Questo selettore si trova nell'angolo in alto a destra della finestra di Esplora log.

Per un confronto efficace dei tassi di errore e di successo, devi attivare i log delle query DNS prima di eseguire la migrazione all'utilizzo del DNS di zona. Google consiglia di abilitare la registrazione delle query DNS almeno 24 ore prima della migrazione per stabilire una baseline pre-migrazione.

Dopo aver raccolto dati sufficienti nei log delle query DNS, puoi eseguire la migrazione del DNS di zona. Puoi monitorare i tassi di risoluzione DNS durante la migrazione per assicurarti che non causi un aumento degli errori di query DNS.

Analizzare e confrontare i tassi di risoluzione dei nomi DNS

Utilizza quanto segue per analizzare e confrontare i tassi di errore e di successo.

  • Conteggi log: per ogni query e periodo di tempo, Esplora log mostra il numero di voci di log trovate. Un aumento significativo dei conteggi NXDOMAIN post-migrazione per i nomi DNS che in precedenza venivano risolti (avevano NOERROR) potrebbe indicare un problema.

  • Istogramma: l'interfaccia di Esplora log include un istogramma. Quando vengono eseguite le query, l'istogramma mostra la frequenza delle voci di log corrispondenti nell'intervallo di tempo selezionato. Questa opzione è utile per visualizzare:

    • Un tasso di base di NXDOMAIN voci di log prima della migrazione.
    • Eventuali picchi nelle voci di log di NXDOMAIN subito dopo la migrazione.
    • Variazioni della frequenza delle voci di log NOERROR.

    Per visualizzare l'istogramma, fai clic su Preferenze, poi su Visualizza e infine su Mostra sequenza temporale.

Passaggi successivi