Melacak traffic keluar dengan Cloud Trace

Dokumen ini menjelaskan cara mengonfigurasi tracing permintaan terdistribusi untuk Secure Web Proxy menggunakan Cloud Trace.

Untuk mengetahui informasi tentang konsep, manfaat utama, dan detail arsitektur, lihat Ringkasan pelacakan terdistribusi.

Sebelum memulai

  1. Selesaikan langkah-langkah penyiapan awal.
  2. Aktifkan Compute Engine API, Network Services API, dan Cloud Trace API di project Anda.

    gcloud services enable \
        compute.googleapis.com \
        networkservices.googleapis.com \
        cloudtrace.googleapis.com
    
  3. Pastikan Anda telah men-deploy instance gateway Secure Web Proxy yang aktif. Untuk mengetahui informasi selengkapnya, lihat Men-deploy instance Secure Web Proxy.

  4. Untuk membuat rentang rekaman aktivitas terdistribusi tingkat HTTP dan menyebarkan header konteks rekaman aktivitas W3C untuk permintaan HTTPS, Anda harus mengaktifkan pemeriksaan TLS di gateway Secure Web Proxy.

Peran dan izin

Untuk mendapatkan izin yang diperlukan untuk mengonfigurasi kebijakan telemetri dan melihat rekaman aktivitas, minta administrator Anda untuk memberi Anda peran Identity and Access Management (IAM) berikut:

  • Untuk membuat, memperbarui, atau menghapus kebijakan telemetri: Network Services Admin (roles/networkservices.admin) atau Compute Network Admin (roles/compute.networkAdmin)
  • Untuk melihat dan menganalisis rentang rekaman aktivitas di konsol Google Cloud : Pengguna Cloud Trace (roles/cloudtrace.user)
  • Untuk mengekspor rentang rekaman aktivitas ke Trace, pastikan akun layanan berikut memiliki peran Cloud Trace Agent (roles/cloudtrace.agent):

    • Agen layanan Compute Engine: service-PROJECT_NUMBER@compute-system.iam.gserviceaccount.com
    • Agen layanan Network Security: service-PROJECT_NUMBER@gcp-sa-networksecurity.iam.gserviceaccount.com
    • Akun layanan virtual machine (VM) klien, jika aplikasi klien membuat atau menyebarkan rentang

Skema konfigurasi kebijakan telemetri

Untuk menentukan kebijakan telemetri dalam file YAML, gunakan skema berikut:

    name: projects/PROJECT_ID/locations/REGION/telemetryPolicies/POLICY_NAME
    telemetryTarget:
      resources:
      - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME"
    description: "OPTIONAL_DESCRIPTION"
    tracingConfiguration:
      samplingRate: SAMPLING_RATE
      parentBasedSampling:
        enabled: true
  

Tabel berikut menjelaskan kolom dalam kebijakan telemetri:

Kolom Jenis Deskripsi
name String ID unik kebijakan telemetri.
telemetryTarget.resources Daftar string URL resource gateway Secure Web Proxy yang menjadi tujuan penerapan kebijakan ini. Gateway Anda harus berada di region yang sama dengan kebijakan.

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

Atau, gunakan format nama pendek: projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME.

description String Opsional. Kolom ini memberikan deskripsi kebijakan telemetri yang dapat dibaca manusia.
tracingConfiguration.samplingRate Float Proporsi permintaan yang akan dilacak, ditentukan sebagai desimal antara 0.0 (0%) dan 1.0 (100%). Misalnya, 0.01 mengambil sampel 1% permintaan.
tracingConfiguration.parentBasedSampling.enabled Boolean Menunjukkan apakah Anda ingin mengaktifkan keputusan pengambilan sampel rekaman aktivitas upstream (true atau false).

Mengonfigurasi pelacakan terdistribusi

Untuk menerapkan kebijakan pelacakan ke gateway Secure Web Proxy menggunakan Google Cloud CLI, lakukan hal berikut:

  1. Buat file kebijakan YAML bernama swp-tracing-policy.yaml.

    cat <<EOF > swp-tracing-policy.yaml
    name: projects/PROJECT_ID/locations/REGION/telemetryPolicies/my-swp-tracing-policy
    telemetryTarget:
      resources:
        - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/REGION/gateways/GATEWAY_NAME"
    description: "Distributed tracing policy for the Secure Web Proxy gateway"
    tracingConfiguration:
      samplingRate: 0.01
      parentBasedSampling:
        enabled: true
    EOF
    

    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
  2. Impor kebijakan telemetri menggunakan perintah gcloud beta network-services telemetry-policies import:

    gcloud beta network-services telemetry-policies import my-swp-tracing-policy \
        --source=swp-tracing-policy.yaml \
        --location=REGION
    
  3. Pastikan kebijakan diterapkan menggunakan perintah gcloud beta network-services telemetry-policies describe:

    gcloud beta network-services telemetry-policies describe my-swp-tracing-policy \
        --location=REGION
    

Melampirkan atau melepaskan gateway target

Untuk memperbarui definisi kebijakan atau melampirkan beberapa gateway regional, lakukan hal berikut:

  1. Perbarui daftar telemetryTarget.resources dalam file swp-tracing-policy.yaml untuk menyertakan semua URI resource gateway target.

    telemetryTarget:
      resources:
        - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/us-central1/gateways/prod-swp-uc1"
        - "//networkservices.googleapis.com/projects/PROJECT_ID/locations/us-central1/gateways/staging-swp-uc1"
    
  2. Impor kebijakan telemetri yang telah diupdate menggunakan perintah gcloud beta network-services telemetry-policies import:

    gcloud beta network-services telemetry-policies import my-swp-tracing-policy \
        --source=swp-tracing-policy.yaml \
        --location=REGION
    

    Ganti kode berikut:

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

Melihat dan menganalisis rekaman aktivitas di Trace

  1. Di konsol Google Cloud , buka halaman Trace Explorer.

    Buka Trace Explorer

  2. Pilih project Google Cloud Anda.

  3. Di kolom Filter, telusuri rekaman aktivitas menggunakan berbagai atribut.

  4. Klik rekaman aktivitas apa pun dalam diagram sebar atau tampilan linimasa untuk memeriksa detail rentang, seperti total durasi, latensi pemrosesan proxy, dan detail IP server eksternal.

Menghubungkan rekaman aktivitas dengan log dan metrik

Secure Web Proxy menyediakan korelasi antara rekaman aktivitas, log, dan metrik:

  • Korelasi log-trace: setiap entri log transaksi proxy yang ditulis ke Cloud Logging berisi kolom trace dengan format: projects/PROJECT_ID/traces/TRACE_ID.

    • Di Logs Explorer, klik entri log, lalu pilih View trace details untuk langsung membuka rentang yang sesuai di Trace.
    • Di Trace, klik Show logs di panel Trace Details untuk melihat semua log transaksi yang terkait dengan permintaan tersebut.
  • Korelasi metrik: bandingkan lonjakan latensi yang diamati dalam metrik Cloud Monitoring, seperti networkservices.googleapis.com/https/total_latencies, dengan perincian rentang rekaman aktivitas untuk mengidentifikasi apakah lonjakan latensi terjadi dalam proxy atau di server asal eksternal.

Langkah berikutnya