Memecahkan masalah error pelacakan terdistribusi

Dokumen ini menjelaskan cara mendiagnosis dan menyelesaikan masalah terkait distributed tracing saat menggunakan Cloud Trace dan kebijakan telemetri dengan Secure Web Proxy.

Rekaman aktivitas tidak muncul di Trace

Jika rentang rekaman aktivitas yang dihasilkan oleh Secure Web Proxy tidak muncul di Trace Explorer, periksa item berikut:

  1. Pastikan Cloud Trace API diaktifkan: pastikan Trace API (cloudtrace.googleapis.com) diaktifkan di projectGoogle Cloud yang menghosting gateway Secure Web Proxy Anda.

    <pre class="devsite-click-to-copy">
    gcloud services enable cloudtrace.googleapis.com
    </pre>
    
  2. Pastikan kebijakan telemetri ada dan aktif: gunakan perintah gcloud beta network-services telemetry-policies describe untuk memeriksa apakah kebijakan telemetri Anda ada di region yang benar dan mereferensikan gateway Secure Web Proxy yang sesuai:

    gcloud beta network-services telemetry-policies describe POLICY_NAME \
        --location=REGION
    

    Ganti kode berikut:

    • POLICY_NAME: nama kebijakan telemetri Anda, seperti my-swp-tracing-policy
    • REGION: region tempat kebijakan telemetri Anda di-deploy, seperti us-central1
  3. Periksa frekuensi pengambilan sampel: jika samplingRate kebijakan Anda rendah (misalnya, 0.01 untuk 1% atau 0.001 untuk 0,1%), permintaan pengujian manual individual mungkin tidak diambil sampelnya. Untuk mengonfirmasi bahwa pelacakan berfungsi, perbarui sementara kebijakan Anda untuk menggunakan pengambilan sampel 100% (samplingRate: 1.00), lalu pulihkan rasio produksi Anda.

  4. Validasi URI resource gateway target: verifikasi bahwa kolom telemetryTarget.resources dalam kebijakan telemetri menentukan URL resource yang sepenuhnya memenuhi syarat atau nama singkat gateway Secure Web Proxy.

    //networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME
    

    Ganti kode berikut:

    • PROJECT_ID: ID Google Cloud project Anda
    • REGION: region tempat gateway Secure Web Proxy Anda di-deploy, seperti us-central1
    • GATEWAY_NAME: nama instance gateway Secure Web Proxy Anda

    Ketidakcocokan apa pun pada project ID, region, atau nama gateway akan mencegah proxy menerima konfigurasi kebijakan.

  5. Periksa izin Identity and Access Management (IAM):

    • Pastikan Anda telah memberikan peran Pengguna Cloud Trace (roles/cloudtrace.user) kepada akun pengguna atau akun layanan Anda untuk melihat rentang di konsol Google Cloud .
    • Pastikan Anda telah memberikan peran Agen Cloud Trace (roles/cloudtrace.agent) kepada akun layanan berikut:
      • service-PROJECT_NUMBER@compute-system.
      • service-PROJECT_NUMBER@gcp-sa-networksecurity.
      • Akun layanan virtual machine (VM) klien, jika aplikasi klien membuat atau menyebarkan rentang

Rentang turunan tidak ada atau grafik rekaman aktivitas rusak

Jika rentang proxy Secure Web Proxy muncul sebagai rekaman aktivitas root yang independen atau terputus, bukan rentang turunan dari permintaan aplikasi Anda, lakukan hal berikut:

  1. Aktifkan pengambilan sampel berbasis induk: di file YAML kebijakan telemetri Anda, pastikan parentBasedSampling.enabled disetel ke true.

    tracingConfiguration:
      samplingRate: 0.01
      parentBasedSampling:
        enabled: true
    

    Jika pengambilan sampel berbasis induk dinonaktifkan, Secure Web Proxy dapat menghapus rekaman aktivitas yang diambil sampelnya di upstream jika tidak cocok dengan samplingRate lokal.

  2. Periksa instrumentasi OpenTelemetry: pastikan aplikasi Anda menggunakan SDK OpenTelemetry yang mengaktifkan propagasi konteks pelacakan terdistribusi. Untuk mengetahui informasi selengkapnya, lihat dokumentasi propagator TraceContext OpenTelemetry.

Volume penyerapan rekaman aktivitas yang sangat tinggi dan tidak terduga

Jika Anda mengamati volume atau biaya penyerapan rekaman aktivitas yang lebih tinggi dari yang diperkirakan di Trace, lakukan hal berikut:

  1. Kurangi frekuensi pengambilan sampel dasar: di lingkungan produksi dengan traffic tinggi, tetapkan samplingRate ke fraksi yang lebih kecil, seperti 0.01 (1%) atau 0.001 (0,1%).
  2. Mengandalkan pengambilan sampel berbasis induk: jaga nilai dasar gateway samplingRate tetap rendah dan aktifkan parentBasedSampling. Kombinasi ini membantu memastikan bahwa proxy hanya mengambil sampel permintaan yang dipilih secara khusus oleh aplikasi upstream.
  3. Hapus kebijakan debug sementara: jika Anda telah menerapkan pengambilan sampel 100% (samplingRate: 1.00) selama pemecahan masalah, hapus kebijakan atau kembalikan ke konfigurasi sebelumnya setelah proses pen-debug-an selesai.

Langkah berikutnya