Halaman ini menunjukkan cara mengonfigurasi dan menggunakan Cloud Logging dan Cloud Monitoring dengan plugin Service Extensions untuk Cloud Load Balancing dan Cloud CDN.
Logging
Bagian ini menjelaskan logging untuk plugin Load Balancer Aplikasi. Logging dapat dilakukan dari perspektif plugin dan perspektif load balancer.
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 tingkat log.
- Identitas plugin yang menghasilkan pesan.
- Callback plugin di mana pesan log dihasilkan.
- ID rekaman aktivitas
requestIdyang 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, atauLOG_INFOuntuk 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 Cloud Load Balancing
Anda dapat melihat pesan ini menggunakan layanan
loadbalancing.googleapis.com.
Logging dari perspektif plugin
Bagian ini menjelaskan logging Ekstensi Layanan dari perspektif plugin.
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 service-extensions wasm-plugins update:
gcloud service-extensions wasm-plugins update WASM_PLUGIN \
--log-config=[LOG_CONFIG,...]
Ganti kode berikut:
WASM_PLUGIN: ID atau nama lengkap pluginLOG_CONFIG: opsi logging untuk plugin. Untuk mengaktifkan logging, setel opsienableketrue. Kemudian, tentukan detail berikut:sample-rate: frekuensi pengambilan sampel 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 untuk plugin
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 ada di log
networkservices.googleapis.com/wasm_plugin_activity dengan jenis
resource networkservices.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.
Contoh log plugin
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.networkservices.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": "networkservices.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": {
"networkservices.googleapis.com/operation": "HTTP_REQUEST_HEADERS"
},
"logName": "projects/123456789/logs/networkservices.googleapis.com%2Fwasm_plugin_activity",
"trace": "projects/123456789/traces/effc0311-6716-431b-9e2a-7586835fdff1",
"receiveTimestamp": "2023-05-10T03:05:44.207265284Z"
}
Batasan untuk logging
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.
Pencatatan log dari perspektif load balancer
Bagian ini menjelaskan logging Service Extensions dari perspektif load balancer.
Mengaktifkan logging pada layanan backend
Anda dapat mengaktifkan logging untuk plugin Load Balancer Aplikasi saat membuat layanan dengan mengaktifkan logging di layanan backend yang menjadi target permintaan.
Untuk mengaktifkan logging untuk layanan backend target, gunakan
perintah gcloud compute backend-services update.
gcloud compute backend-services update BACKEND_SERVICE \
--enable-logging \
--logging-sample-rate=RATE \
--region=REGION \
--logging-optional=LOGGING_OPTIONAL_MODE \
--logging-optional-fields=OPTIONAL_FIELDS
Ganti kode berikut:
BACKEND_SERVICE: nama layanan backend.RATE: nilai dari0.0hingga1.0, dengan0.0berarti tidak ada permintaan yang di-log dan1.0berarti 100% permintaan di-log. Nilai defaultnya adalah1.0. Setelan ini hanya berlaku jika digunakan dengan parameterenable-logging. Jika Anda menghilangkanenable-logging, logging akan dinonaktifkan.REGION: region backendLOGGING_OPTIONAL_MODE: mengaktifkan logging untuk kolom opsional dalam salah satu mode berikut:INCLUDE_ALL_OPTIONALmenyertakan semua kolom opsional.EXCLUDE_ALL_OPTIONAL(default) mengecualikan semua kolom opsional.CUSTOMmenyertakan daftar kustom kolom opsional.
OPTIONAL_FIELDS: daftar kolom opsional yang dipisahkan koma saat Anda memilih modeCUSTOM
Setelah Anda mengaktifkan logging di layanan backend, permintaan HTTP atau HTTPS akan dicatat menggunakan permintaan log Cloud Logging.
Untuk melihat log, di konsol Google Cloud , buka halaman Logs Explorer.
Pesan log untuk layanan backend
Secara umum, entri log Load Balancer Aplikasi berisi informasi yang berguna untuk memantau dan men-debug traffic HTTP atau HTTPS Anda. Entri log berisi jenis informasi berikut:
- Informasi yang ditampilkan di sebagian besar log Google Cloud , seperti tingkat keparahan, project ID, nomor project, dan stempel waktu seperti yang dijelaskan dalam log LogEntry.
- Kolom log HttpRequest.
Log permintaan untuk load balancer HTTP dan HTTPS berisi objek service_extension_info dalam payload JSON entri log load balancer dengan informasi berikut:
| Kolom | Jenis | Deskripsi |
|---|---|---|
backend_target_name |
string | Nama target backend ekstensi. |
backend_target_type |
string | Jenis target backend. |
chain |
string | Nama rantai ekstensi dalam resource ekstensi layanan yang cocok dengan permintaan. |
extension |
string | Nama ekstensi dalam rangkaian ekstensi. |
grpc_status |
enum | Status terbaru di aliran gRPC. Untuk mengetahui informasi selengkapnya, lihat kode status gRPC. |
per_processing_request_info |
array | Daftar statistik ProcessingRequest untuk ekstensi ext_proc
atau statistik CheckRequest untuk ekstensi ext_authz yang terjadi melalui
streaming gRPC.
|
per_processing_request_info[].event_type |
enum | Jenis peristiwa ProcessingRequest. Dapat berupa salah satu dari berikut:
REQUEST_HEADERS, REQUEST_BODY,
RESPONSE_HEADERS, atau RESPONSE_BODY.
|
per_processing_request_info[].latency |
durasi | Durasi dari saat byte pertama pesan ProcessingRequest dikirim ke ekstensi hingga saat byte terakhir pesan ProcessingResponse diterima. |
resource |
string | Nama resource ekstensi |
Pemantauan
Bagian ini menjelaskan cara menggunakan dasbor Cloud Monitoring untuk melihat metrik plugin Load Balancer Aplikasi yang dikonfigurasi menggunakan Service Extensions. Anda dapat memantau plugin dari perspektif plugin atau perspektif load balancer.
Pemantauan dari perspektif plugin
Bagian ini menjelaskan pemantauan Service Extensions dari perspektif plugin.
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:
- Di konsol Google Cloud , buka halaman Service Extensions.
- Klik tab Plugin.
- 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 pada versi plugin tertentu, pilih nilai dari daftar Filter versi plugin. Secara default, metrik ditampilkan untuk semua versi.
- 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.
Di halaman Pemantauan, 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 Ekstensi Layanan. Metrik ini memiliki awalan
networkservices.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 plugin, dalam milidetik. Metrik mencakup entri yang dibatasi label untuk setiap callback. |
cpu/usage_times
|
Penggunaan CPU yang dinormalisasi plugin Wasm
DELTA, DISTRIBUTION, us{CPU}
Waktu penggunaan CPU untuk pemanggilan plugin, dalam mikrodetik. |
memory/bytes_used
|
Penggunaan memori plugin Wasm
GAUGE, DISTRIBUTION, By
Total memori yang dialokasikan oleh VM plugin Wasm, dalam byte. |
Pemantauan dari perspektif load balancer
Bagian ini menjelaskan pemantauan Service Extensions untuk plugin dari perspektif load balancer.
Melihat dasbor Monitoring untuk Cloud Load Balancing
Load Balancer Aplikasi mengekspor data pemantauan ke Cloud Monitoring.
Gunakan metrik Monitoring untuk tujuan berikut:
- Mengevaluasi konfigurasi, penggunaan, dan performa load balancer
- Memecahkan masalah
- Meningkatkan pemanfaatan resource dan pengalaman pengguna
Untuk melihat dasbor standar, ikuti langkah-langkah berikut:
- Di Konsol Google Cloud , buka halaman Ringkasan dasbor.
- Di bagian Categories, klik GCP.
- Untuk melihat daftar dasbor untuk semua load balancer, di daftar Dasbor GCP, klik dasbor bernama Google Cloud Load Balancers. Untuk melihat dasbor load balancer tertentu, temukan load balancer dalam daftar, lalu klik namanya.
- Untuk melihat dasbor standar hanya untuk load balancer Anda, pilih dasbor yang sesuai.
Selain dasbor standar di Monitoring, Anda dapat membuat dasbor kustom, menyiapkan pemberitahuan, dan membuat kueri metrik melalui Cloud Monitoring API.
Metrik plugin untuk Cloud Load Balancing
Anda dapat memantau metrik berikut untuk plugin dari perspektif Cloud Load Balancing.
Metrik ini memiliki awalan loadbalancing.googleapis.com/. Awalan dihilangkan
dari entri dalam tabel.
| Jenis metrik | Nama tampilan
Jenis, Tipe, Unit Deskripsi |
|---|---|
https/backend_request_count,
https/external/regional/backend_request_count,
https/internal/backend_request_count
|
Jumlah permintaan backend
DELTA, INT64, 1
Jumlah berapa kali plugin dipanggil dari Load Balancer Aplikasi. |
https/backend_request_bytes_count,
https/external/regional/backend_request_bytes_count,
https/internal/backend_request_bytes_count
|
Byte permintaan backend
DELTA, INT64, By
Jumlah byte yang dikirim dari load balancer ke plugin. |
https/backend_response_bytes_count,
https/external/regional/backend_response_bytes_count,
https/internal/backend_response_bytes_count
|
Byte respons backend
DELTA, INT64, By
Jumlah byte yang diterima oleh load balancer dari backend ekstensi. |
Melihat metrik plugin
Untuk melihat metrik plugin tertentu, lakukan hal berikut:
Di konsol Google Cloud , buka halaman Metrics explorer.
Pada elemen Metric, luaskan menu Select a metric. Kemudian, lakukan hal berikut:
Dari daftar resource, pilih aturan Application Load Balancer yang sesuai.
Dari daftar kategori metrik, pilih Https.
Dari daftar metrik, pilih metrik plugin.
Klik Terapkan.
Di elemen Filter, lakukan hal berikut:
Pilih label backend_target_type dan tetapkan nilai ke
WASM_PLUGIN.Pilih label backend_target_name dan tetapkan nama plugin sebagai nilai.
Untuk mengetahui informasi selengkapnya tentang jenis metrik load balancer, lihat bagian loadbalancing di halaman metrik Google Cloud .