Menggunakan logging dan pemantauan

Halaman ini memberikan informasi tentang metrik logging dan pemantauan untuk Cloud DNS, termasuk zona publik, zona pribadi, dan zona penerusan. Halaman ini juga memberikan petunjuk untuk memantau propagasi perubahan DNS publik Anda.

Menggunakan logging Cloud DNS

Pencatatan aktivitas Cloud DNS melacak kueri yang di-resolve server nama untuk jaringan Virtual Private Cloud (VPC) Anda, serta kueri dari entitas eksternal langsung ke zona publik.

Kueri yang dicatat 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 DNS Google Cloud internal, atau zona DNS eksternal pada akhirnya dapat menyelesaikan kueri.

Catatan log termasuk dalam project yang memiliki jaringan atau zona publik yang membawa permintaan. Dalam kasus VPC Bersama, catatan 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, setiap kueri DNS ke zona pribadi terkelola Cloud DNS akan dicatat.

Untuk 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=DESCRIPTION

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan DNS
  • NETWORK: satu atau beberapa jaringan dalam daftar yang dipisahkan koma
  • DESCRIPTION: deskripsi kebijakan

Untuk mengaktifkan logging untuk jaringan yang memiliki kebijakan DNS yang ada, jalankan perintah dns policies update.

gcloud

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

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan DNS
  • NETWORK: satu atau beberapa jaringan dalam daftar yang dipisahkan koma

Untuk menonaktifkan logging sambil tetap menerapkan kebijakan, jalankan perintah dns policies update.

gcloud

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

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan DNS
  • NETWORK: satu atau beberapa jaringan dalam daftar yang dipisahkan koma

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 untuk 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 pencatatannya.

Untuk menonaktifkan logging untuk 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 DNS terkelola yang ingin Anda nonaktifkan pencatatannya.

Melihat log

Anda dapat melihat log di konsol Google Cloud .

Konsol

Di konsol Google Cloud , buka halaman Logs Explorer.

Buka Logs Explorer

Melihat kolom format data

Setiap 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 (Pratinjau) String Kode respons yang ditampilkan dari kueri untuk menyelesaikan nama kanonis catatan ALIAS Ya
authAnswer Boolean / DNS Jawaban resmi, RFC 1035 Tidak
destinationIP String / Target Alamat IP target, hanya berlaku untuk kasus penerusan Tidak
egressError String

Error proxy traffic keluar, error sebenarnya yang dilaporkan oleh proxy traffic 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 HEALTHY ke Cloud DNS pada saat kueri

Tidak
location String Google Cloud region, misalnya us-east1, tempat respons ditayangkan Ya
project_id String Google Cloud project ID jaringan tempat 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, dipangkas hingga 260 byte Tidak
sourceIP String / Sumber IP yang memulai kueri Tidak
sourceNetwork String / Sumber Jaringan dari mana kueri 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 menyelesaikan kueri DNS: private-zone, forwarding-zone, forwarding-policy, peering-zone, internal, external Ya
unHealthyIps String

Kumpulan alamat IP di ResourceRecordSet yang diketahui UNHEALTHY ke Cloud DNS pada saat kueri

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 ID projectGoogle Cloud jaringan tempat kueri dikirim, hanya berlaku untuk kueri yang dimulai oleh VM Compute Engine Tidak
vmZoneName String / Sumber Nama zona VM tempat 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, lihat bagian terkait dalam dokumentasi Pemecahan masalah.

Memantau metrik

Cloud DNS mengekspor metrik pemantauan ke Cloud Monitoring.

Anda dapat memantau rasio kueri dan respons DNS yang mengarah ke zona pribadi, zona penerusan, penerusan kebijakan, zona internal Google Cloud , 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 rekaman.

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 memperbarui sistem yang mengontrol server. Mungkin masih ada penundaan sebelum semua server nama diperbarui.

Mencantumkan perubahan untuk zona terkelola

Untuk mencantumkan perubahan 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 set datanya ingin Anda kelola.

Memverifikasi propagasi DNS

Untuk memantau dan memverifikasi bahwa server nama DNS telah menerima 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 setiap 2 detik secara default. Anda dapat menggunakan perintah ini untuk menentukan kapan server nama tepercaya Anda mengambil perubahan Anda, yang akan terjadi dalam waktu 120 detik. Setelah server nama otoritatif Anda memiliki perubahan, pemecah masalah DNS dapat mulai mengambil data baru. Resolver yang sudah memiliki cache data sebelumnya menunggu hingga nilai TTL data sebelumnya 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