Halaman ini berisi informasi tentang metrik logging dan pemantauan untuk Cloud DNS, termasuk zona publik, zona pribadi, dan zona penerusan. Halaman ini juga berisi petunjuk untuk memantau propagasi perubahan DNS publik Anda.
Menggunakan logging Cloud DNS
Logging Cloud DNS melacak kueri yang di-resolve oleh server nama untuk jaringan Virtual Private Cloud (VPC)Anda, serta kueri dari entity eksternal langsung ke zona publik.
Kueri yang di-log dapat berasal dari instance virtual machine (VM) Compute Engine, container Google Kubernetes Engine di jaringan VPC yang sama, zona peering, atau klien lokal yang menggunakan penerusan DNS masuk. Zona DNS pribadi, zona DNS penerusan, server nama alternatif, zona DNSGoogle Cloud internal, atau zona DNS eksternal pada akhirnya dapat me-resolve kueri.
Data log termasuk dalam project yang memiliki jaringan atau zona publik yang membawa permintaan. Dalam kasus VPC Bersama, data log adalah milik project host karena project host memiliki jaringan.
Mengaktifkan dan menonaktifkan logging untuk zona terkelola pribadi
Gunakan kebijakan DNS untuk mengaktifkan atau menonaktifkan logging untuk jaringan Anda. Saat Anda mengaktifkan logging kueri, tiap kueri DNS ke zona terkelola pribadi Cloud DNS akan di-log.
Guna mengaktifkan logging untuk jaringan yang tidak memiliki kebijakan DNS, jalankan perintah dns policies create.
gcloud
gcloud dns policies create POLICY_NAME \
--networks=NETWORK \
--enable-logging \
--description=DESCRIPTIONGanti kode berikut:
POLICY_NAME: nama kebijakan DNSNETWORK: satu atau beberapa jaringan dalam comma separated listDESCRIPTION: deskripsi kebijakan
Untuk mengaktifkan logging untuk jaringan sudah memiliki kebijakan DNS, jalankan perintah dns policies update.
gcloud
gcloud dns policies update POLICY_NAME \
--networks=NETWORK \
--enable-logging
Ganti kode berikut:
POLICY_NAME: nama kebijakan DNSNETWORK: satu atau beberapa jaringan dalam comma separated list
Untuk menonaktifkan logging sambil tetap menerapkan kebijakan, jalankan perintah dns policies update.
gcloud
gcloud dns policies update POLICY_NAME \
--networks=NETWORK \
--no-enable-loggingGanti kode berikut:
POLICY_NAME: nama kebijakan DNSNETWORK: satu atau beberapa jaringan dalam comma separated list
Untuk menghapus kebijakan sepenuhnya, jalankan perintah dns policies delete.
gcloud
gcloud dns policies delete POLICY_NAME \
Ganti POLICY_NAME dengan nama kebijakan DNS yang ingin Anda hapus.
Mengaktifkan dan menonaktifkan logging untuk zona publik terkelola
Untuk mengaktifkan logging bagi zona publik terkelola yang ada, jalankan perintah dns managed-zones update.
gcloud
gcloud dns managed-zones update ZONE_NAME --log-dns-queries \
Ganti ZONE_NAME dengan nama zona terkelola DNS yang ingin Anda aktifkan logging-nya.
Untuk menonaktifkan logging bagi zona terkelola publik yang ada, jalankan perintah dns managed-zones update.
gcloud
gcloud dns managed-zones update ZONE_NAME --no-log-dns-queries \
Ganti ZONE_NAME dengan nama zona terkelola DNS yang ingin Anda nonaktifkan logging-nya.
Melihat log
Anda dapat melihat log di konsol Google Cloud .
Konsol
Di konsol Google Cloud , buka halaman Logs Explorer.
Melihat kolom format data
Tiap entri log memiliki kolom berikut, jika ada. Beberapa kolom juga dibagikan dengan metrik pemantauan.
| Kolom | Jenis kolom | Deskripsi | Digunakan dalam metrik |
|---|---|---|---|
alias_query_response_code |
String | Kode respons yang ditampilkan dari kueri untuk me-resolve nama kanonis data ALIAS | Ya |
authAnswer |
Boolean / DNS | Jawaban otoritatif, RFC 1035 | Tidak |
destinationIP |
String / Target | Alamat IP target, hanya berlaku untuk kasus penerusan | Tidak |
egressError |
String | Error proxy egress, error sebenarnya yang dilaporkan oleh proxy keluar saat diterima dari server DNS lokal Kolom ini dapat digunakan untuk membedakan SERVFAIL sebenarnya yang ditampilkan oleh DNS lokal dengan error jaringan yang dialami oleh proxy keluar |
Tidak |
healthyIps |
String | Kumpulan alamat IP di ResourceRecordSet yang diketahui berstatus
|
Tidak |
location |
String | RegionGoogle Cloud , misalnya us-east1, yang menjadi asal
respons disajikan |
Ya |
project_id |
String | Project IDGoogle Cloud jaringan yang menjadi asal kueri diterima | Ya |
protocol |
String / DNS | TCP | UDP |
Tidak |
queryName |
String / DNS | Nama kueri DNS, RFC 1035 4.1.2 | Tidak |
queryType |
String / DNS | Jenis kueri DNS, RFC 1035 4.1.2 | Tidak |
responseCode |
Nomor / DNS | Kode respons, RFC 1035 4.1.1 | Tidak |
rdata |
String / DNS | Jawaban DNS dalam format presentasi, RFC 1035 5.1, yang dipangkas hingga 260 byte | Tidak |
sourceIP |
String / Sumber | IP yang memulai kueri | Tidak |
sourceNetwork |
String / Sumber | Jaringan yang menjadi asal kueri sebelum mencapai sistem kami | Tidak |
source_type |
String | Sumber kueri: inbound-forwarding, gce-vm, internet, peering-zone, fqdn-forwarding-target
|
Tidak |
target_name |
String | Nama target, misalnya nama zona, nama kebijakan, nama zona internal, nama domain eksternal | Ya |
target_type |
String | Jenis target yang me-resolve kueri DNS: private-zone, forwarding-zone,
forwarding-policy, peering-zone, internal, external |
Ya |
unHealthyIps |
String | Kumpulan alamat IP di ResourceRecordSet yang diketahui berstatus
|
Tidak |
vmInstanceId |
Nomor / Sumber | ID instance VM Compute Engine, hanya berlaku untuk kueri yang dimulai oleh VM Compute Engine | Tidak |
vmInstanceName |
String / Sumber | Nama instance VM Compute Engine, hanya berlaku untuk kueri yang dimulai oleh VM Compute Engine | Tidak |
vmProjectId |
String / Sumber | Project IDGoogle Cloud jaringan yang menjadi asal kueri dikirim, hanya berlaku untuk kueri yang dimulai oleh VM Compute Engine | Tidak |
vmZoneName |
String / Sumber | Nama zona VM yang menjadi asal kueri dikirim, hanya berlaku untuk kueri yang dimulai oleh VM Compute Engine | Tidak |
Harga
Semua log Cloud DNS ditulis ke Cloud Logging. Tidak ada biaya terpisah dari Cloud DNS untuk layanan ini. Namun, log ini dapat menimbulkan biaya penyimpanan tambahan, bergantung pada ukuran log yang ditulis dan disimpan.
Untuk tujuan penghitungan, Cloud DNS menulis sekitar 5 MB data log untuk memproses 10.000 kueri DNS.
Untuk mengetahui informasi tentang harga Cloud Logging, lihat Harga Google Cloud Observability: Cloud Logging.
Memecahkan masalah penerusan keluar
Jika Anda menerima log yang berisi SERVFAIL yang tidak memiliki kolom tertentu
seperti destinationIP, egressIP, dan egressError, baca
bagian terkait dalam dokumentasi Pemecahan masalah.
Memantau metrik
Cloud DNS mengekspor metrik pemantauan ke Cloud Monitoring.
Anda dapat memantau tingkat kueri dan respons DNS yang mengarah ke zona pribadi, zona penerusan, penerusan kebijakan, zona Google Cloud internal, dan internet. Pemantauan tersedia di konsol Google Cloud halaman Monitoring dan di Cloud Monitoring API.
DNS Pribadi mengekspor metrik delta dns.googleapis.com/query/response_count yang berisi label response_code untuk menghitung jumlah kueri per kode respons.
Label response_code berjenis string dengan kemungkinan nilai
NOERROR, FORMERR, SERVFAIL, NXDOMAIN, NOTIMP, dan UNKNOWN.
Untuk mengetahui definisi kode ini, lihat
RCODE DNS IANA.
Metrik diekspor dengan jenis resource dns_query menggunakan
kolom yang berlaku dari log
format data.
Metrik deteksi ancaman DNS
Jika Anda memiliki detektor ancaman DNS yang memantau jaringan VPC, detektor akan mengekspor metrik yang dapat diuji dengan Cloud Monitoring.
Ada dua jenis metrik yang tersedia:
networksecurity.googleapis.com/dnsthreatdetector/sent_dns_log_count: Log kueri DNS yang dikirim ke penyedia Anda untuk diperiksa.networksecurity.googleapis.com/dnsthreatdetector/received_dns_threat_count: Jumlah log ancaman yang terdeteksi. Metrik ini mencakup tingkat keparahan dan jenis ancaman.
Memantau propagasi DNS
Saat Anda menggunakan Google Cloud CLI atau REST API untuk melakukan perubahan, perubahan tersebut awalnya ditandai sebagai tertunda hingga operasi selesai. Anda dapat menggunakan gcloud CLI atau REST API untuk memeriksa status perubahan atau mendapatkan histori perubahan.
Operasi selesai (status: done) saat Cloud DNS telah berhasil mengupdate sistem yang mengontrol server. Mungkin masih ada penundaan sebelum semua server nama diupdate.
Mencantumkan perubahan untuk zona terkelola
Untuk mencantumkan perubahan pada zona terkelola, jalankan perintah dns record-sets changes list.
gcloud
gcloud dns record-sets changes list --zone=ZONE
Ganti ZONE dengan nama zona terkelola yang kumpulan
datanya ingin Anda kelola.
Memverifikasi propagasi DNS
Untuk memantau dan memverifikasi bahwa server nama DNS telah mengambil perubahan Anda, Anda
dapat menggunakan perintah watch dan dig. Contoh berikut menunjukkan cara mencari server nama Anda dan memeriksa kapan salah satu server nama zona terkelola Anda telah mengambil perubahan pada data MX.
Untuk mencari server nama zona Anda, jalankan perintah dns managed-zones describe:
gcloud
gcloud dns managed-zones describe ZONE_NAME
Ganti ZONE_NAME dengan nama zona Cloud DNS Anda.
Untuk memeriksa apakah data sudah tersedia di server nama otoritatif Anda, jalankan perintah dig berikut:
gcloud
watch dig example.com in MX @ZONE_NAME_SERVER
Ganti ZONE_NAME_SERVER dengan salah satu server nama dari zona terkelola.
Perintah watch menjalankan perintah dig tiap 2 detik secara default. Anda
dapat menggunakan perintah ini untuk menentukan kapan server nama otoritatif Anda mengambil
perubahan Anda, yang akan terjadi dalam waktu 120 detik. Setelah server nama otoritatif Anda memiliki perubahan, resolver DNS dapat mulai mengambil data baru.
Resolver yang memiliki data sebelumnya yang di-cached akan menunggu hingga masa berlaku nilai TTL sebelumnya dari data tersebut berakhir.
Untuk menjalankan dig terhadap server nama sistem Anda, Anda dapat menghapus @<address>
dari perintah dig. Jika ingin memantau propagasi ke server nama lain, Anda dapat mengubah address untuk mengarah ke server nama lain.
Langkah berikutnya
- Untuk menambahkan, menghapus, dan mengupdate data, baca bagian Menambahkan, mengubah, dan menghapus data.
- Untuk membuat, mengupdate, mencantumkan, dan menghapus zona terkelola, baca bagian Mengelola zona.
- Untuk menemukan solusi atas masalah umum yang mungkin Anda alami saat menggunakan Cloud DNS, baca bagian Pemecahan masalah.
- Untuk mereferensikan API, lihat Cloud DNS REST API.
- Untuk mendapatkan ringkasan Cloud DNS, baca Ringkasan Cloud DNS.