Logging dan pemantauan untuk plugin Media CDN

Halaman ini menunjukkan cara mengonfigurasi dan menggunakan Cloud Logging dan Cloud Monitoring dengan plugin Service Extensions untuk Media CDN.

Logging

Bagian ini menjelaskan log Service Extensions untuk plugin Media CDN dan cara melihat serta mengorelasikan informasi dalam pesan log.

Pesan log

Ekstensi Layanan mendukung pembuatan pesan log selama eksekusi plugin Anda. Logging perekaman dinonaktifkan secara default. Untuk merekam log plugin, aktifkan saat Anda membuat plugin atau memperbaruinya.

Catatan log plugin diberi anotasi dengan informasi kontekstual berikut:

  • Anotasi log standar, seperti stempel waktu dan level log.
  • Identitas plugin yang menghasilkan pesan.
  • Callback plugin di mana pesan log dihasilkan.
  • ID rekaman aktivitas requestId yang membantu menentukan log permintaan yang terkait dengan pesan log.

Log yang relevan dengan Ekstensi Layanan berada dalam salah satu kategori berikut:

  • Pesan log plugin

    Dibuat oleh panggilan logging, seperti info!(...) untuk Rust, proxywasm.LogInfo(...) untuk Go, atau LOG_INFO untuk C++. Service Extensions mengekspor pesan log ini ke Cloud Logging. Anda dapat mencatat header permintaan dan respons serta tindakan apa pun yang telah dilakukan plugin.

    Anda dapat melihat pesan ini menggunakan layanan networkservices.googleapis.com.

  • Pesan log Media CDN

    Pesan log Media CDN untuk permintaan HTTP ke EdgeCacheService resource dengan tindakan Wasm terkait. Ini adalah entri log Media CDN reguler yang dapat dilihat di layanan edgecache.googleapis.com.

Mengaktifkan logging untuk plugin

Ekstensi Layanan mendukung pembuatan pesan log selama eksekusi plugin Anda. Logging perekaman dinonaktifkan secara default.

Untuk merekam log plugin, aktifkan saat Anda membuat plugin atau memperbaruinya.

Untuk mengaktifkan logging untuk plugin yang ada, gunakan perintah gcloud beta service-extensions wasm-plugins update:

gcloud beta service-extensions wasm-plugins update WASM_PLUGIN \
    --log-config=[LOG_CONFIG,...]

Ganti kode berikut:

  • WASM_PLUGIN: ID atau nama lengkap plugin
  • LOG_CONFIG: opsi logging untuk plugin. Untuk mengaktifkan logging, setel opsi enable ke true. Kemudian, tentukan detail berikut:

    • sample-rate: frekuensi pengambilan sampel log aktivitas sebagai nilai antara 0 dan 1. Nilai 0 menunjukkan bahwa pesan log tidak disimpan. Nilai default 1 menunjukkan bahwa semua pesan log disimpan. Nilai floating point antara 0.0 dan 1.0 menunjukkan bahwa persentase pesan log disimpan.
    • min-log-level: tingkat keparahan minimum pesan log plugin yang akan diekspor ke Cloud Logging. Nilai defaultnya adalah INFO.

Setelah mengaktifkan logging untuk plugin, Anda dapat melihat pesan yang dikeluarkan oleh pernyataan logging dalam kode plugin di Cloud Logging.

Untuk melihat log, di konsol Google Cloud , buka halaman Logs Explorer.

Melihat pesan log

Log dapat dilihat dengan membuat kueri di Logs Explorer.

Anda dapat melihat log plugin sebagai log Ekstensi Layanan mandiri. Dalam tampilan ini, setiap pesan log plugin dicatat dalam data log-nya sendiri dan tidak otomatis dikaitkan dengan informasi log permintaan.

Pesan log ini berada di log networkactions.googleapis.com/wasm_plugin_activity dengan jenis resource networkactions.googleapis.com/WasmPluginVersion.

Sistem juga dapat menambahkan pesan log informatif ke log ini. Misalnya, jika terjadi kegagalan plugin saat pemanggilan plugin melebihi batas CPU atau memori, pesan dengan tingkat keparahan ERROR akan dicatat. Pesan tersebut juga dapat dilihat di Melihat dan memfilter error.

Anda juga dapat melihat pesan log yang dikorelasikan dengan log permintaan Media CDN yang sesuai di Logs Explorer. Saat melihat log permintaan, jika Anda meluaskan entri log permintaan, log plugin yang terkait dengan permintaan akan muncul secara bertingkat di bawah log permintaan. Tampilan ini membantu Anda memahami log plugin dalam konteks permintaan terkaitnya.

Contoh log

Pertimbangkan contoh entri log Ekstensi Layanan. Nilai message diteruskan ke panggilan LOG_INFO plugin. Nilai severity bergantung pada tingkat log yang digunakan dalam panggilan log plugin. Di bagian labels, nilai API adalah HTTP_REQUEST_HEADER, yang menunjukkan bahwa operasi yang dicatat adalah callback plugin on_http_request_headers.

{
  "insertId": "65224aac-0000-24bd-a0e1-582429bd544c@a1",
  "jsonPayload": {
    "@type": "type.googleapis.com/google.cloud.networkactions.logging.v1.WasmPluginLogEntry",
    "metroIataCode": "ber",
    "proxyRegionCode": "DE",
    "message": "[add_header_plugin.cc:26]::onRequestHeaders() AddHeaderStreamContext::onRequestHeaders called",
    "requestId": "effc0311-6716-431b-9e2a-7586835fdff1"
  },
  "resource": {
    "type": "networkactions.googleapis.com/WasmPluginVersion",
    "labels": {
      "plugin_version": "prod-1",
      "resource_container": "projects/123456789",
      "location": "global",
      "plugin_name": "add-headers-plugin-prod-resource"
    }
  },
  "timestamp": "2023-05-10T03:05:43.317015458Z",
  "severity": "INFO",
  "labels": {
    "networkactions.googleapis.com/operation": "HTTP_REQUEST_HEADERS"
  },
  "logName": "projects/123456789/logs/networkactions.googleapis.com%2Fwasm_plugin_activity",
  "trace": "projects/123456789/traces/effc0311-6716-431b-9e2a-7586835fdff1",
  "receiveTimestamp": "2023-05-10T03:05:44.207265284Z"
}
Entri log Media CDN terkait akan muncul seperti berikut. Nilai requestId dan trace dalam kedua pesan log sama.
{
  "insertId": "6c95cc54-0000-26ba-ba73-f403043c328c@a1",
  "jsonPayload": {
    "cacheMode": "USE_ORIGIN_HEADERS",
    "@type": "type.googleapis.com/google.cloud.edgecache.v1.EdgeCacheLogEntry",
    "wasmAction": "add-headers-action-prod-resource",
    "cacheKeyFingerprint": "f04d02bb12f2e79e",
    "proxyStatus": "Google-Edge-Cache",
    "clientCity": "Erlangen",
    "clientAsn": "8881",
    "origin": "example-origin",
    "cacheId": "ber",
    "tlsVersion": "NONE",
    "latency": "0.002840304s",
    "originIp": "142.250.145.128",
    "requestId": "effc0311-6716-431b-9e2a-7586835fdff1",
    "clientRegionCode": "DE",
    "originalRequestId": "7656c418-df7c-4ae5-9db5-4f247ec5a82c",
    "httpTtfb": "0.002814903s",
    "metroIataCode": "BER",
    "proxyRegionCode": "DE",
    "cacheStatus": "hit"
  },
  "httpRequest": {
    "requestMethod": "GET",
    "requestUrl": "https://example.com/image.jpg",
    "requestSize": "1631",
    "status": "200",
    "responseSize": "402907",
    "userAgent": "Wtrace",
    "remoteIp": "2001:1438:1:19::5",
    "protocol": "HTTP/1.1"
  },
  "resource": {
    "type": "edgecache.googleapis.com/EdgeCacheRouteRule",
    "labels": {
      "location": "global",
      "route_destination": "projects/123456789/locations/global/edgeCacheOrigins/example-origin",
      "matched_path": "/turing/",
      "route_type": "ORIGIN",
      "path_matcher_name": "routes",
      "resource_container": "projects/123456789",
      "service_name": "example-service"
    }
  },
  "timestamp": "2023-05-10T03:05:43.321347304Z",
  "logName": "projects/bdn-prober/logs/edgecache.googleapis.com%2Fedge_cache_request",
  "trace": "projects/1069774196212/traces/effc0311-6716-431b-9e2a-7586835fdff1",
  "receiveTimestamp": "2023-05-10T03:05:49.919781008Z"
}

Batasan

Plugin dibatasi untuk mencatat hingga 16 KiB data payload per permintaan HTTP klien. Jumlah ini dibagi di beberapa panggilan logging yang terkait dengan permintaan HTTP tertentu. Batas ini hanya berlaku untuk teks pesan log, bukan untuk metadata tambahan yang ditambahkan ke catatan log oleh Ekstensi Layanan.

Misalnya, jika callback on_http_request_headers membuat dua panggilan logging dengan pesan berukuran 4 KiB, lalu callback on_http_response_headers mencoba membuat tiga panggilan logging dengan pesan berukuran 4 KiB untuk permintaan HTTP yang sama, pesan logging ketiga akan dihentikan. Pesan log ditambahkan untuk mencatat jumlah pesan log yang dihasilkan plugin yang dihapus.

Pemantauan

Bagian ini menjelaskan cara menggunakan dasbor Cloud Monitoring untuk melihat metrik Service Extensions untuk plugin Media CDN.

Untuk mengetahui informasi mendetail tentang jenis metrik Ekstensi Layanan, lihat halaman Google Cloud metrik.

Melihat dasbor Monitoring untuk Ekstensi Layanan

Untuk melihat dasbor Pemantauan untuk Ekstensi Layanan, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman Service Extensions.

    Buka Ekstensi Layanan

  2. Klik tab Plugin.
  3. Klik nama plugin.
  4. Di halaman Plugin details, klik tab Monitoring.
  5. Di halaman Pemantauan, diagram metrik menampilkan informasi yang dapat membantu Anda memantau performa plugin.

  6. Untuk melihat metrik operasi siklus proses plugin, pilih nilai dari daftar Filter operasi. Secara default, nilai HTTP request header dan HTTP response header dipilih.
  7. Untuk melihat metrik pada versi plugin tertentu, pilih nilai dari daftar Filter versi plugin. Secara default, metrik ditampilkan untuk semua versi.
  8. Untuk mengubah periode data yang ingin Anda lihat, pilih periode yang telah ditentukan sebelumnya dari pemilih waktu atau klik Kustom, lalu tentukan waktu mulai dan waktu berakhir. Secara default, pemilih disetel ke 1 day.

Metrik plugin untuk Service Extensions

Anda dapat memantau metrik berikut untuk plugin dari perspektif Ekstensi Layanan. Metrik ini memiliki awalan networkactions.googleapis.com/wasm_plugin/. Awalan dihilangkan dari entri dalam tabel.

Jenis metrik Nama tampilan
Jenis, Tipe, Unit
Deskripsi
invocation_count Jumlah pemanggilan plugin Wasm
DELTAINT641
Jumlah pemanggilan plugin selama rentang waktu yang dipilih. Setiap pemanggilan callback plugin dihitung sebagai pemanggilan plugin terpisah.
invocation_latencies Latensi pemanggilan plugin Wasm
DELTADISTRIBUTIONus
Waktu eksekusi lokal plugin, dalam milidetik. Metrik mencakup entri yang dibatasi label untuk setiap callback.
cpu/usage_times Penggunaan CPU yang dinormalisasi plugin Wasm
DELTADISTRIBUTIONus{CPU}
Waktu penggunaan CPU untuk pemanggilan plugin, dalam mikrodetik.
memory/bytes_used Penggunaan memori plugin Wasm
GAUGEDISTRIBUTIONBy
Total memori yang dialokasikan oleh VM plugin Wasm, dalam byte.

Metrik plugin untuk Media CDN

Anda dapat memantau metrik berikut untuk plugin dari perspektif Media CDN. String jenis metrik mengikuti awalan ini: edgecache.googleapis.com/edge_cache_route_rule/network_actions/. Awalan dihilangkan dari entri dalam tabel.

Jenis metrik Nama tampilan
Jenis, Tipe, Unit
Deskripsi
wasm_action_invocation_count Jumlah pemanggilan Service Extensions
DELTAINT641
Jumlah pemanggilan Service Extensions yang ditangani oleh Media CDN selama jangka waktu yang dipilih.
wasm_action_invocation_latencies Latensi pemanggilan Ekstensi Layanan
DELTADISTRIBUTIONus
Total waktu, dalam milidetik, yang diperlukan Media CDN untuk mengirim dan mengeksekusi plugin. Metrik ini mencakup entri yang dibatasi label untuk Ekstensi Layanan callback.