Logging dan pemantauan bidang kontrol

Dokumen ini menunjukkan cara menggunakan Cloud Logging dan Cloud Monitoring untuk melihat log dan metrik untuk bidang kontrol Cloud Service Mesh.

Penggunaan mesh layanan memberi Anda kemampuan untuk mengamati traffic ke dan dari layanan, yang memungkinkan pemantauan dan proses debug yang lebih kaya tanpa perubahan kode di layanan itu sendiri. Entri log dapat memberikan informasi penting untuk memecahkan masalah mesh layanan Anda, termasuk catatan koneksi yang berhasil dan koneksi yang terputus, laporan error untuk klien yang salah dikonfigurasi, dan pemberitahuan tentang konflik resource API.

Kasus penggunaan

Berikut adalah tiga kasus penggunaan untuk logging dan pemantauan bidang kontrol:

  • Cloud Logging untuk bidang kontrol Cloud Service Mesh: Anda dapat menyimpan, menelusuri, menganalisis, dan menyetel pemberitahuan dengan aman pada semua data dan peristiwa logging Cloud Service Mesh menggunakan semua fitur bawaan Logging. Cloud Service Mesh mengekspor log ke Logging saat klien Envoy atau gRPC terhubung atau terputus, serta saat mendeteksi masalah konfigurasi.
  • Cloud Monitoring untuk bidang kontrol Cloud Service Mesh: Cloud Service Mesh mengekspor metrik utama yang menunjukkan jumlah klien yang terhubung ke bidang kontrol Cloud Service Mesh ke Monitoring. Anda dapat menyiapkan dasbor di Monitoring dan memvisualisasikan metrik ini secara real time untuk memantau kondisi mesh saat klien terhubung dan terputus. Hal ini juga memungkinkan Anda menyiapkan SLO untuk mesh.
  • Segera pecahkan masalah: Cloud Service Mesh mengekspor telemetri ke Logging dan Monitoring secara default. Tidak diperlukan penyiapan tambahan untuk mengonfigurasi logging dan pemantauan, sehingga Anda dapat memecahkan masalah kapan saja, termasuk saat menyiapkan mesh untuk pertama kalinya.

Lihat log

Untuk melihat log Cloud Service Mesh, gunakan Logs Explorer. Bagian berikut menampilkan contoh kueri untuk melihat log Cloud Service Mesh, tetapi Anda dapat menggunakan link sebelumnya untuk membuat kueri Anda sendiri.

  1. Di Konsol Google Cloud, buka halaman Logs Explorer.

    Buka Logs Explorer

  2. Dalam daftar Resource,
    • Jika Anda menggunakan API pemilihan rute layanan, pilih Gateway Scope atau Mesh.
    • Jika Anda menggunakan API lama, pilih GCE Network.
  3. Dalam daftar Nama log, pilih trafficdirector.googleapis.com/events.
  4. Klik Run query.

Kolom entri log Cloud Service Mesh

Kolom Deskripsi
node_id ID node klien xDS, seperti yang disediakan oleh klien xDS.
client_type Jenis klien xDS yang terhubung ke Cloud Service Mesh. Nilai yang mungkin:
  • ENVOY
  • GRPC-JAVA
  • GRPC-C++
  • GRPC-PYTHON
  • GRPC-GO
  • UNKNOWN
node_ip Alamat IP node seperti yang disediakan oleh klien.
api_version Versi xDS API yang digunakan oleh klien xDS untuk terhubung ke Cloud Service Mesh. Nilai yang mungkin adalah V2 dan V3.
description Deskripsi teks peristiwa dengan detail tambahan.

Contoh entri log

Contoh entri log Deskripsi
"Cloud Service Mesh tidak dapat menemukan konfigurasi apa pun untuk klien xDS". Log ini dibuat saat klien xDS ditolak oleh Cloud Service Mesh karena tidak ada konfigurasi. Hal ini mungkin karena penyiapan resource API yang relevan dengan Cloud Service Mesh tidak lengkap.
"Klien berhasil terhubung". Jenis pesan log ini dihasilkan setiap kali klien berhasil terhubung ke Cloud Service Mesh.
"Klien telah berhasil terputus." Jenis pesan log ini dihasilkan setiap kali klien yang sudah dibuat terputus dari Cloud Service Mesh.
"Variabel metadata TRAFFICDIRECTOR_INTERCEPTION_PORT tidak ditetapkan. Konfigurasi pemilihan rute untuk pemroses intersepsi ada, tetapi akan diabaikan." Jenis pesan log ini dihasilkan saat resource Cloud Service Mesh dikonfigurasi dengan benar, tetapi variabel TRAFFICDIRECTOR_INTERCEPTION_PORT tidak ditetapkan dalam metadata node klien xDS, sehingga konfigurasi ini tidak dapat ditambahkan ke klien.
"Pemroses intersepsi dibuat di port tertentu 15001, tetapi konfigurasi pemilihan rute tidak ada untuk port tersebut." Jenis pesan log ini dihasilkan saat variabel TRAFFICDIRECTOR_INTERCEPTION_PORT ditetapkan dalam metadata node klien xDS, tetapi tidak ada resource yang dikonfigurasi untuk Cloud Service Mesh agar menghasilkan respons xDS yang lengkap.
"Sending ADS response from Cloud Service Mesh failed. Permintaan penemuan terakhir dari node memiliki versi dan/atau nonce yang salah." Jenis pesan log ini dihasilkan saat Cloud Service Mesh tidak dapat memproses respons xDS dengan benar karena komunikasi yang rusak dari klien xDS. Pesan ini menunjukkan error implementasi di klien. Sebaiknya periksa log klien.
"Klien mengirim traffic lintas region ke layanan backend backend_service_id. Region sumber: source_region Region tujuan: destination_region1, destination_region2" Jenis pesan log ini dibuat saat klien melaporkan ke Cloud Service Mesh bahwa klien telah mengirim traffic lintas region dari region sumber ke satu atau beberapa region tujuan.

Lihat metrik

Cloud Service Mesh mengekspor tiga metrik ke Cloud Monitoring: xDS API Connected Streams, Request count, dan Request count by zone. xDS API Connected Streams menunjukkan jumlah klien yang terhubung ke bidang kontrol Anda; Request count menunjukkan jumlah permintaan yang dikirim ke layanan backend, yang dikelompokkan menurut region sumber, region tujuan, dan status permintaan. Jumlah permintaan menurut zona menunjukkan jumlah permintaan yang dikirim ke layanan backend, yang dikelompokkan menurut zona sumber, zona tujuan, dan status permintaan. Untuk melihat metrik ini, gunakan Metrics Explorer.

Untuk melihat metrik Cloud Service Mesh, lakukan hal berikut:

  1. Di Konsol Google Cloud, buka halaman Metrics Explorer.

    Buka Metrics Explorer

  2. Dalam daftar Resource type, pilih resource.
    • Jika Anda menggunakan API pemilihan rute layanan, pilih Gateway Scope atau Mesh.
    • Jika Anda menggunakan API lama, pilih Network.
  3. Dalam daftar Metric, pilih connected_clients.
  4. Kembali ke daftar Resource type, lalu pilih Compute Engine Backend Service.
  5. Dalam daftar Metric, pilih Request count atau Request count by zone.

Atau, Anda dapat menggunakan kueri untuk melihat jumlah permintaan lintas wilayah:

  1. Pilih MQL.
  2. Di kolom, masukkan contoh kueri berikut:
    fetch gce_backend_service
    | metric 'trafficdirector.googleapis.com/xds/server/request_count'
    | filter ( ne(metric.source_region, metric.destination_region))
    | align rate(1m)
    | every 1m
    | group_by [metric.source_region, metric.destination_region, resource.backend_service_id],
    [value_request_count_aggregate: aggregate(value.request_count)]
    
  3. Klik Run query.

Menyiapkan metrik dan pemberitahuan berbasis log

Langkah-langkah berikut mengharuskan Anda menyiapkan metrik berbasis log. Untuk informasi selengkapnya tentang cara menyiapkan metrik berbasis log, lihat ringkasan.

Anda dapat mengonfigurasi pemberitahuan untuk memberi tahu Anda saat pesan yang ditentukan pengguna muncul di log yang disertakan. Notifikasi ini dapat memberi tahu operator saat terjadi hal yang tidak terduga. Misalnya, jika perubahan pada konfigurasi Cloud Service Mesh menghasilkan konflik resource API, Anda dapat menerima pemberitahuan tentang pesan error. Untuk menyiapkan pemberitahuan pada metrik berbasis log, lihat Mengonfigurasi diagram dan pemberitahuan.