Diese Seite enthält Informationen zum Logging und Monitoring von Messwerten für Cloud DNS, einschließlich privater Zonen und Weiterleitungszonen. Außerdem enthält diese Seite Anweisungen zum Monitoring der Weitergabe Ihrer öffentlichen DNS-Änderungen.
Cloud DNS-Logging verwenden
Cloud DNS-Logging verfolgt Abfragen, die Nameserver für Ihre VPC-Netzwerke (Virtual Private Cloud) auflösen. Abfragen von einer externen Entität direkt an eine öffentliche Zone werden nicht in Logs erfasst, da sie von einem öffentlichen Nameserver verarbeitet werden.
In Logs erfasste Abfragen können von Compute Engine-VM-Instanzen, von Google Kubernetes Engine-Containern im selben VPC-Netzwerk, von Peering-Zonen oder von lokalen Clients, die eingehende DNS-Weiterleitung nutzen, stammen. Private DNS-Zonen, Weiterleitungs-DNS-Zonen, alternative Nameserver, interne Google Cloud DNS-Zonen oder externe DNS-Zonen können die Abfragen letztlich auflösen.
Logdatensätze gehören zu dem Projekt, das Inhaber des Netzwerks ist, das die Anfrage ausgeführt hat. Bei freigegebener VPC gehören die Logdatensätze zum Hostprojekt, da das Hostprojekt Inhaber des Netzwerks ist.
Logging aktivieren und deaktivieren
Verwenden Sie DNS-Richtlinien, um das Logging für Ihre Netzwerke zu aktivieren oder zu deaktivieren.
Führen Sie den Befehl dns policies create
aus, um das Logging für ein Netzwerk ohne DNS-Richtlinie zu aktivieren.
gcloud
gcloud dns policies create POLICY_NAME \ --networks=NETWORK \ --enable-logging \ --description=DESCRIPTION
Dabei gilt:
POLICY_NAME
: Name der DNS-RichtlinieNETWORK
: ein oder mehrere Netzwerke in einer durch Kommas getrennten ListeDESCRIPTION
: eine Beschreibung der Richtlinie
Führen Sie den Befehl dns policies update
aus, um das Logging für ein Netzwerk mit einer vorhandenen DNS-Richtlinie zu aktivieren.
gcloud
gcloud dns policies update POLICY_NAME \ --networks=NETWORK \ --enable-logging
Dabei gilt:
POLICY_NAME
: Name der DNS-RichtlinieNETWORK
: ein oder mehrere Netzwerke in einer durch Kommas getrennten Liste
Wenn Sie das Logging deaktivieren und gleichzeitig die Richtlinie beibehalten möchten, führen Sie den Befehl dns policies update
aus.
gcloud
gcloud dns policies update POLICY_NAME \ --networks=NETWORK \ --no-enable-logging
Dabei gilt:
POLICY_NAME
: Name der DNS-RichtlinieNETWORK
: ein oder mehrere Netzwerke in einer durch Kommas getrennten Liste
Zum Löschen der Richtlinie führen Sie den Befehl dns policies delete
aus.
gcloud
gcloud dns policies delete POLICY_NAME \
Ersetzen Sie POLICY_NAME
durch den Namen der DNS-Richtlinie, die Sie löschen möchten.
Logs ansehen
Console
Rufen Sie in der Google Cloud Console die Seite Logs-Explorer auf.
Felder des Datensatzformats ansehen
Jeder Logeintrag enthält ggf. die folgenden Felder. Einige Felder werden auch gemeinsam mit Monitoring-Messwerten genutzt.
Feld | Feldtyp | Beschreibung | Wird in Messwerten verwendet |
---|---|---|---|
source_type |
String | Quelle der Abfrage: inbound-forwarding , gce-vm |
Ja |
location |
String | Google Cloud-Region, z. B. us-east1 , aus der die Antwort bereitgestellt wurde |
Ja |
project_id |
String | Google Cloud-Projekt-ID des Netzwerks, von dem die Abfrage empfangen wurde | Ja |
target_type |
String | Zieltyp, der die DNS-Abfrage auflöst: private-zone , forwarding-zone , forwarding-policy , peering-zone , internal , external |
Ja |
target_name |
String | Der Zielname, z. B. Zonenname, Richtlinienname, Name der internen Zone, Name der externen Domain | Ja |
queryName |
String/DNS | DNS-Abfragename, RFC 1035 4.1.2. | Nein |
queryType |
String/DNS | DNS-Abfragetyp, RFC 1035 4.1.2. | Nein |
responseCode |
Zahl/DNS | Antwortcode, RFC 1035 4.1.1. | Nein |
rdata |
String/DNS | DNS-Antwort im Präsentationsformat, RFC 1035 5.1, verkürzt auf 260 Byte | Nein |
authAnswer |
Boolesch/DNS | Autoritative Antwort, RFC 1035 | Nein |
sourceNetwork |
String/Quelle | Netzwerk, von dem die Abfrage unser System erreicht hat | Nein |
vmInstanceId |
Quelle der Nummer | ID der VM-Instanz von Compute Engine, gilt nur für Abfragen, die von Compute Engine-VMs initiiert werden. | Nein |
vmInstanceName |
String/Quelle | Name der VM-Instanz von Compute Engine, gilt nur für Abfragen, die von Compute Engine-VMs initiiert werden. | Nein |
vmProjectId |
String/Quelle | Google Cloud-Projekt-ID des Netzwerks, von dem die Abfrage gesendet wurde; gilt nur für Abfragen, die von Compute Engine-VMs initiiert wurden | Nein |
vmZoneName |
String/Quelle | Name der verwalteten Zone, aus der die Abfrage gesendet wurde; gilt nur für Abfragen, die von Compute Engine-VMs initiiert wurden. | Nein |
sourceIP |
String/Quelle | IP, von der die Abfrage stammt. | Nein |
destinationIP |
String/Ziel | Ziel-IP, gilt nur für Weiterleitungsfälle. | Nein |
protocol |
String/DNS | TCP | UDP |
Nein |
egressError |
String | Ausgehender Proxy-Fehler, d. h. der tatsächliche vom ausgehenden Proxy ermittelte Fehler, wie er vom lokalen DNS-Server empfangen wurde. Mithilfe dieses Felds kann ein tatsächlicher SERVFAIL, der vom lokalen DNS zurückgegeben wird, von einem Netzwerkfehler des ausgehenden Proxys unterschieden werden. |
Nein |
Fehlerbehebung bei ausgehender Weiterleitung
Wenn Sie Logs mit SERVFAIL
erhalten, in denen bestimmte Felder wie destinationIP
, egressIP
und egressError
fehlen, finden Sie Informationen dazu im entsprechenden Abschnitt der Dokumentation zur Fehlerbehebung.
Messwerte überwachen
Cloud DNS exportiert Monitoring-Messwerte in Cloud Monitoring.
Sie können die Rate von DNS-Abfragen und -Antworten überwachen, die auf private Zonen, Weiterleitungszonen, Richtlinienweiterleitung, interne Google Cloud-Zonen und das Internet verweisen. Monitoring ist auf der Monitoring-Seite der Google Cloud Console und in der Cloud Monitoring API verfügbar.
Das private DNS exportiert den Deltamesswert dns.googleapis.com/query/response_count
, der das Label response_code
enthält, um die Anzahl der Abfragen pro Antwortcode zu zählen.
Das Label response_code
ist vom Typ string
mit den möglichen Werten: NOERROR
, FORMERR
, SERVFAIL
, NXDOMAIN
, NOTIMP
und UNKNOWN
.
Definitionen dieser Codes finden Sie unter IANA DNS-RCODEs.
Der Messwert wird unter dem Ressourcentyp dns_query
mithilfe der entsprechenden Felder des Eintragsformats für Logs exportiert.
Überwachen der DNS-Weitergabe
Wenn Sie Änderungen mit dem gcloud
-Befehlszeilentool oder der REST API vornehmen, werden die Änderungen anfangs als ausstehend markiert, bis der Vorgang abgeschlossen ist. Mit dem gcloud
-Tool oder der REST API können Sie den Status von Änderungen prüfen oder einen Änderungsverlauf abrufen.
Ein Vorgang ist abgeschlossen (Status done
), wenn Cloud DNS das System aktualisiert hat, das die Server steuert. Solange nicht alle Nameserver aktualisiert wurden, kann es noch zu Verzögerungen kommen.
Änderungen für eine verwaltete Zone auflisten
Mit den folgenden Optionen können Sie Änderungen für eine verwaltete Zone auflisten.
gcloud
Zum Abrufen der aktuellen Richtlinie führen Sie den Befehl dns record-sets changes list
aus:
gcloud dns record-sets changes list --zone=ZONE
Ersetzen Sie ZONE
durch den Namen der verwalteten Zone, deren Datensätze Sie verwalten möchten.
Python
Übernahme der DNS-Änderungen prüfen
Wenn Sie überwachen und prüfen möchten, ob der DNS-Nameserver Ihre Änderungen übernommen hat, können Sie die Befehle watch
und dig
verwenden. Im folgenden Beispiel wird gezeigt, wie Sie Ihren Nameserver abrufen und prüfen, ob ein Nameserver Ihrer verwalteten Zone eine Änderung an einem MX
-Eintrag vorliegt.
Zum Abrufen der Nameserver Ihrer Zone führen Sie den Befehl dns managed-zones describe
aus:
gcloud dns managed-zones describe ZONE_NAME
Ersetzen Sie ZONE_NAME
durch den Namen Ihrer Cloud DNS-Zone.
Führen Sie den folgenden dig
-Befehl aus, um zu prüfen, ob die Datensätze auf dem autoritativen Nameserver verfügbar sind:
watch dig example.com in MX @ZONE_NAME_SERVER
Ersetzen Sie ZONE_NAME_SERVER
durch einen der Nameserver aus der verwalteten Zone.
Der Befehl watch
führt standardmäßig alle zwei Sekunden den Befehl dig
aus. Sie können mit diesem Befehl festlegen, wann der autoritative Nameserver Ihre Änderung übernimmt. Dies sollte innerhalb von 120 Sekunden erfolgen. Nachdem der autoritative Nameserver die Änderung übernommen hat, können die DNS-Resolver den neuen Eintrag abrufen.
Resolver, die den vorherigen Eintrag bereits im Cache gespeichert haben, warten, bis der vorherige TTL-Wert des Eintrags abläuft.
Wenn Sie dig
für den Nameserver Ihres Systems ausführen möchten, können Sie @<address>
aus dem Befehl dig
entfernen. Wenn Sie die Weitergabe an andere Nameserver überwachen möchten, können Sie address
ändern, um auf andere Nameserver zu verweisen.
Nächste Schritte
- Wie Sie Datensätze hinzufügen, löschen oder aktualisieren, erfahren Sie unter Einträge verwalten.
- Informationen zum Erstellen, Aktualisieren, Auflisten und Löschen verwalteter Zonen finden Sie unter Zonen verwalten.
- Informationen zu Lösungen für häufige Probleme, die bei der Verwendung von Cloud DNS auftreten können finden Sie unter Fehlerbehebung.
- Informationen zur API finden Sie unter Cloud DNS REST API.
- Eine Übersicht über Cloud DNS finden Sie in der Cloud DNS-Übersicht.