Questa pagina fornisce informazioni sulle metriche di logging e monitoraggio per Cloud DNS,incluse zone pubbliche,zone private e zone di forwarding.Questa pagina fornisce anche istruzioni per monitorare la propagazione delle modifiche al DNS pubblico.
Utilizza la registrazione di Cloud DNS
La registrazione di Cloud DNS monitora le query che i server dei nomi risolvono per le tue reti Virtual Private Cloud (VPC), nonché le query di un'entità esterna direttamente a una zona pubblica.
Le query registrate possono provenire da istanze di macchine virtuali (VM) Compute Engine, da container Google Kubernetes Engine nella stessa rete VPC, da zone di peering o da client on-premise che utilizzano l'inoltro DNS in entrata. Le zone DNS private, le zone DNS di inoltro, i nameserver alternativi, le zone DNS interne o le zone DNS esterne potrebbero alla fine risolvere le query.Google Cloud
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 progetto host è proprietario della rete.
Attivare e disattivare la registrazione per le zone gestite private
Utilizza le policy DNS per attivare o disattivare la registrazione per le tue reti. Quando abiliti il logging delle query, viene registrata ogni query DNS a una zona gestita privata di Cloud DNS.
Per abilitare la registrazione per una rete che non dispone di una policy DNS, esegui il comando
dns policies create
.
gcloud
gcloud dns policies create POLICY_NAME \ --networks=NETWORK \ --enable-logging \ --description=DESCRIPTION
Sostituisci quanto segue:
POLICY_NAME
: il nome della policy DNSNETWORK
: una o più reti in un elenco separato da virgoleDESCRIPTION
: una descrizione della norma
Per abilitare la registrazione per una rete con una policy DNS esistente, esegui il comando
dns policies update
.
gcloud
gcloud dns policies update POLICY_NAME \ --networks=NETWORK \ --enable-logging
Sostituisci quanto segue:
POLICY_NAME
: il nome della policy DNSNETWORK
: una o più reti in un elenco separato da virgole
Per disattivare la registrazione lasciando in vigore la policy, esegui il comando
dns policies update
.
gcloud
gcloud dns policies update POLICY_NAME \ --networks=NETWORK \ --no-enable-logging
Sostituisci quanto segue:
POLICY_NAME
: il nome della policy DNSNETWORK
: una o più reti in un elenco separato da virgole
Per eliminare completamente la policy, esegui il comando
dns policies delete
.
gcloud
gcloud dns policies delete POLICY_NAME \
Sostituisci POLICY_NAME
con il nome della policy DNS che
vuoi eliminare.
Attivare e disattivare la registrazione per le zone pubbliche gestite
Per attivare la registrazione 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 per cui vuoi abilitare la registrazione.
Per disattivare la registrazione 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 per cui vuoi disattivare la registrazione.
Visualizza i log
Puoi visualizzare i log nella console Google Cloud .
Console
Nella console Google Cloud , vai alla pagina Esplora log.
Visualizzare i campi del formato del record
Ogni voce di log ha i seguenti campi, se applicabile. Alcuni campi vengono condivisi anche con le metriche di monitoraggio.
Campo | Tipo di campo | Descrizione | Utilizzato nelle metriche |
---|---|---|---|
alias_query_response_code (anteprima) |
Stringa | Il codice di risposta restituito dalla query per risolvere il nome canonico del record ALIAS | Sì |
authAnswer |
Booleano / DNS | Risposta autorevole, RFC 1035 | No |
destinationIP |
Stringa / Target | Indirizzo IP di destinazione, applicabile solo ai casi di inoltro | No |
egressError |
Stringa | Errore del proxy di uscita, l'errore effettivo segnalato dal proxy di uscita come ricevuto dal server DNS on-premise Questo campo può essere utilizzato per distinguere un SERVFAIL effettivo restituito dal DNS on-premise da un errore di rete rilevato dal proxy di uscita |
No |
healthyIps |
Stringa | Set di indirizzi IP in ResourceRecordSet noti per essere
|
No |
location |
Stringa | Google Cloud , ad esempio us-east1 , da cui
è stata pubblicata la risposta |
Sì |
project_id |
Stringa | Google Cloud ID progetto della rete da cui è stata ricevuta la query | Sì |
protocol |
Stringa / DNS | TCP | UDP |
No |
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 |
sourceIP |
Stringa / origine | IP di origine della query | No |
sourceNetwork |
Stringa / origine | Rete da cui la query ha raggiunto il nostro sistema | No |
source_type |
Stringa | Fonte della query: inbound-forwarding , gce-vm , internet , peering-zone , fqdn-forwarding-target
|
No |
target_name |
Stringa | Il nome della destinazione, ad esempio nome della zona, nome della norma, nome della zona interna, nome di dominio esterno | Sì |
target_type |
Stringa | Tipo di destinazione che risolve la query DNS: private-zone , forwarding-zone ,
forwarding-policy , peering-zone , internal , external |
Sì |
unHealthyIps |
Stringa | Set di indirizzi IP in ResourceRecordSet noti per essere
|
No |
vmInstanceId |
Numero / origine | ID istanza VM di Compute Engine, applicabile solo alle query avviate dalle VM di Compute Engine | No |
vmInstanceName |
Stringa / origine | Nome dell'istanza VM di Compute Engine, applicabile solo alle query avviate dalle VM di Compute Engine | No |
vmProjectId |
Stringa / origine | ID progettoGoogle Cloud della rete da cui è stata inviata la query, applicabile solo alle query avviate dalle VM Compute Engine | No |
vmZoneName |
Stringa / origine | Nome della zona VM da cui è stata inviata la query, applicabile solo alle query avviate dalle VM di Compute Engine | No |
Prezzi
Tutti i log di Cloud DNS vengono scritti in Cloud Logging. Non è previsto un addebito separato da Cloud DNS per questo servizio. Tuttavia, questi log possono comportare costi di archiviazione aggiuntivi a seconda delle dimensioni dei log scritti e archiviati.
Ai fini del calcolo, Cloud DNS scrive circa 5 MB di dati di log per l'elaborazione di 10.000 query DNS.
Per informazioni sui prezzi di Cloud Logging, consulta Prezzi di Google Cloud Observability: Cloud Logging.
Risolvere i problemi di inoltro in uscita
Se ricevi log contenenti SERVFAIL
a cui mancano determinati campi
come destinationIP
, egressIP
e egressError
, consulta la
sezione correlata nella documentazione per la risoluzione dei problemi.
Monitorare le metriche
Cloud DNS esporta le metriche di monitoraggio in Cloud Monitoring.
Puoi monitorare la frequenza delle query e delle risposte DNS che puntano a zone private, zone di forwarding, forwarding dei criteri, zone interne e internet. Google Cloud Il monitoraggio è disponibile nella console Google Cloud pagina Monitoring e nell'API Cloud Monitoring.
Il DNS privato esporta la metrica delta dns.googleapis.com/query/response_count
che contiene l'etichetta response_code
per conteggiare il numero di query per
codice di risposta.
L'etichetta response_code
è di tipo string
con i valori possibili
NOERROR
, FORMERR
, SERVFAIL
, NXDOMAIN
, NOTIMP
e UNKNOWN
.
Per le definizioni di questi codici, consulta la pagina
IANA DNS RCODEs.
La metrica viene esportata con il tipo di risorsa dns_query
utilizzando i campi applicabili del formato del record del log.
Metriche di rilevamento delle minacce DNS
Quando hai un rilevatore di minacce DNS che monitora la tua rete VPC, il rilevatore esporta metriche che possono essere esaminate con Cloud Monitoring.
Sono disponibili due tipi di metriche:
networksecurity.googleapis.com/protectivedns/sent_dns_log_count
: log delle query DNS inviati al tuo provider per l'ispezione.networksecurity.googleapis.com/protectivedns/received_dns_log_count
: Il numero di log delle minacce rilevati. Questa metrica include la gravità e il tipo di minaccia.
Monitorare la propagazione DNS
Quando utilizzi Google Cloud CLI o l'API REST per apportare modifiche, queste vengono inizialmente contrassegnate come in attesa fino al completamento dell'operazione. Puoi utilizzare gcloud CLI o l'API REST per controllare lo stato delle modifiche o ottenere una cronologia delle modifiche.
Un'operazione viene completata (stato: done
) quando Cloud DNS ha
aggiornato correttamente il sistema che controlla i server. Potrebbero verificarsi
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
gcloud dns record-sets changes list --zone=ZONE
Sostituisci ZONE
con il nome della zona gestita di cui vuoi gestire i record set.
Verifica la propagazione DNS
Per monitorare e verificare che il server dei nomi DNS abbia rilevato le modifiche, puoi
utilizzare i comandi watch
e dig
. Il seguente esempio mostra come
cercare il tuo server dei nomi e controllare quando uno dei server dei nomi della tua zona gestita
ha rilevato una modifica a un record MX
.
Per cercare i server dei nomi della tua zona, esegui il comando
dns managed-zones describe
:
gcloud
gcloud dns managed-zones describe ZONE_NAME
Sostituisci ZONE_NAME
con il nome della tua zona Cloud DNS.
Per verificare se i record sono già disponibili sul server dei nomi autorevole,
esegui il seguente comando dig
:
gcloud
watch dig example.com in MX @ZONE_NAME_SERVER
Sostituisci ZONE_NAME_SERVER
con uno dei server dei nomi della zona gestita.
Il comando watch
esegue il comando dig
ogni 2 secondi per impostazione predefinita. Puoi
utilizzare questo comando per determinare quando il server dei nomi autorevole rileva
la modifica, che dovrebbe avvenire entro 120 secondi. Dopo che il server dei nomi autorevole ha ricevuto la modifica, i resolver DNS possono iniziare a rilevare il nuovo record.
I resolver che hanno già memorizzato nella cache il record precedente attendono la scadenza del valore TTL precedente del record.
Per eseguire dig
sul server dei nomi del sistema, puoi rimuovere @<address>
dal comando dig
. Se vuoi monitorare la propagazione ad altri server dei nomi, puoi modificare address
in modo che punti ad altri server dei nomi.
Passaggi successivi
- Per aggiungere, eliminare e aggiornare i record, vedi Aggiungere, modificare ed eliminare i record.
- Per creare, aggiornare, elencare ed eliminare le zone gestite, vedi Gestione delle zone.
- Per trovare soluzioni ai problemi comuni che potresti riscontrare durante l'utilizzo di Cloud DNS, consulta la sezione Risoluzione dei problemi.
- Per fare riferimento all'API, consulta API REST Cloud DNS.
- Per una panoramica di Cloud DNS, consulta la sezione Panoramica di Cloud DNS.