Utilizzo di logging e monitoraggio

Questa pagina fornisce informazioni sulle metriche di logging e monitoraggio per Cloud DNS che include zone pubbliche, zone private e zone di inoltro. Anche in questa pagina Fornisce istruzioni per monitorare la propagazione delle modifiche al DNS pubblico.

Utilizza il logging di Cloud DNS

Il logging di Cloud DNS monitora le query che i server dei nomi risolvono per il tuo Reti Virtual Private Cloud (VPC), nonché query da un'entità esterna direttamente in una zona pubblica.

Le query registrate possono provenire da istanze di macchine virtuali (VM) Compute Engine, nei container di Google Kubernetes Engine nella stessa rete VPC, zone di peering o Client on-premise che utilizzano DNS in entrata l'inoltro. Zone DNS private, zone DNS di forwarding, server dei nomi alternativi, interno Le zone DNS di Google Cloud o le zone DNS esterne potrebbero essere risolte le query.

I record di log appartengono al progetto proprietario della rete o della zona pubblica che ha portato la richiesta. Nel caso di VPC condiviso, i record dei log appartengono al progetto host perché quest'ultimo è il proprietario in ogni rete.

Abilita e disabilita il logging per zone gestite private

Utilizza i criteri DNS per attivare o disattivare il logging per le tue reti. Quando attivi log delle query, ogni query DNS a un server Cloud DNS privato viene registrata nel log della zona gestita.

Per abilitare il logging per una rete che non dispone di un criterio DNS, esegui Comando dns policies create.

gcloud

gcloud dns policies create POLICY_NAME \
    --networks=NETWORK \
    --enable-logging \
    --description=DESCRIPTION

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio DNS
  • NETWORK: una o più reti in un elenco separato da virgole
  • DESCRIPTION: una descrizione del criterio

Per abilitare il logging per una rete che dispone di un criterio DNS esistente, esegui Comando dns policies update.

gcloud

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

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio DNS
  • NETWORK: una o più reti in un elenco separato da virgole

Per disattivare il logging senza modificare il criterio, esegui il comando Comando dns policies update.

gcloud

gcloud dns policies update POLICY_NAME \
    --networks=NETWORK \
    --no-enable-logging

Sostituisci quanto segue:

  • POLICY_NAME: il nome del criterio DNS
  • NETWORK: una o più reti in un elenco separato da virgole

Per eliminare completamente il criterio, esegui il comando Comando dns policies delete.

gcloud

gcloud dns policies delete POLICY_NAME \

Sostituisci POLICY_NAME con il nome del criterio DNS che da eliminare.

Abilita e disabilita il logging per le zone pubbliche gestite

Per attivare il logging per una zona pubblica gestita esistente, esegui il Comando dns managed-zones update.

gcloud

gcloud dns managed-zones update ZONE_NAME --log-dns-queries \

Sostituisci ZONE_NAME con il nome della zona gestita DNS che per cui vuoi abilitare il logging.

Per disattivare il logging per una zona gestita pubblica esistente, esegui il Comando dns managed-zones update.

gcloud

gcloud dns managed-zones update ZONE_NAME --no-log-dns-queries \

Sostituisci ZONE_NAME con il nome della zona gestita DNS che per cui vuoi disabilitare il logging.

Visualizza i log

Console

Nella console Google Cloud, vai alla pagina Esplora log.

Vai a Esplora log

Visualizza i campi del formato record

Ogni voce di log include i seguenti campi, se applicabili. Alcuni dei campi sono condivise anche con le metriche di monitoraggio.

Campo Tipo di campo Descrizione In uso nelle metriche
alias_query_response_code (anteprima) Stringa Il codice di risposta restituito dalla query per risolvere il problema un nome canonico.
source_type Stringa Origine della query: inbound-forwarding, gce-vm
location Stringa Regione Google Cloud, ad esempio us-east1, da cui è stata fornita la risposta
project_id Stringa L'ID progetto Google Cloud della rete da cui è stata generata la query ricevute
target_type Stringa Tipo di target che risolve la query DNS: private-zone, forwarding-zone, forwarding-policy, peering-zone, internal e external
target_name Stringa Il nome della destinazione, ad esempio nome della zona, nome del criterio, nome della zona interna nome dominio esterno
queryName Stringa / DNS Nome query DNS, RFC 1035 4.1.2. No
queryType Stringa / DNS Tipo di query DNS, RFC 1035 4.1.2. No
responseCode Numero / DNS Codice di risposta, RFC 1035 4.1.1. No
rdata Stringa / DNS Risposta DNS in formato di presentazione, RFC 1035 5.1, troncata a 260 byte No
authAnswer Booleano / DNS Risposta autorevole: RFC 1035 No
sourceNetwork Stringa / Sorgente Rete da cui la query ha raggiunto il nostro sistema No
vmInstanceId Numero / fonte ID dell'istanza VM di Compute Engine, applicabile solo alle query avviate VM di Compute Engine No
vmInstanceName Stringa / Sorgente Nome dell'istanza VM di Compute Engine, applicabile solo alle query avviate da VM di Compute Engine No
vmProjectId Stringa / Sorgente L'ID progetto Google Cloud della rete da cui è stata inviata la query. applicabile solo alle query avviate dalle VM di Compute Engine No
vmZoneName Stringa / Sorgente Nome della zona VM da cui è stata inviata la query, applicabile solo a query avviate dalle VM di Compute Engine No
sourceIP Stringa / Sorgente IP che ha originato la query No
destinationIP Stringa / Target Indirizzo IP di destinazione, applicabile solo per i casi di inoltro No
protocol Stringa / DNS TCP | UDP No
healthyIps Stringa

Insieme di indirizzi IP in ResourceRecordSet che sono noti per essere HEALTHY a Cloud DNS al momento della query

No
unHealthyIps Stringa

Insieme di indirizzi IP nel ResourceRecordSet noto per essere UNHEALTHY a Cloud DNS al momento della query

No
egressError Stringa

Errore del proxy in uscita, l'errore effettivo segnalato dal proxy in uscita come ricevute dal server DNS on-premise

Questo campo può essere utilizzato per differenziare un SERVFAIL effettivo restituito dalla DNS on-premise rispetto a un errore di rete riscontrato dal proxy in uscita.

No

Prezzi

Tutti i log di Cloud DNS vengono scritti in Cloud Logging. Non sono presenti un addebito separato da Cloud DNS per questo servizio. Tuttavia, questi log può comportare costi di archiviazione aggiuntivi a seconda delle dimensioni dei log vengono scritte e archiviate.

A scopo di calcolo, Cloud DNS scrive circa 5 MB di log per l'elaborazione di 10.000 query DNS.

Per informazioni sui prezzi di Cloud Logging, consulta Prezzi per Google Cloud Observability: Cloud Logging.

Risolvere i problemi relativi all'inoltro in uscita

Se ricevi log contenenti SERVFAIL in cui mancano alcuni campi come destinationIP, egressIP e egressError, consulta le sezione relativa alla risoluzione dei problemi nella documentazione.

Monitora le metriche

Cloud DNS esporta le metriche di monitoraggio Cloud Monitoring.

Puoi monitorare la frequenza delle query e delle risposte DNS che rimandano agli indirizzi zone, zone di forwarding, forwarding criteri, zone interne Google Cloud e su internet. Il monitoraggio è disponibile nella console Google Cloud Pagina Monitoring e API Cloud Monitoring.

Il DNS privato esporta la metrica delta dns.googleapis.com/query/response_count che contiene l'etichetta response_code per contare il numero di query per codice di risposta.

L'etichetta response_code è di tipo string con i possibili valori di NOERROR, FORMERR, SERVFAIL, NXDOMAIN, NOTIMP e UNKNOWN. Per le definizioni di questi codici, consulta RCODE DNS IANA.

La metrica viene esportata nel tipo di risorsa dns_query utilizzando la proprietà campi applicabili del log formato di registrazione.

Monitora la propagazione DNS

Quando utilizzi Google Cloud CLI o l'API REST per apportare modifiche, queste vengono contrassegnati inizialmente come in attesa fino al completamento dell'operazione. Puoi utilizza gcloud CLI o l'API REST per verificare lo stato delle modifiche o visualizzare una cronologia delle modifiche.

Viene completata un'operazione (stato: done) quando Cloud DNS ha ha aggiornato correttamente il sistema che controlla i server. Potrebbero esserci ancora ritardi prima che tutti i server dei nomi vengano aggiornati.

Elenco delle modifiche per una zona gestita

Per elencare le modifiche per una zona gestita, esegui il comando dns record-sets changes list.

gcloud

Esegui dns record-sets changes list. :

gcloud dns record-sets changes list --zone=ZONE

Sostituisci ZONE con il nome della zona gestita la cui set di record che vuoi gestire.

Verifica la propagazione DNS

Per monitorare e verificare che il server dei nomi DNS abbia rilevato le modifiche, devi puoi usare i comandi watch e dig. L'esempio seguente mostra come per cercare il server dei nomi e vedere quando uno dei nodi della zona gestita server dei nomi ha rilevato una modifica in un record MX.

Per cercare i server dei nomi della zona, esegui dns managed-zones describe :

gcloud dns managed-zones describe ZONE_NAME

Sostituisci ZONE_NAME con il nome del tuo Cloud DNS zona di destinazione.

Per verificare se i record sono ancora disponibili sul tuo server dei nomi autorevole, esegui questo comando dig:

watch dig example.com in MX @ZONE_NAME_SERVER

Sostituisci ZONE_NAME_SERVER con uno dei server dei nomi da la zona gestita.

Per impostazione predefinita, il comando watch esegue il comando dig ogni 2 secondi. Tu puoi utilizzare questo comando per determinare quando il tuo server dei nomi autorevole risponde la modifica, che dovrebbe avvenire entro 120 secondi. Dopo che i tuoi dati server dei nomi ha apportato la modifica, i resolver DNS possono iniziare a rilevare il nuovo record. I resolver che hanno già il record precedente memorizzato nella cache attendono il valore TTL precedente del record per scadere.

Per eseguire dig sul server dei nomi del tuo sistema, puoi rimuovere @<address> dal comando dig. Se vuoi monitorare la propagazione a un altro nome puoi modificare address in modo che punti ad altri server dei nomi.

Passaggi successivi