Mengonfigurasi logging permintaan

Halaman ini menunjukkan cara mengonfigurasi logging permintaan untuk Media CDN.

Aktifkan log

Logging dinonaktifkan secara default untuk meminimalkan data yang disimpan. Log dirutekan, difilter, dan disimpan di Cloud Logging.

  • Aktifkan logging untuk layanan Media CDN tertentu:

    gcloud edge-cache services update YOUR_SERVICE \
       --enable-logging \
       --logging-sample-rate=1.0
    
  • Menonaktifkan logging:

    gcloud edge-cache services update YOUR_SERVICE \
       --no-enable-logging
    
  • Mendapatkan status logging saat ini di layanan:

    gcloud edge-cache services describe YOUR_SERVICE
    

    Outputnya mirip dengan hal berikut ini:

    ...
    logConfig:
     enable: true
     sampleRate: 1.0
    ...
    

Menetapkan frekuensi sampling log

Untuk permintaan dalam jumlah besar, Anda dapat mengambil sampel log dan mengandalkan metrik untuk pemantauan dan investigasi proaktif, bukan mengambil log untuk setiap permintaan.

Untuk hanya menyerap dan menyimpan log untuk 10% permintaan Anda, tetapkan logConfig.sampleRate ke 0.1:

gcloud edge-cache services update YOUR_SERVICE \
    --enable-logging \
    --logging-sample-rate=0.1

Logging harus diaktifkan untuk mengubah frekuensi sampling.

Kecuali jika ditentukan lain, frekuensi sampling secara default adalah 0 (0%), yang mencatat setiap permintaan untuk layanan yang dikonfigurasi.

Log kueri

Untuk membuat kueri log, Anda dapat menggunakan Logs Explorer di Konsol Google Cloud, atau Anda dapat menggunakan Google Cloud CLI.

Untuk melihat log di konsol Google Cloud, filter jenis resource Media CDN dan (opsional) menurut project dan nama layanan.

Kueri logging berikut menampilkan log untuk semua layanan Media CDN Anda:

resource.type="edgecache.googleapis.com/EdgeCacheRouteRule"

Untuk memfilter log yang terkait dengan resource dan project EdgeCacheService tertentu, perluas kueri ini:

resource.type="edgecache.googleapis.com/EdgeCacheRouteRule"
resource.labels.resource_container="projects/12345678"
resource.labels.service_name="MY_PROJECT"

Untuk mencocokkan nama sebagian atau menggunakan ekspresi reguler, lihat Perbandingan bahasa kueri logging.

Contoh: Mengidentifikasi cache yang tidak ditemukan

Permintaan untuk objek mungkin merupakan cache miss, tetapi dapat menyebabkan pengisian cache karena alasan berikut:

  • Time to live (TTL) yang terlalu singkat
  • Kunci cache yang terlalu spesifik
  • Terlalu sedikit permintaan untuk tetap di-cache

Untuk mengidentifikasi cache yang tidak ditemukan, Anda dapat memfilter log di Logs Explorer.

Kueri log berikut menampilkan permintaan yang dapat di-cache (dicari), tetapi memerlukan pengisian dari asal:

resource.type="edgecache.googleapis.com/EdgeCacheRouteRule"
resource.labels.resource_container="projects/12345678"
resource.labels.service_name="MY_PROJECT"
jsonPayload.cacheStatus="miss"

Jika Anda perlu memfilter menurut URL tertentu, filter di kolom httpRequest.requestUrl:

httpRequest.requestUrl = "URL"

Untuk memfilter bagian URL, seperti komponen jalur, gunakan operator has:

# `:` is the `has` comparison operator

httpRequest.requestUrl: "/videos/1381381_1080.mp4"
# You can use `OR` or `AND` to filter on multiple values

httpRequest.requestUrl: ("https://media-test.example.com/" OR "https://canary.example.net")

Untuk mempelajari lebih lanjut sintaksis komprehensif Logging untuk pencocokan dan pemfilteran, lihat Menulis kueri lanjutan menggunakan bahasa kueri Logging.

Memfilter log yang disimpan

Untuk memfilter log sebelum menyimpannya—misalnya, hanya mengambil kolom yang relevan untuk mengurangi total volume log yang perlu Anda simpan dan kueri—Anda dapat mengonfigurasi filter pengecualian, yang memungkinkan Anda menentukan kueri (filter) yang menyertakan atau mengecualikan kolom sebelum penyimpanan.

Anda juga dapat menyiapkan beberapa filter—misalnya, merekam semua permintaan cache yang tidak ada atau semua permintaan untuk nama host tertentu, dan hanya mengambil sampel dari semua log.

Log rute

Media CDN terintegrasi langsung dengan Cloud Logging, yang membantu Anda menggabungkan dan merutekan log dengan cara berikut:

  • Ke tujuan penyimpanan, seperti Cloud Storage dan BigQuery

  • Ke topik Pub/Sub, yang dapat diikuti oleh tujuan pihak ketiga untuk mengakses log

Untuk ringkasan cara log dirutekan dari Logging, lihat Ringkasan pemilihan rute dan penyimpanan.

Langkah selanjutnya