Menggunakan log Cloud DNS untuk memantau rasio kegagalan DNS

Anda dapat mengaktifkan log kueri Cloud DNS di project Compute Engine dan menggunakan log tersebut untuk memantau dan membandingkan tingkat kegagalan DNS internal sebelum dan setelah migrasi ke DNS internal zonal. Entri log mencatat resolusi DNS yang berhasil dan saat DNS internal gagal menyelesaikan nama domain tertentu.

Ringkasan

Untuk menggunakan log kueri Cloud DNS guna memantau rasio kegagalan DNS internal, selesaikan langkah-langkah berikut:

  1. Dapatkan nama jaringan Virtual Private Cloud (VPC) untuk VPC yang berisi VM yang akan dipantau.
  2. Dengan menggunakan nama jaringan VPC, jalankan perintah Google Cloud CLI untuk mengaktifkan logging kueri DNS.
  3. Jalankan kueri di Logs Explorer untuk memvisualisasikan dan menyelidiki tingkat keberhasilan dan kegagalan.

Informasi harga untuk logging kueri Cloud DNS

Saat Anda mengaktifkan logging kueri Cloud DNS, hal ini akan menghasilkan sejumlah besar log, yang sebagian besar tidak terkait dengan DNS internal. Akibatnya, Anda mungkin dikenai biaya untuk menggunakan fitur ini. Secara umum, 50 GiB pertama penyimpanan log per project per bulan gratis. Setiap 50 GiB tambahan dikenai biaya $0,50 USD.

Untuk mengetahui informasi selengkapnya tentang harga, lihat Ringkasan harga Cloud Logging.

Mendapatkan nama jaringan Virtual Private Cloud (VPC)

Untuk merekam data kueri DNS, Anda harus mengaktifkan logging untuk jaringan VPC yang digunakan oleh instance komputasi Anda. Sering kali, project Google Cloud memiliki beberapa jaringan VPC. Anda dapat menggunakan perintah gcloud CLI untuk mencantumkan jaringan VPC yang digunakan oleh instance komputasi yang ingin Anda pantau.

Konsol

  1. Di konsol Google Cloud , buka halaman VM instances.

    Buka instance VM

  2. Opsional: Gunakan kotak Filter untuk membatasi jumlah instance yang ditampilkan.

  3. Klik nama instance yang ingin Anda periksa.

  4. Di bagian Networking, di bagian Network interfaces, Anda dapat melihat antarmuka jaringan (NIC) yang dibuat untuk instance, jaringan dan subnet yang terkait dengan setiap NIC, serta alamat IP yang ditetapkan.

gcloud

  • Untuk melihat jaringan VPC yang digunakan oleh semua instance komputasi dalam sebuah project, gunakan perintah gcloud compute instances list. Anda dapat menambahkan opsi --format ke perintah untuk membatasi informasi yang ditampilkan ke kolom tertentu dan mengubah cara informasinya ditampilkan, misalnya:

    gcloud compute instances list \
      --format="flattened(name,networkInterfaces[].name, \
        networkInterfaces[].network.basename(), \
        networkInterfaces[].stackType, networkInterfaces[].nicType)"
    

    Outputnya mirip dengan hal berikut ini:

    name:                           test-gvnic
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    ---
    name:                           test-multinic
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    networkInterfaces[1].name:      nic0.14
    networkInterfaces[1].network:   net0
    networkInterfaces[1].stackType: IPV4_ONLY
    networkInterfaces[2].name:      nic1
    networkInterfaces[2].network:   prod-ipv6
    networkInterfaces[2].nicType:   GVNIC
    networkInterfaces[2].stackType: IPV4_IPV6
    
  • Untuk melihat antarmuka jaringan (NIC) untuk instance komputasi tertentu dan jaringan VPC yang ditetapkan, gunakan perintah gcloud compute instances describe. Anda dapat menambahkan opsi --format ke perintah untuk membatasi informasi yang ditampilkan ke kolom tertentu dan mengubah cara informasinya ditampilkan, misalnya:

    gcloud compute instances describe INSTANCE_NAME --zone=ZONE \
      --format="flattened(name,networkInterfaces[].name, \
      networkInterfaces[].network.basename(), \
      networkInterfaces[].stackType, networkInterfaces[].nicType)"
    

    Ganti kode berikut:

    • INSTANCE_NAME: nama instance yang akan dilihat
    • ZONE: zona untuk instance yang ingin Anda lihat

    Outputnya mirip dengan hal berikut ini:

    name:                           test-instance
    networkInterfaces[0].name:      nic0
    networkInterfaces[0].network:   default
    networkInterfaces[0].nicType:   GVNIC
    networkInterfaces[0].stackType: IPV4_ONLY
    networkInterfaces[1].name:      nic1
    networkInterfaces[1].network:   prod-ipv6
    networkInterfaces[1].nicType:   GVNIC
    networkInterfaces[1].stackType: IPV4_IPV6
    networkInterfaces[1].name:      nic1.2
    networkInterfaces[1].network:   alt-ipv6-net
    networkInterfaces[1].nicType:   GVNIC
    networkInterfaces[1].stackType: IPV4_IPV6
    networkInterfaces[1].parentNicName: nic1
    

Mengaktifkan logging kueri Cloud DNS

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

Kueri yang dicatat dapat berasal dari instance 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 internal Google Cloud , atau zona DNS eksternal Google Cloud 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.

Untuk mengaktifkan logging DNS, lakukan salah satu hal berikut:

  • Buat kebijakan DNS baru dengan logging yang diaktifkan dengan menjalankan perintah gcloud dns policies create.

    gcloud dns policies create POLICY_NAME \
        --networks=NETWORK_NAMES \
        --enable-logging \
        --description="Enable DNS query logging for NETWORK_NAMES"
    
  • Jika jaringan sudah memiliki kebijakan DNS, perbarui kebijakan logging yang ada dengan menjalankan perintah gcloud dns policies update.

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

Ganti kode berikut:

  • POLICY_NAME: nama kebijakan DNS
  • NETWORK_NAMES: daftar nama jaringan yang dipisahkan koma

Untuk mengetahui petunjuk mendetail tentang cara membuat dan mengaktifkan kebijakan DNS untuk logging, lihat Menggunakan logging Cloud DNS.

Menggunakan Logs Explorer untuk melihat log dan memvisualisasikan tingkat kegagalan DNS

Setelah Anda mengaktifkan logging DNS, project akan mulai mengumpulkan log di Logs Explorer. Untuk melihat log ini, gunakan konsol Google Cloud dan buka halaman Logs Explorer.

Buka Logs Explorer

Memantau kegagalan resolusi nama DNS

Gunakan kode respons NXDOMAIN untuk mengisolasi kegagalan domain yang tidak ada. Kegagalan ini terjadi saat DNS internal gagal me-resolve nama domain tertentu.

  1. Di kotak kueri pada halaman konsol Logs Explorer, masukkan teks berikut:

    resource.type="dns_query"
    jsonPayload.queryType="A"
    jsonPayload.queryName=~"\.internal\.$"
    jsonPayload.responseCode = "NXDOMAIN"
    
  2. Klik Run query.

Memantau kueri resolusi nama yang berhasil

Gunakan kode respons NOERROR untuk mengisolasi resolusi DNS yang berhasil.

  1. Di kotak kueri pada halaman konsol Logs Explorer, masukkan teks berikut:

    resource.type="dns_query"
    jsonPayload.queryType="A"
    jsonPayload.queryName=~"\.internal\.$"
    jsonPayload.responseCode = "NOERROR"
    
  2. Klik Run query.

Menetapkan jangka waktu analisis

Anda dapat menggunakan pemilih rentang waktu log untuk mengubah jangka waktu log yang dianalisis. Pemilih ini ada di sudut kanan atas jendela Logs Explorer.

Untuk perbandingan yang efektif antara tingkat error dan keberhasilan, Anda harus mengaktifkan log kueri DNS sebelum bermigrasi untuk menggunakan DNS zonal. Google merekomendasikan agar Anda mengaktifkan logging kueri DNS setidaknya 24 jam sebelum migrasi untuk membuat tolok ukur pra-migrasi.

Setelah mengumpulkan cukup data dalam log kueri DNS, Anda dapat melakukan migrasi DNS zonal. Anda dapat memantau rasio resolusi DNS selama migrasi untuk memastikan bahwa migrasi tidak menyebabkan peningkatan kegagalan kueri DNS.

Menganalisis dan membandingkan tingkat resolusi nama DNS

Gunakan hal berikut untuk menganalisis dan membandingkan tingkat error dan keberhasilan.

  • Jumlah Log: Untuk setiap kueri dan jangka waktu, Logs Explorer menampilkan jumlah entri log yang ditemukan. Peningkatan signifikan dalam jumlah NXDOMAIN setelah migrasi untuk nama DNS yang sebelumnya diselesaikan (memiliki NOERROR) dapat menunjukkan adanya masalah.

  • Histogram: Antarmuka Logs Explorer menyertakan histogram. Saat kueri Anda dijalankan, histogram akan menampilkan frekuensi entri log yang cocok selama rentang waktu yang dipilih. Hal ini berguna untuk memvisualisasikan:

    • Rasio dasar NXDOMAIN entri log sebelum migrasi.
    • Lonjakan entri log NXDOMAIN segera setelah migrasi.
    • Perubahan pada kecepatan entri log NOERROR.

    Untuk melihat histogram, klik Preferensi, lalu klik Lihat, kemudian klik Tampilkan linimasa.

Langkah berikutnya