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 menghubungkan informasi dalam pesan log.
Pesan log
Ekstensi Layanan mendukung pembuatan pesan log selama eksekusi plugin Anda. Perekaman log dinonaktifkan secara default. Untuk mencatat log plugin, aktifkan saat Anda membuat plugin atau mengupdatenya.
Data log plugin dianotasi dengan informasi kontekstual berikut:
- Anotasi log standar, seperti stempel waktu dan level log.
- Identitas plugin yang menghasilkan pesan.
- Callback plugin tempat pesan log dibuat.
- ID trace
requestIdyang membantu menentukan log permintaan yang terkait dengan pesan log.
Log yang relevan dengan Ekstensi Layanan termasuk dalam salah satu kategori berikut:
Pesan log plugin
Dihasilkan oleh panggilan logging, seperti
info!(...)untuk Rust,proxywasm.LogInfo(...)untuk Go, atauLOG_INFOuntuk C++. Service Extensions mengekspor pesan log ini ke Cloud Logging. Anda dapat mencatat header permintaan dan respons ke dalam log, 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 resource
EdgeCacheServicedenganCdnEdgeExtensionterkait. Ini adalah entri log Media CDN reguler yang dapat Anda lihat di bagian layananedgecache.googleapis.com.
Mengaktifkan logging untuk plugin
Ekstensi Layanan mendukung pembuatan pesan log selama eksekusi plugin Anda. Perekaman log dinonaktifkan secara default.
Untuk merekam log plugin, aktifkan saat Anda membuat plugin atau mengupdatenya.
Untuk mengaktifkan logging bagi 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 plugin yang sepenuhnya memenuhi syaratLOG_CONFIG: opsi logging untuk plugin. Untuk mengaktifkan logging, tetapkan opsienableketrue. Kemudian, tentukan detail berikut:sample-rate: frekuensi sampling log aktivitas sebagai nilai antara0dan1. Nilai0menunjukkan bahwa pesan log tidak disimpan. Nilai default1menunjukkan bahwa semua pesan log disimpan. Nilai floating point antara0.0dan1.0menunjukkan bahwa persentase pesan log disimpan.min-log-level: tingkat keparahan minimum pesan log plugin yang akan diekspor ke Cloud Logging. Nilai defaultnya adalahINFO.
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 Service Extensions 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 dalam log networkactions.googleapis.com/wasm_plugin_activity dengan jenis resource networkactions.googleapis.com/WasmPluginVersion.
Sistem juga dapat menambahkan pesan log informasi ke log ini.
Misalnya, jika terjadi kegagalan plugin saat pemanggilan plugin
melebihi batas CPU atau memori, pesan dengan tingkat keparahan ERROR akan dicatat ke dalam log. Pesan
tersebut juga dapat dilihat di Melihat dan memfilter error.
Anda juga dapat melihat pesan log yang terkait 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 tersebut akan muncul secara bertingkat di bawah log permintaan. Tampilan ini membantu Anda memahami log plugin dalam konteks permintaan terkait.
Contoh log
Pertimbangkan contoh entri log Service Extensions. Nilai
message diteruskan ke panggilan LOG_INFO plugin. Nilai severity
bergantung pada level log yang digunakan dalam panggilan log plugin. Di bagian labels,
nilai API adalah HTTP_REQUEST_HEADER, yang menunjukkan bahwa operasi yang dicatat ke dalam log
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"
}
requestId dan trace di 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",
"serviceExtensionInfo": [
{
"serviceExtension": "projects/123456789/locations/global/cdnEdgeExtensions/my-cdn-edge-extension",
"chain": "edge-plugin-chain",
"extension": "auth-and-header-plugin",
"grpcStatus": "OK",
"processingRequests": [
{
"eventType": "RESPONSE_HEADERS",
"processingEffect": "CONTENT_MODIFIED"
}
]
}
],
"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 data payload hingga 16 KiB 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 data log oleh Service Extensions.
Misalnya, jika callback on_http_request_headers melakukan dua panggilan logging
dengan masing-masing pesan 4 KiB, lalu callback on_http_response_headers
mencoba melakukan tiga panggilan logging dengan masing-masing pesan 4 KiB untuk permintaan
HTTP yang sama, pesan logging kelima akan dihapus. 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 Service Extensions, lihat halaman metrikGoogle Cloud .
Melihat dasbor Monitoring untuk Service Extensions
Untuk melihat dasbor Monitoring untuk Service Extensions, lakukan hal berikut:
- Di konsol Google Cloud , buka halaman Service Extensions.
- Klik tab Plugins.
- Klik nama plugin.
- Di halaman Plugin details, klik tab Monitoring.
- Untuk melihat metrik operasi siklus proses plugin, pilih nilai dari daftar Filter operasi. Secara default, nilai
HTTP request headerdanHTTP response headerdipilih. - Untuk melihat metrik versi plugin tertentu, pilih nilai dari daftar Filter versi plugin. Secara default, metrik ditampilkan untuk semua versi.
- Untuk mengubah periode yang datanya ingin Anda lihat, pilih
periode yang telah ditentukan dari pemilih waktu atau klik Kustom, lalu tentukan
waktu mulai dan waktu berakhir. Secara default, pemilih ditetapkan ke
1 day.
Di halaman Monitoring, diagram metrik menampilkan informasi yang dapat membantu Anda memantau performa plugin.
Metrik plugin untuk Service Extensions
Anda dapat memantau metrik berikut untuk plugin dari perspektif Service Extensions. 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
DELTA, INT64, 1
Jumlah pemanggilan plugin selama rentang waktu yang dipilih. Setiap pemanggilan callback plugin dihitung sebagai pemanggilan plugin terpisah. |
invocation_latencies
|
Latensi pemanggilan plugin Wasm
DELTA, DISTRIBUTION, us
Waktu eksekusi lokal, dalam milidetik, dari plugin. Metrik ini mencakup entri yang dibatasi label untuk setiap callback. |
cpu/usage_times
|
Penggunaan CPU yang dinormalisasi plugin Wasm
DELTA, DISTRIBUTION, us{CPU}
Waktu penggunaan CPU dari pemanggilan plugin, dalam mikrodetik. |
memory/bytes_used
|
Penggunaan memori plugin Wasm
GAUGE, DISTRIBUTION, By
Total memori yang dialokasikan oleh VM plugin Wasm, dalam byte. |
Metrik pemantauan ekstensi layanan untuk Media CDN
Anda dapat memantau ekstensi edge Media CDN dari perspektif EdgeCacheService di Metrics Explorer Monitoring:
Di konsol Google Cloud , buka halaman Metrics explorer.
Pilih resource yang dimonitor Media CDN Service Extension.
Pilih kategori metrik Ekstensi.
Filter menurut label
extension_serviceyang ditetapkan ke nama plugin Anda.
Dalam Pratinjau, Anda dapat memantau metrik berikut
untuk ekstensi di Media CDN. Metrik ini memiliki awalan
networkactions.googleapis.com.
Awalan dihilangkan dari entri dalam tabel berikut.
Tabel berikut menyediakan jenis metrik, nama tampilan, jenis, tipe, unit, dan deskripsi untuk setiap metrik.
| Jenis metrik | Nama tampilan
Jenis, Tipe, Unit Deskripsi |
|---|---|
extension/invocation_count
|
Jumlah pemanggilan ekstensi
DELTA, INT64, 1
Jumlah pemanggilan yang dikirim ke ekstensi. |
extension/invocation_latencies
|
Latensi pemanggilan ekstensi
DELTA, DISTRIBUTION, ms
Distribusi yang dihitung dari latensi setiap pemanggilan ekstensi. Hanya berlaku untuk ekstensi info; tidak didukung untuk plugin. |
extension/sent_chunks_count
|
Jumlah potongan yang dikirim ekstensi
DELTA, INT64, 1
Hanya berlaku untuk peristiwa request_body dan response_body.
Jumlah potongan data yang dikirim ke ekstensi. |
extension/received_chunks_count
|
Jumlah potongan yang diterima ekstensi
DELTA, INT64, 1
Hanya berlaku untuk peristiwa request_body dan response_body.
Jumlah potongan yang diterima dari ekstensi. |
extension/failed_open_count
|
Pemanggilan ekstensi gagal dengan fail-open
DELTA, INT64, 1
Frekuensi kegagalan pemanggilan saat sistem dikonfigurasi untuk fail-open dan permintaan diizinkan untuk dilanjutkan. |
extension/mutation_rejections_count
|
Jumlah penolakan mutasi ekstensi
DELTA, INT64, 1
Jumlah pemanggilan yang meminta mutasi header, isi, atau trailer, tetapi ditolak. Penolakan dapat terjadi karena berbagai alasan, seperti saat mutasi tidak valid atau melebihi batas ukuran. |
extension/sent_bytes_count
|
Jumlah byte yang dikirim ekstensi
DELTA, INT64, By
Jumlah byte yang dikirim ke ekstensi. |
extension/received_bytes_count
|
Jumlah byte yang diterima ekstensi
DELTA, INT64, By
Jumlah byte yang diterima dari ekstensi. |