Halaman ini memberikan informasi tentang logging dan pemantauan metrik untuk Cloud DNS, termasuk zona publik, zona pribadi, dan zona penerusan. Halaman ini juga memberikan petunjuk untuk memantau penerapan perubahan DNS publik Anda.
Gunakan logging Cloud DNS
Logging Cloud DNS melacak kueri yang diselesaikan server nama untuk jaringan Virtual Private Cloud (VPC) Anda, serta kueri dari entity eksternal secara langsung ke zona publik.
Kueri yang dicatat dalam 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, penerusan zona DNS, server nama alternatif, zona DNS Google Cloud internal, atau zona DNS eksternal mungkin pada akhirnya menyelesaikan kueri tersebut.
Kumpulan data log adalah milik project yang memiliki jaringan atau zona publik yang menyimpan permintaan. Pada kasus VPC Bersama, data log adalah milik project host karena project host adalah pemilik jaringan.
Mengaktifkan dan menonaktifkan logging untuk zona terkelola pribadi
Gunakan kebijakan DNS untuk mengaktifkan atau menonaktifkan pencatatan log untuk jaringan Anda. Saat Anda mengaktifkan logging kueri, setiap kueri DNS ke zona terkelola pribadi Cloud DNS akan dicatat ke dalam log.
Untuk mengaktifkan logging bagi 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 DNSNETWORK
: satu atau beberapa jaringan dalam daftar yang dipisahkan komaDESCRIPTION
: deskripsi kebijakan
Untuk mengaktifkan logging bagi jaringan yang 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 daftar yang dipisahkan koma
Untuk menonaktifkan logging saat kebijakan tidak diterapkan, jalankan
perintah dns policies update
.
gcloud
gcloud dns policies update POLICY_NAME \ --networks=NETWORK \ --no-enable-logging
Ganti kode berikut:
POLICY_NAME
: nama kebijakan DNSNETWORK
: 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 zona publik terkelola yang sudah 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.
Guna menonaktifkan logging untuk zona terkelola publik yang sudah 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 logging-nya ingin Anda nonaktifkan.
Lihat log
Konsol
Di Konsol Google Cloud, buka halaman Logs Explorer.
Melihat kolom format kumpulan data
Setiap entri log memiliki kolom berikut, jika berlaku. Beberapa kolomnya 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 me-resolve nama kanonis data ALIAS. | Ya |
source_type |
String | Sumber kueri: inbound-forwarding , gce-vm |
Ya |
location |
String | Region Google Cloud, misalnya us-east1 , tempat respons ditampilkan |
Ya |
project_id |
String | ID project Google Cloud jaringan tempat kueri diterima | Ya |
target_type |
String | Jenis target yang menyelesaikan kueri DNS: private-zone , forwarding-zone ,
forwarding-policy , peering-zone , internal , external |
Ya |
target_name |
String | Nama target, misalnya nama zona, nama kebijakan, nama zona internal, nama domain eksternal | Ya |
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, dipotong menjadi 260 byte | Tidak |
authAnswer |
Boolean / DNS | Jawaban otoritatif, RFC 1035 | Tidak |
sourceNetwork |
String / Sumber | Jaringan tempat kueri mencapai sistem kami | 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 project Google Cloud untuk 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 |
sourceIP |
String / Sumber | IP asal kueri | Tidak |
destinationIP |
String / Target | Alamat IP target, hanya berlaku untuk kasus penerusan | Tidak |
protocol |
String / DNS | TCP | UDP |
Tidak |
healthyIps |
String | Kumpulan alamat IP di ResourceRecordSet yang diketahui sebagai |
Tidak |
unHealthyIps |
String | Kumpulan alamat IP di ResourceRecordSet yang diketahui sebagai |
Tidak |
egressError |
String | Error proxy keluar, 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 |
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 untuk Kemampuan Observasi Google Cloud: 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 tingkat kueri dan respons DNS yang mengarah ke zona pribadi, zona penerusan, penerusan kebijakan, zona Google Cloud internal, dan internet. Monitoring tersedia di halaman Monitoring konsol Google Cloud 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
adalah jenis string
dengan kemungkinan nilai
NOERROR
, FORMERR
, SERVFAIL
, NXDOMAIN
, NOTIMP
, dan UNKNOWN
.
Untuk definisi kode ini, lihat IANA DNS RCODE.
Metrik ini diekspor berdasarkan jenis resource dns_query
dengan menggunakan kolom yang berlaku dari format data log.
Memantau propagasi DNS
Saat Anda menggunakan Google Cloud CLI atau REST API untuk membuat perubahan, perubahan tersebut mula-mula akan 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 berhasil mengupdate sistem yang mengontrol server. Mungkin masih ada penundaan
sebelum semua server nama diperbarui.
Mencantumkan perubahan untuk zona terkelola
Untuk menampilkan daftar perubahan pada zona terkelola, jalankan perintah dns record-sets changes list
.
gcloud
Jalankan perintah
dns record-sets changes list
:
gcloud dns record-sets changes list --zone=ZONE
Ganti ZONE
dengan nama zona terkelola yang kumpulan datanya ingin Anda kelola.
Memverifikasi penerapan DNS
Untuk memantau dan memverifikasi bahwa server nama DNS telah mengambil perubahan, Anda dapat menggunakan perintah watch
dan dig
. Contoh berikut menunjukkan cara
mencari server nama dan memeriksa apakah salah satu server nama zona
terkelola telah mengambil perubahan pada data MX
.
Untuk mencari server nama zona Anda, jalankan perintah dns managed-zones describe
:
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:
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 otoritatif Anda menerima perubahan, yang akan terjadi dalam waktu 120 detik. Setelah server nama otoritatif Anda memiliki perubahan, DNS resolver dapat mulai mengambil data baru.
Resolver yang sudah memiliki data sebelumnya yang di-cache akan menunggu hingga nilai TTL sebelumnya dari data berakhir.
Untuk menjalankan dig
terhadap server nama sistem, Anda dapat menghapus @<address>
dari perintah dig
. Jika ingin memantau penerapan ke server
nama lainnya, Anda dapat mengubah address
agar mengarah ke server nama lain.
Langkah selanjutnya
- Untuk menambahkan, menghapus, dan memperbarui data, lihat artikel Menambahkan, mengubah, dan menghapus data.
- Untuk membuat, memperbarui, mencantumkan, dan menghapus zona terkelola, lihat Mengelola zona.
- Untuk menemukan solusi atas masalah umum yang mungkin Anda alami saat menggunakan Cloud DNS, lihat Pemecahan masalah.
- Untuk mereferensikan API, lihat Cloud DNS REST API.
- Untuk mendapatkan ringkasan Cloud DNS, lihat ringkasan Cloud DNS.