Mengaktifkan pelacakan terdistribusi

Halaman ini berlaku untuk Apigee dan Apigee hybrid.

Lihat dokumentasi Apigee Edge.

Halaman ini menunjukkan langkah-langkah yang diperlukan untuk mengonfigurasi pelacakan terdistribusi untuk runtime Apigee Anda. Jika Anda baru menggunakan sistem pelacakan terdistribusi dan ingin mengetahui informasi selengkapnya, lihat Memahami Pelacakan Terdistribusi.

Untuk mengetahui informasi selengkapnya tentang istilah yang digunakan di halaman ini, lihat ringkasan Cloud Trace.

Pengantar

Sistem pelacakan terdistribusi memungkinkan Anda melacak permintaan dalam sistem software yang didistribusikan di beberapa aplikasi, layanan, dan database, serta perantara seperti proxy. Sistem pelacakan ini membuat laporan yang menunjukkan waktu yang diperlukan oleh permintaan di setiap langkah. Laporan pelacakan juga dapat memberikan tampilan terperinci dari berbagai layanan yang dipanggil selama permintaan, sehingga memungkinkan pemahaman yang lebih mendalam tentang apa yang terjadi di setiap langkah dalam sistem software Anda.

Alat rekaman aktivitas di Apigee Edge dan alat debug di Apigee berguna untuk memecahkan masalah dan memantau proxy API Anda. Namun, alat ini tidak mengirimkan data apa pun ke server pelacakan terdistribusi seperti Cloud Trace, Jaeger, atau OpenTelemetry Collector.

Untuk melihat data runtime Apigee dalam laporan pelacakan terdistribusi, Anda harus mengaktifkan pelacakan terdistribusi secara eksplisit di runtime Apigee. Setelah pelacakan diaktifkan, runtime dapat mengirim data rekaman aktivitas ke server pelacakan terdistribusi dan berpartisipasi dalam rekaman aktivitas yang ada. Dengan demikian, Anda dapat melihat data dari dalam dan luar ekosistem Apigee dari satu lokasi.

Anda dapat melihat informasi berikut dalam laporan pelacakan terdistribusi:

  • Waktu eksekusi seluruh alur.
  • Waktu saat permintaan diterima.
  • Waktu saat permintaan dikirim ke target.
  • Waktu saat respons diterima dari target.
  • Waktu eksekusi setiap kebijakan dalam alur.
  • Waktu eksekusi panggilan layanan dan alur target.
  • Waktu saat respons dikirim ke klien.

Dalam laporan pelacakan terdistribusi, Anda dapat melihat detail eksekusi alur sebagai rentang. Rentang mengacu pada waktu yang diperlukan oleh alur dalam rekaman aktivitas. Waktu yang diperlukan untuk mengeksekusi alur ditampilkan sebagai gabungan waktu yang diperlukan untuk mengeksekusi setiap kebijakan dalam alur. Anda dapat melihat setiap alur berikut sebagai rentang terpisah:

Fase Endpoint Flow
Permintaan Proxy Preflow
PostFlow
Target Preflow
PostFlow
Respons Proxy Preflow
PostFlow
Target Preflow
PostFlow

Setelah Anda mengaktifkan pelacakan terdistribusi, runtime Apigee akan melacak serangkaian variabel yang telah ditentukan sebelumnya secara default. Untuk mengetahui informasi selengkapnya, lihat Variabel rekaman aktivitas default dalam laporan rekaman aktivitas. Anda dapat menggunakan kebijakan TraceCapture untuk memperluas perilaku runtime default dan melacak alur, kebijakan, atau variabel kustom tambahan. Untuk mengetahui informasi selengkapnya, lihat kebijakan TraceCapture.

Variabel rekaman aktivitas default dalam laporan rekaman aktivitas

Berlaku untuk: konfigurasi OpenTelemetry dan OpenCensus.

Setelah pelacakan terdistribusi diaktifkan, Anda dapat melihat kumpulan variabel standar berikut dalam laporan pelacakan. Variabel terlihat dalam rentang berikut:

  • RESP_SENT: Rentang ini ditambahkan setelah respons diterima dari server target. Objek ini membawa atribut sisi target yang tercantum di bagian Variabel dalam rentang RESP_SENT.
  • PROXY_POST_RESP_SENT: Rentang ini ditambahkan setelah respons proxy dikirim ke klien. Objek ini membawa atribut sisi proxy yang tercantum di bagian Variables in the PROXY_POST_RESP_SENT span.
  • EVENT_FLOW_RESP dan EVENT_FLOW_END: Rentang ini ditambahkan untuk proxy API yang menangani respons streaming Server-Sent Events (SSE). EVENT_FLOW_RESP menandai alur respons SSE (dijalankan sekali per pesan respons). EVENT_FLOW_END menandai akhir streaming SSE. Rentang ini saat ini tidak memiliki atribut default; rentang ini muncul dalam rekaman aktivitas sebagai rentang bernama untuk membuat fase SSE proxy terlihat dalam laporan rekaman aktivitas.

Atribut resource default

Berlaku untuk: Hanya OpenTelemetry. Bagian ini tidak berlaku untuk konfigurasi OpenCensus.

Saat Anda menggunakan OpenTelemetry dengan protokol trace OTLP, runtime Apigee melampirkan atribut resource konvensi semantik OpenTelemetry berikut ke setiap span yang dipancarkan:

Atribut Deskripsi
service.name Nilai tetap apigee.googleapis.com.
service.instance.id ID instance pemroses pesan yang memancarkan rentang. Dihilangkan jika identitas pod runtime tidak tersedia.
cloud.provider Selalu gcp.
cloud.platform Selalu gcp_apigee.
cloud.region Region yang menghosting runtime Apigee, yang akan kembali ke global jika tidak ada region yang dikonfigurasi.
cloud.resource_id Jalur resource Apigee yang sepenuhnya memenuhi syarat dalam bentuk /apigee.googleapis.com/organizations/ORG/environments/ENV.
gcp.apigee.organization Nama organisasi Apigee.
gcp.apigee.environment Nama lingkungan Apigee.
gcp.project_id Google Cloud Project ID. Dipancarkan hanya saat pengekspor adalah OPEN_TELEMETRY_CLOUD_TRACE.

Jenis rentang

Berlaku untuk: konfigurasi OpenTelemetry dan OpenCensus.

Apigee memancarkan rentang dengan nilai SpanKind berikut:

SpanKind Rentang yang dimunculkan dengan jenis ini
SERVER Rentang proxy root (satu per pemanggilan proxy), yang merepresentasikan permintaan masuk yang diterima oleh runtime Apigee.
INTERNAL Rentang lainnya, termasuk rentang alur (misalnya, RESP_SENT dan PROXY_POST_RESP_SENT) dan setiap rentang langkah kebijakan (misalnya, AssignMessage, VerifyAPIKey, ServiceCallout, JavaScript, KeyValueMapOperations).

Apigee tidak memancarkan rentang CLIENT, PRODUCER, atau CONSUMER. Secara khusus, panggilan keluar dari Apigee ke backend target tidak dipancarkan sebagai rentang CLIENT terpisah; panggilan keluar direpresentasikan dalam rentang alur INTERNAL yang ada dan header traceparent dipropagasi ke target sehingga layanan target dapat memancarkan rentang SERVER-nya sendiri dan bergabung dengan rekaman aktivitas yang sama.

Variabel dalam rentang RESP_SENT

Variabel berikut terlihat dalam rentang RESP_SENT. Kolom Variabel semantik OTEL menampilkan nama konvensi semantik OpenTelemetry yang digunakan saat spanSemantics disetel ke OTEL; kolom Atribut menampilkan nama atribut lama.

Variabel Lama Variabel semantik OTEL Atribut Deskripsi
REQUEST_URL url.full request.url URL lengkap permintaan klien masuk yang diterima oleh proxy.
REQUEST_VERB http.request.method request.verb Kata kerja HTTP dari permintaan klien masuk (misalnya, GET atau POST).
RESPONSE_STATUS_CODE http.response.status_code response.status.code Kode status respons yang ditampilkan oleh server target.
ROUTE_NAME gcp.apigee.route.name route.name Nama aturan rute yang memilih target untuk permintaan ini.
ROUTE_TARGET gcp.apigee.route.target route.target Nama endpoint target yang dipilih oleh aturan rute.
TARGET_BASE_PATH gcp.apigee.target.basepath target.basepath Bagian jalur dasar URL target.
TARGET_HOST server.address target.host Nama host server target yang dihubungi oleh proxy.
TARGET_IP server.address target.ip Alamat IP server target yang di-resolve.
TARGET_NAME gcp.apigee.target.name target.name Nama endpoint target yang ditentukan di proxy API.
TARGET_PORT server.port target.port Port TCP yang digunakan untuk terhubung ke server target.
TARGET_RECEIVED_END_TIMESTAMP gcp.apigee.target.received_end_timestamp target.received.end.timestamp Stempel waktu (milidetik epoch) saat proxy selesai menerima respons dari server target.
TARGET_RECEIVED_START_TIMESTAMP gcp.apigee.target.received_start_timestamp target.received.start.timestamp Stempel waktu (epoch milidetik) saat proxy mulai menerima respons dari server target.
TARGET_SENT_END_TIMESTAMP gcp.apigee.target.sent_end_timestamp target.sent.end.timestamp Stempel waktu (epoch milidetik) saat proxy selesai mengirim permintaan ke server target.
TARGET_SENT_START_TIMESTAMP gcp.apigee.target.sent_start_timestamp target.sent.start.timestamp Stempel waktu (milidetik epoch) saat proxy mulai mengirim permintaan ke server target.
TARGET_SSL_ENABLED gcp.apigee.target.ssl_enabled target.ssl.enabled Boolean yang menunjukkan apakah koneksi ke server target menggunakan TLS.
TARGET_URL url.full target.url URL lengkap server target yang dihubungi oleh proxy.

Variabel dalam rentang PROXY_POST_RESP_SENT

Variabel berikut terlihat dalam rentang PROXY_POST_RESP_SENT. Kolom Variabel semantik OTEL menampilkan nama konvensi semantik OpenTelemetry yang digunakan saat spanSemantics disetel ke OTEL; kolom Atribut menampilkan nama atribut lama.

Variabel Lama Variabel semantik OTEL Atribut Deskripsi
API_PROXY_REVISION gcp.apigee.proxy.revision apiproxy.revision Nomor revisi proxy API yang menangani permintaan.
APIPROXY_NAME gcp.apigee.proxy.name apiproxy.name Nama proxy API yang menangani permintaan.
CLIENT_RECEIVED_END_TIMESTAMP gcp.apigee.client.received_end_timestamp client.received.end.timestamp Stempel waktu (milidetik epoch) saat proxy selesai menerima permintaan dari klien.
CLIENT_RECEIVED_START_TIMESTAMP gcp.apigee.client.received_start_timestamp client.received.start.timestamp Stempel waktu (epoch milidetik) saat proxy mulai menerima permintaan dari klien.
CLIENT_SENT_END_TIMESTAMP gcp.apigee.client.sent_end_timestamp client.sent.end.timestamp Stempel waktu (epoch milidetik) saat proxy selesai mengirim respons ke klien.
CLIENT_SENT_START_TIMESTAMP gcp.apigee.client.sent_start_timestamp client.sent.start.timestamp Stempel waktu (epoch milidetik) saat proxy mulai mengirimkan respons ke klien.
ENVIRONMENT_NAME gcp.apigee.environment environment.name Nama lingkungan Apigee tempat proxy dijalankan.
FAULT_SOURCE gcp.apigee.fault_source message.header.X-Apigee-fault-source Sumber kesalahan saat terjadi error selama eksekusi proxy. Diisi hanya pada alur error.
IS_ERROR gcp.apigee.is_error is.error Boolean yang menunjukkan apakah eksekusi proxy berakhir dalam alur error.
MESSAGE_ID gcp.apigee.message.id message.id ID unik yang ditetapkan oleh Apigee untuk permintaan, berguna untuk menghubungkan log dan rentang rekaman aktivitas.
MESSAGE_STATUS_CODE http.response.status_code message.status.code Kode status respons akhir, termasuk untuk panggilan tanpa target dan untuk alur error.
PROXY_BASE_PATH http.route proxy.basepath Jalur dasar proxy API yang cocok dengan permintaan masuk.
PROXY_CLIENT_IP client.address proxy.client.ip Alamat IP klien yang mengirim permintaan ke proxy.
PROXY_NAME gcp.apigee.proxy.name proxy.name Nama endpoint proxy dalam proxy API yang menangani permintaan.
PROXY_PATH_SUFFIX url.path proxy.pathsuffix Bagian jalur URL permintaan yang mengikuti jalur dasar proxy.
PROXY_URL url.full proxy.url URL lengkap endpoint proxy seperti yang diterima dari klien.

Sistem pelacakan terdistribusi yang didukung

Anda dapat mengonfigurasi runtime Apigee untuk mengirim data rekaman aktivitas ke sistem pelacakan terdistribusi berikut:

Sistem pelacakan terdistribusi Deskripsi
Cloud Trace dengan OpenTelemetry

Ideal untuk pengguna yang menginginkan penyiapan sederhana dengan OpenTelemetry dan yang backend pelacakannya utama atau satu-satunya adalah Cloud Trace.

Untuk mengirim data trace ke Cloud Trace dengan OpenTelemetry, lakukan hal berikut:

  1. Konfigurasi runtime Apigee untuk Cloud Trace.
  2. Aktifkan pelacakan terdistribusi untuk Cloud Trace dengan OpenTelemetry.
OpenTelemetry Collector

Kelola OpenTelemetry Collector Anda sendiri untuk mengontrol pengumpulan dan pemrosesan data rekaman aktivitas. Opsi ini ideal jika Anda perlu mengirim data ke beberapa sistem (termasuk sistem non-Google) atau menyesuaikan cara data diproses, dikelompokkan, atau ditingkatkan.

Untuk mengirim data rekaman aktivitas ke OpenTelemetry Collector, lakukan hal berikut:

  1. Deploy dan kelola OpenTelemetry Collector, seperti yang dijelaskan di OpenTelemetry Collector.
  2. Aktifkan pelacakan terdistribusi untuk OpenTelemetry Collector.

Lihat Pertimbangan saat menggunakan OpenTelemetry Collector untuk persyaratan TLS, transport, dan jangkauan jaringan yang harus Anda penuhi sebelum mengaktifkan opsi ini.

Cloud Trace dengan OpenCensus

Untuk mengirim data trace ke Cloud Trace dengan OpenCensus, lakukan hal berikut:

  1. Konfigurasi runtime Apigee untuk Cloud Trace (OpenCensus).
  2. Aktifkan pelacakan terdistribusi untuk Cloud Trace dengan OpenCensus.
Jaeger dengan OpenCensus

Untuk mengirim data trace ke Jaeger dengan OpenCensus, aktifkan pelacakan terdistribusi untuk Jaeger.

Variabel lingkungan

Prosedur di halaman ini menggunakan variabel lingkungan berikut. Sebaiknya Anda menyetelnya di lingkungan Anda sebelum memulai.

TOKEN="Authorization: Bearer $(gcloud auth application-default print-access-token)"
ENV_NAME=YOUR_ENVIRONMENT_NAME
PROJECT_ID=YOUR_GOOGLE_CLOUD_PROJECT_ID

Dengan:

  • TOKEN menentukan header Authentication dengan token pemilik. Anda menggunakan header ini saat memanggil Apigee API. Untuk mengetahui informasi selengkapnya, lihat halaman referensi untuk perintah print-access-token.
  • ENV_NAME adalah nama lingkungan di organisasi Anda.
  • PROJECT_ID adalah ID project Google Cloud Anda.

Mengonfigurasi runtime Apigee untuk OpenTelemetry atau OpenCensus

Runtime Apigee mendukung dua standar pelacakan: OpenTelemetry (direkomendasikan untuk deployment baru) dan OpenCensus. Pilih standar pelacakan yang sesuai untuk lingkungan Anda, lalu ikuti langkah-langkah penyiapan yang sesuai di bagian di bawah.

Untuk OpenTelemetry, runtime Apigee mengenali format header konteks trace W3C, termasuk header traceparent, tracestate, dan baggage.

Mengonfigurasi prasyarat untuk Cloud Trace (OpenTelemetry)

Runtime Apigee (ApigeeX) mendukung pelacakan terdistribusi menggunakan Cloud Trace dengan OpenTelemetry. Jika Anda menggunakan OpenTelemetry Collector yang dikelola pelanggan, Anda dapat melewati bagian ini dan melanjutkan ke Mengaktifkan distributed tracing untuk OpenTelemetry Collector.

Mengonfigurasi runtime ApigeeX untuk Cloud Trace

Untuk mengonfigurasi runtime Apigee untuk Cloud Trace, project Google Cloud Anda harus mengaktifkan API berikut:

Dengan mengaktifkan API ini, project Google Cloud Anda dapat menerima data rekaman aktivitas melalui OpenTelemetry dari sumber yang diautentikasi.

Untuk mengaktifkan API, lakukan hal berikut:

  1. Dari konsol Google Cloud , buka APIs and Services:

    Buka API dan Layanan

  2. Klik Aktifkan API dan Layanan untuk membuka API Library.
  3. Dari API Library, aktifkan Cloud Trace API, Telemetry API, dan Service Usage API. Anda dapat menemukan setiap API dengan menelusurinya berdasarkan nama (misalnya, Telemetry API) dari kotak penelusuran API Library.

Selain mengaktifkan API, Anda harus memberikan peran berikut ke akun agen layanan:

  • roles/telemetry.tracesWriter
  • roles/serviceusage.serviceUsageConsumer

Akun layanan tertentu bergantung pada lingkungan Apigee Anda:

  • ApigeeX (non-hybrid): Berikan peran ke agen layanan Apigee, P4SA (akun layanan per produk per project) yang dikelola Google yang disediakan Apigee secara otomatis untuk project. Akun agen layanan memiliki format service-PROJECT_NUMBER@gcp-sa-apigee.iam.gserviceaccount.com.

Lihat Memberikan peran IAM menggunakan Google Cloud konsol.

Mengaktifkan tracing terdistribusi (OpenTelemetry)

Sebelum mengaktifkan pelacakan terdistribusi, buat variabel lingkungan yang diperlukan.

Mengaktifkan pelacakan terdistribusi untuk Cloud Trace

Contoh berikut menunjukkan cara mengaktifkan pelacakan terdistribusi untuk Cloud Trace dengan OpenTelemetry:

  1. Jalankan panggilan Apigee API ini:
    curl -H "$TOKEN" \
        -H "Content-Type: application/json" \
        https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig \
        -X PATCH \
        -d '{
              "exporter":"OPEN_TELEMETRY_CLOUD_TRACE",
              "endpoint": "'"$PROJECT_ID"'",
              "samplingConfig": {"sampler": "PROBABILITY","samplingRate": 0.05},
              "traceProtocol": "OTLP",
              "spanSemantics": "OTEL"
            }'

    Contoh isi permintaan terdiri dari elemen berikut:

    • Untuk mendukung Cloud Trace dengan OpenTelemetry, parameter exporter disetel ke OPEN_TELEMETRY_CLOUD_TRACE dan parameter traceProtocol disetel ke OTLP.
    • samplingRate disetel ke 0,05. Artinya, sekitar 5% panggilan API dikirim ke rekaman aktivitas terdistribusi. Untuk OpenTelemetry, Anda dapat menentukan frekuensi sampling hingga 1.0 (100%). Untuk mengetahui informasi selengkapnya, lihat Pertimbangan performa.
    • Parameter endpoint ditetapkan ke Google Cloud project ID yang akan menerima data rekaman aktivitas (string project ID kosong, bukan URL).
    • Parameter spanSemantics bersifat opsional dan mengontrol penamaan atribut dan rentang yang digunakan pada rentang yang dipancarkan. Nilai yang didukung:
      • LEGACY (default): menggunakan nama rentang dan atribut Apigee historis yang ditampilkan di kolom Attribute pada tabel variabel.
      • OTEL: gunakan nama konvensi semantik OpenTelemetry yang ditampilkan di kolom Variabel semantik OTEL. Memerlukan traceProtocol menjadi OTLP.

    Respons yang berhasil akan terlihat mirip dengan berikut ini:

    {
      "exporter": "OPEN_TELEMETRY_CLOUD_TRACE",
      "endpoint": "my-gcp-project-id",
      "samplingConfig": {
        "sampler": "PROBABILITY",
        "samplingRate": 0.05
      },
      "traceProtocol": "OTLP",
      "spanSemantics": "OTEL"
    }

Mengaktifkan pelacakan terdistribusi untuk OpenTelemetry Collector

Untuk mengaktifkan pelacakan terdistribusi untuk OpenTelemetry Collector yang dikelola pelanggan, jalankan panggilan Apigee API ini:

curl -H "$TOKEN" \
    -H "Content-Type: application/json" \
    https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig \
    -X PATCH \
    -d '{
          "exporter":"OPEN_TELEMETRY_COLLECTOR",
          "endpoint": "http://my-otel-collector.example.com:4318/v1/traces",
          "samplingConfig": {"sampler": "PROBABILITY","samplingRate": 0.05},
          "traceProtocol": "OTLP",
          "spanSemantics": "OTEL"
        }'

Contoh isi permintaan terdiri dari elemen berikut:

  • Untuk mendukung OpenTelemetry Collector yang dikelola pelanggan, parameter exporter ditetapkan ke OPEN_TELEMETRY_COLLECTOR dan parameter traceProtocol ditetapkan ke OTLP.
  • Parameter endpoint ditetapkan ke URL HTTP/HTTPS lengkap dari endpoint penyerapan OTLP OpenTelemetry Collector Anda (misalnya, http://my-otel-collector.example.com:4318/v1/traces). Tidak seperti eksportir Cloud Trace, yang menggunakan ID project Google Cloud saja, eksportir OPEN_TELEMETRY_COLLECTOR memerlukan URL lengkap yang mencakup skema, host, port, dan jalur. Tidak seperti endpoint Cloud Trace, OpenTelemetry Collector endpoint dapat diubah: Anda dapat mengonfigurasi ulang nanti dengan PATCH lain ke traceConfig.
  • samplingRate disetel ke 0,05. Artinya, sekitar 5% panggilan API dikirim ke rekaman aktivitas terdistribusi. Untuk mengetahui informasi selengkapnya, lihat Pertimbangan performa.
  • Parameter otelCollectorSecurityScheme bersifat opsional dan defaultnya adalah NONE. Tetapkan ke MTLS untuk mengaktifkan TLS dua arah antara Apigee dan pengumpul; lihat Mengonfigurasi mTLS untuk OpenTelemetry Collector untuk mengetahui kolom mtlsConfig yang diperlukan dan isi permintaan API lengkap.

Respons yang berhasil akan terlihat mirip dengan berikut ini:

{
  "exporter": "OPEN_TELEMETRY_COLLECTOR",
  "endpoint": "http://my-otel-collector.example.com:4318/v1/traces",
  "samplingConfig": {
    "sampler": "PROBABILITY",
    "samplingRate": 0.05
  },
  "traceProtocol": "OTLP",
  "spanSemantics": "OTEL"
}

Pertimbangan saat menggunakan OpenTelemetry Collector

Sebelum mengaktifkan pelacakan terdistribusi ke OpenTelemetry Collector yang dikelola pelanggan, tinjau persyaratan berikut.

Keterjangkauan jaringan

  • Pastikan Apigee dapat menjangkau OpenTelemetry Collector.
  • Untuk menjangkau pengumpul yang tidak diekspos di internet publik, gunakan Private Service Connect (PSC).
  • Jika proxy penerusan ada dalam penyiapan Anda, konfigurasikan di OpenTelemetry Collector. Koneksi dari pemroses pesan ke OpenTelemetry Collector selalu langsung.

Protokol transportasi

Hanya transport OTLP/HTTP yang didukung untuk OpenTelemetry Collector (port 4318 dan jalur /v1/traces berdasarkan konvensi OTLP). OTLP/gRPC (port 4317) tidak didukung.

TLS dan mTLS

Apigee mendukung dua skema keamanan untuk koneksi ke OpenTelemetry Collector, yang ditetapkan melalui otelCollectorSecurityScheme di traceConfig:

  • Tanpa keamanan (HTTP) (NONE, default): Apigee terhubung ke collector melalui HTTP tanpa mutual TLS.
  • mTLS (MTLS): mutual TLS, sehingga pengumpul juga dapat mengautentikasi Apigee sebagai klien. Untuk mengaktifkan mTLS, tetapkan otelCollectorSecurityScheme ke MTLS di traceConfig dan berikan mtlsConfig yang mereferensikan keystore dan truststore yang dikelola Apigee. Lihat Mengonfigurasi mTLS untuk OpenTelemetry Collector untuk penyiapan end-to-end.

Mengonfigurasi mTLS untuk OpenTelemetry Collector

mutual TLS (mTLS) memungkinkan OpenTelemetry Collector Anda mengautentikasi runtime Apigee sebagai klien, selain Apigee memvalidasi sertifikat server collector.

Sebelum mengonfigurasi mTLS, verifikasi prasyarat berikut:

  • Pengumpul Anda dikonfigurasi untuk mewajibkan autentikasi sertifikat klien (misalnya, setelan tls.client_ca_file OpenTelemetry Collector) dan di-deploy dengan file certificate authority (CA) yang berisi rantai sertifikat yang Anda upload di langkah 1 penyiapan.
  • endpoint menggunakan skema https://.
  • exporter adalah OPEN_TELEMETRY_COLLECTOR dan traceProtocol adalah OTLP. mTLS tidak diterapkan ke pengekspor OPEN_TELEMETRY_CLOUD_TRACE, yang melakukan autentikasi menggunakan Google Cloud OAuth.

Langkah 1: Upload kunci dan sertifikat klien

Buat keystore untuk sertifikat klien Apigee yang diautentikasi oleh pengumpul, lalu upload kunci dan sertifikat sebagai alias:

curl -H "$TOKEN" \
    -H "Content-Type: application/json" \
    https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/keystores \
    -X POST \
    -d '{ "name": "otel-mtls" }'

curl -H "$TOKEN" \
    "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/keystores/otel-mtls/aliases?alias=mp-client&format=keycertfile" \
    -X POST \
    -F "keyFile=@client.key" \
    -F "certFile=@client.crt"

File client.crt harus ditandatangani oleh certificate authority yang dipercaya oleh tls.client_ca_file pengumpul. Untuk penyiapan yang ditandatangani sendiri, client.crt dapat berupa file yang sama dengan yang digunakan pengumpul sebagai client_ca_file-nya.

Langkah 2: Upload sertifikat server pengumpul

Buat truststore yang digunakan runtime Apigee untuk memvalidasi sertifikat server pengumpul, lalu upload sertifikat CA pengumpul sebagai alias CERT:

curl -H "$TOKEN" \
    -H "Content-Type: application/json" \
    https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/keystores \
    -X POST \
    -d '{ "name": "otel-mtls-truststore" }'

curl -H "$TOKEN" \
    "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/keystores/otel-mtls-truststore/aliases?alias=server-ca&format=keycertfile" \
    -X POST \
    -F "certFile=@server-ca.pem"

Langkah 3: Aktifkan mTLS di traceConfig

PATCH traceConfig untuk menyetel skema keamanan ke MTLS dan merujuk keystore dan truststore yang baru saja Anda buat:

curl -H "$TOKEN" \
    -H "Content-Type: application/json" \
    https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig \
    -X PATCH \
    -d '{
          "exporter": "OPEN_TELEMETRY_COLLECTOR",
          "endpoint": "https://my-otel-collector.example.com:4318/v1/traces",
          "traceProtocol": "OTLP",
          "spanSemantics": "OTEL",
          "otelCollectorSecurityScheme": "MTLS",
          "mtlsConfig": {
            "keyStore":   "otel-mtls",
            "keyAlias":   "mp-client",
            "trustStore": "otel-mtls-truststore"
          }
        }'

Objek mtlsConfig memiliki tiga kolom wajib diisi:

  • keyStore: nama keystore yang menyimpan kunci dan sertifikat klien Apigee dari langkah 1 (misalnya, otel-mtls). Untuk menggunakan Referensi Apigee, tentukan ref://REFERENCE_NAME.
  • keyAlias: nama alias KEY_CERT di dalam keyStore (misalnya, mp-client).
  • trustStore: nama keystore yang menyimpan sertifikat CA server pengumpul dari langkah 2 (misalnya, otel-mtls-truststore). Untuk menggunakan Referensi Apigee, tentukan ref://REFERENCE_NAME.

Apigee menerapkan validasi berikut pada traceConfig saat otelCollectorSecurityScheme adalah MTLS:

  • exporter harus berupa OPEN_TELEMETRY_COLLECTOR.
  • traceProtocol harus berupa OTLP.
  • endpoint harus menggunakan skema https://.
  • Ketiga kolom mtlsConfig harus diisi. Jika ada kolom yang tidak diisi, respons yang ditampilkan adalah HTTP 400.
  • Keystore, alias, dan referensi yang dirujuk harus sudah ada. Resource yang tidak ada akan menampilkan HTTP 400.

Merotasi kunci atau sertifikat klien

Untuk mengganti kunci atau sertifikat klien tanpa perubahan traceConfig, upload materi kunci baru ke alias mp-client yang ada dengan PUT:

curl -H "$TOKEN" \
    "https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/keystores/otel-mtls/aliases/mp-client" \
    -X PUT \
    -F "keyFile=@client-v2.key" \
    -F "certFile=@client-v2.crt"

Runtime Apigee mendeteksi perubahan revisi alias pada sinkronisasi konfigurasi berikutnya dan membangun ulang eksportir OTLP mTLS dengan kredensial baru. Tidak perlu memulai ulang pod dan tidak ada permintaan dalam proses yang dibatalkan.

Kriteria pengambilan sampel

Runtime Apigee memutuskan apakah akan merekam aktivitas pelacakan untuk setiap permintaan dengan menggabungkan header permintaan masuk dengan konfigurasi pelacakan lingkungan.

Header konteks trace W3C

Dalam konfigurasi OpenTelemetry, runtime akan mematuhi header konteks rekaman aktivitas W3C traceparent. Byte terakhir traceparent (byte trace-flags) membawa flag sampled: nilai 01 menunjukkan bahwa pemanggil telah memutuskan untuk merekam rekaman aktivitas, dan 00 menunjukkan bahwa pemanggil belum memutuskan.

Rekomendasi untuk flag yang disampel dalam spesifikasi konteks rekaman aktivitas W3C menyarankan agar komponen mematuhi flag yang disampel masuk saat membuat keputusan perekaman, dan mencerminkan keputusan perekaman definitif dalam flag. Apigee mengikuti rekomendasi ini: Apigee mematuhi flag yang diambil sampelnya yang masuk saat memutuskan apakah akan merekam rekaman aktivitas (lihat Prioritas header dibandingkan konfigurasi lokal) dan menetapkan flag yang diambil sampelnya di header traceparent yang dipropagasikan ke layanan hilir untuk mencerminkan apakah permintaan sedang direkam. Sebagai kontrol keamanan terhadap pelacakan yang tidak diinginkan yang didorong oleh flag masuk, tetapkan sampler ke OFF (lihat Menonaktifkan konfigurasi pelacakan terdistribusi), yang menonaktifkan pelacakan bahkan untuk permintaan yang traceparent-nya memiliki flag yang disampel.

Prioritas header dibandingkan konfigurasi lokal

Saat permintaan masuk membawa header traceparent, runtime Apigee menggunakan tanda yang diambil sampelnya dari header tersebut, bukan samplingConfig lokalnya. Permintaan dengan flag yang disampel ditetapkan ke 01 akan selalu dilacak; permintaan dengan flag yang ditetapkan ke 00 tidak dilacak. samplingConfig tingkat lingkungan hanya berlaku untuk permintaan yang tiba tanpa header traceparent.

Menonaktifkan rekaman aktivitas

Untuk menonaktifkan pelacakan untuk setiap proxy di lingkungan (tidak termasuk penggantian proxy), tetapkan sampler ke OFF di lingkungan traceConfig. Lihat Menonaktifkan konfigurasi pelacakan terdistribusi.

Penggantian per proxy

Untuk mengaktifkan pelacakan hanya untuk sebagian kecil proxy di lingkungan, biarkan samplingConfig lingkungan dengan sampler yang ditetapkan ke OFF dan buat penggantian per-proxy (dengan sampler yang ditetapkan ke PROBABILITY dan samplingRate yang bukan nol) untuk setiap proxy yang ingin Anda lacak. Lihat Mengganti setelan rekaman aktivitas untuk proxy API.

Dampak performa frekuensi sampling

samplingRate yang Anda konfigurasi secara langsung memengaruhi performa runtime. Setiap permintaan yang diambil sampelnya akan menimbulkan pekerjaan CPU tambahan pada pemroses pesan (pembuatan dan ekspor rentang) dan menambahkan latensi ke jalur permintaan. Seiring meningkatnya frekuensi pengambilan sampel, volume traffic yang dilacak per MP juga meningkat, yang dapat mengurangi throughput dan meningkatkan latensi ekor (p95, p99). Dampak meningkat seiring dengan volume traffic: pada kecepatan permintaan yang rendah, overhead biasanya dapat diabaikan, sedangkan pada kecepatan permintaan yang tinggi, rasio pengambilan sampel yang tinggi dapat secara signifikan mengurangi throughput berkelanjutan dan memerlukan kapasitas MP tambahan. Dalam tolok ukur internal, menjalankan dengan samplingRate=1.0 (sampling 100%) di bawah lalu lintas padat yang berkelanjutan mengurangi throughput hingga sekitar 15% dibandingkan dengan menjalankan tanpa mengaktifkan pelacakan.

Sebagai panduan umum, pertahankan samplingRate rendah (misalnya, 0.1 atau lebih rendah) dalam produksi, dan naikkan hanya untuk proxy tertentu melalui penggantian per proxy saat Anda memerlukan visibilitas yang lebih dalam. Untuk mengetahui perincian mendetail tentang perkiraan dampak dan panduan kapasitas, lihat Pertimbangan performa.

Pertimbangan performa

Dampak performa diperkirakan terjadi saat Anda mengaktifkan pelacakan terdistribusi untuk lingkungan runtime Apigee. Dampaknya dapat menyebabkan peningkatan penggunaan memori, peningkatan persyaratan CPU, dan peningkatan latensi. Besarnya dampak bergantung pada kompleksitas proxy API (misalnya, jumlah kebijakan), rasio pengambilan sampel probabilistik (ditetapkan sebagai samplingRate), dan yang paling penting pada volume traffic yang dilacak relatif terhadap kapasitas ekspor rentang per-message-processor (MP).

MP Apigee memiliki kecepatan ekspor rentang yang terbatas. Dengan konfigurasi default, satu MP dapat mengekspor sekitar 820 rentang per detik secara berkelanjutan. Eksekusi proxy API yang umum menghasilkan sekitar 10 rentang (preflow proxy, alur target, postflow, kebijakan terlampir), sehingga satu MP dapat secara berkelanjutan melacak sekitar 82 permintaan per detik pada pengambilan sampel 100%. Penskalaan jumlah replika MP akan meningkatkan batas gabungan secara linear.

Tabel berikut merangkum perkiraan dampak pada samplingRate=1.0 (probabilitas 100%) di dua rezim traffic:

Regulasi lalu lintas (per MP) Dampak yang diharapkan pada samplingRate=1.0 Tindakan yang disarankan
Lalu lintas ringan (kurang dari sekitar 82 permintaan yang dilacak per detik per MP) Throughput turun sekitar 1-2%; latensi rata-rata meningkat sekitar 1%; latensi p99 meningkat sekitar 15-20%. Tidak signifikan dalam praktiknya. Aman diaktifkan pada 100%.
Lalu lintas padat (jauh di atas sekitar 82 permintaan yang dilacak per detik per MP) Throughput turun sekitar 14%; latensi rata-rata meningkat sekitar 24%; latensi p75 meningkat sekitar 52%; tingkat error meningkat sekitar 1 poin persentase. Turunkan samplingRate (misalnya, ke 0.1 atau 0.05), atau tingkatkan jumlah replika MP agar setiap MP melayani lebih sedikit permintaan yang dilacak per detik.

Untuk lingkungan dengan persyaratan traffic tinggi dan latensi rendah, rasio pengambilan sampel probabilistik yang direkomendasikan adalah kurang dari atau sama dengan 10%. Jika Anda ingin menggunakan pelacakan terdistribusi untuk memecahkan masalah, pertimbangkan untuk meningkatkan pengambilan sampel probabilistik (samplingRate) hanya untuk proxy API tertentu melalui penggantian per proxy.

Mengonfigurasi runtime Apigee untuk Cloud Trace (OpenCensus)

Runtime Apigee dan runtime Apigee Hybrid mendukung pelacakan terdistribusi menggunakan Cloud Trace dengan OpenCensus. Jika Anda menggunakan Jaeger, Anda dapat melewati bagian ini dan melanjutkan ke Mengaktifkan distributed tracing untuk Jaeger dengan OpenCensus.

Mengonfigurasi runtime Apigee untuk Cloud Trace

Untuk mengonfigurasi runtime Apigee untuk Cloud Trace, Google Cloud project Anda harus mengaktifkan Cloud Trace API.

Untuk mengaktifkan API, lakukan hal berikut:

  1. Dari konsol Google Cloud , buka APIs and Services:

    Buka API dan Layanan

  2. Klik Enable APIs and Services.
  3. Aktifkan Cloud Trace API.

Mengonfigurasi runtime Apigee hybrid untuk Cloud Trace

Untuk mengonfigurasi runtime Apigee Hybrid untuk Cloud Trace, aktifkan Cloud Trace API.

Selain mengaktifkan API, Anda harus menambahkan akun layanan iam.gserviceaccount.com untuk menggunakan Cloud Trace dengan runtime hybrid. Untuk menambahkan akun layanan, beserta peran dan kunci roles/cloudtrace.agent yang diperlukan, lakukan langkah-langkah berikut:

  1. Buat akun layanan baru:
    gcloud iam service-accounts create \
        apigee-runtime --display-name "Service Account Apigee hybrid runtime" \
        --project PROJECT_ID
  2. Tambahkan binding kebijakan IAM ke akun layanan:
    gcloud projects add-iam-policy-binding \
        PROJECT_ID --member "serviceAccount:apigee-runtime@PROJECT_ID.iam.gserviceaccount.com" \
        --role=roles/cloudtrace.agent --project PROJECT_ID
  3. Buat kunci akun layanan dan perbarui overrides.yaml Anda seperti yang dijelaskan dalam langkah-langkah berikut.
  4. Membuat kunci akun layanan:
    gcloud iam service-accounts keys \
        create ~/apigee-runtime.json --iam-account apigee-runtime@PROJECT_ID.iam.gserviceaccount.com
  5. Tambahkan akun layanan ke file overrides.yaml.
    envs:
     - name: ENV_NAME
       serviceAccountPaths:
         runtime: apigee-runtime.json
         synchronizer: apigee-sync.json
         udca: apigee-udca.json
  6. Terapkan perubahan ke runtime menggunakan Helm:
    helm upgrade ENV_NAME apigee-env/ \
        --namespace APIGEE_NAMESPACE \
        --set env=ENV_NAME \
        --atomic \
        -f overrides.yaml

Mengaktifkan tracing terdistribusi (OpenCensus)

Sebelum mengaktifkan pelacakan terdistribusi, buat variabel lingkungan yang diperlukan.

Mengaktifkan pelacakan terdistribusi untuk Cloud Trace dengan OpenCensus

Contoh berikut menunjukkan cara mengaktifkan pelacakan terdistribusi untuk Cloud Trace dengan OpenCensus:

  1. Jalankan panggilan Apigee API ini:
    curl -H "$TOKEN" \
        -H "Content-Type: application/json" \
        https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig \
        -X PATCH \
        -d '{
              "exporter":"CLOUD_TRACE",
              "endpoint": "'"$PROJECT_ID"'",
              "samplingConfig": {"sampler": "PROBABILITY","samplingRate": 0.1}
            }'

    Contoh isi permintaan terdiri dari elemen berikut:

    • Untuk mendukung Cloud Trace, parameter exporter disetel ke CLOUD_TRACE. Parameter traceProtocol, yang tidak ditentukan, secara default ditetapkan ke OpenCensus.
    • Parameter endpoint ditetapkan ke project Google Cloud tempat Anda ingin mengirim rekaman aktivitas.
    • samplingRate disetel ke 0,1. Artinya, sekitar 10% panggilan API dikirim ke rekaman aktivitas terdistribusi. Untuk OpenCensus, frekuensi sampling maksimum yang dapat dikonfigurasi adalah 0.5.

    Respons yang berhasil akan terlihat mirip dengan berikut ini:

    {
      "exporter": "CLOUD_TRACE",
      "endpoint": "staging",
      "samplingConfig": {
        "sampler": "PROBABILITY",
        "samplingRate": 0.1
      }
    }

Mengaktifkan pelacakan terdistribusi untuk Jaeger dengan OpenCensus

Contoh berikut menunjukkan cara mengaktifkan pelacakan terdistribusi untuk Jaeger:

curl -s -H "$TOKEN" \
    https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig \
    -X PATCH \
    -H "content-type:application/json" -d '{
    "samplingConfig": {
    "samplingRate": 0.4,
    "sampler": "PROBABILITY"},
    "endpoint": "http://DOMAIN:9411/api/v2/spans",
    "exporter": "JAEGER"
    }'

Dalam contoh ini:

  • Untuk mendukung Jaeger, parameter exporter disetel ke JAEGER. Parameter traceProtocol, yang tidak ditentukan, secara default ditetapkan ke OpenCensus.
  • Parameter endpoint disetel ke tempat Jaeger diinstal dan dikonfigurasi.
  • samplingRate disetel ke 0,4. Artinya, sekitar 40% panggilan API dikirim ke pelacakan terdistribusi.

Dampak performa diperkirakan terjadi saat Anda mengaktifkan pelacakan terdistribusi untuk lingkungan runtime Apigee. Dampak dapat menyebabkan peningkatan penggunaan memori, peningkatan persyaratan CPU, dan peningkatan latensi. Besarnya dampak akan bergantung sebagian pada kompleksitas proxy API (misalnya, jumlah kebijakan) dan tingkat pengambilan sampel probabilistik (ditetapkan sebagai samplingRate). Semakin tinggi tingkat pengambilan sampel, semakin besar dampak pada performa.

Untuk mengetahui informasi selengkapnya, lihat Pertimbangan performa.

Melihat konfigurasi tracing terdistribusi

Untuk melihat konfigurasi pelacakan terdistribusi yang ada di runtime Anda, login ke runtime Anda, lalu jalankan perintah berikut:

curl -H "$TOKEN" \
    -H "Content-Type: application/json" \
    https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig

Saat menjalankan perintah, Anda dapat melihat respons yang mirip dengan berikut:

{
  "exporter": "CLOUD_TRACE",
  "endpoint": "my-gcp-project-id",
  "samplingConfig": {
    "sampler": "PROBABILITY",
    "samplingRate": 0.1
  },
  "revisionId": "7",
  "updateTime": "2026-06-08T14:25:13.512000Z"
}

revisionId bertambah dengan setiap update yang berhasil dan updateTime mencerminkan stempel waktu server dari perubahan terbaru. Gunakan kedua kolom ini untuk mengonfirmasi bahwa bidang kontrol telah menerima update konfigurasi; keduanya juga ditampilkan oleh respons PATCH .../traceConfig.

Memperbarui konfigurasi pelacakan terdistribusi

Perintah berikut menunjukkan cara memperbarui konfigurasi pelacakan terdistribusi yang ada untuk Cloud Trace:

curl -H "$TOKEN" \
    -H "Content-Type: application/json" \
    https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig \
    -X PATCH \
    -d '{
          "samplingConfig": {"sampler": "PROBABILITY","samplingRate": 0.6}
        }'

Saat menjalankan perintah, Anda dapat melihat respons yang mirip dengan berikut:

{
  "samplingConfig": {
    "sampler": "PROBABILITY",
    "samplingRate": 0.6
  },
  "traceProtocol": "OTLP"
}
Dalam contoh ini, frekuensi pengambilan sampel diperbarui menjadi 0.6.

Menonaktifkan konfigurasi pelacakan terdistribusi

Contoh berikut menunjukkan cara menonaktifkan pelacakan terdistribusi yang dikonfigurasi untuk Cloud Trace:

curl -H "$TOKEN" \
    -H "Content-Type: application/json" \
    https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig \
    -X PATCH \
    -d '{
          "samplingConfig": {"sampler": "OFF"}
        }'

Saat menjalankan perintah, Anda dapat melihat respons yang mirip dengan berikut:

{
  "samplingConfig": {
    "sampler": "OFF"
  },
  "traceProtocol": "OTLP"
}

Mengganti setelan rekaman aktivitas untuk proxy API

Saat Anda mengaktifkan pelacakan terdistribusi di runtime Apigee, semua proxy API di runtime menggunakan konfigurasi yang sama untuk pelacakan. Namun, Anda dapat mengganti konfigurasi pelacakan terdistribusi untuk proxy API atau grup proxy API. Hal ini memberi Anda kontrol yang lebih terperinci atas konfigurasi pelacakan.

Contoh berikut menggantikan konfigurasi pelacakan terdistribusi untuk proxy API hello-world:

curl -s -H "$TOKEN" \
     https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig/overrides \
     -X POST \
     -H "content-type:application/json" \
     -d '{"apiProxy": "hello-world","samplingConfig": {"sampler": "PROBABILITY","samplingRate": 0.1}}'

Anda dapat mengganti konfigurasi untuk memecahkan masalah khusus pada proxy API tanpa harus mengubah konfigurasi semua proxy API.

Memperbarui penggantian setelan rekaman aktivitas

Untuk memperbarui penggantian konfigurasi pelacakan untuk proxy API atau grup proxy API, gunakan langkah-langkah berikut:

  1. Gunakan perintah berikut untuk mengambil penggantian konfigurasi pelacakan yang ada:
    curl -s -H "$TOKEN" \
        https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig/overrides \
        -X GET 

    Perintah ini akan menampilkan respons yang mirip dengan berikut, yang berisi kolom "name" yang mengidentifikasi proxy yang diatur oleh penggantian:

    {
      "traceConfigOverrides": [
        {
          "name": "dc8437ea-4faa-4b57-a14f-4b8d3a15fec1",
          "apiProxy": "proxy1",
          "samplingConfig": {
            "sampler": "PROBABILITY",
            "samplingRate": 0.25
          }
        }
      ]
    }
  2. Untuk memperbarui proxy, gunakan nilai kolom "name" untuk mengirim permintaan POST ke konfigurasi penggantian untuk proxy tersebut,beserta nilai kolom yang diperbarui. Contoh:
    curl -s -H "$TOKEN" \
        https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig/overrides/dc8437ea-4faa-4b57-a14f-4b8d3a15fec1 \
        -X POST \
        -H "content-type:application/json" \
        -d '{"apiProxy": "proxy1","samplingConfig": {"sampler": "PROBABILITY","samplingRate": 0.05}}'

Menghapus penggantian setelan rekaman aktivitas

Untuk menghapus penggantian konfigurasi pelacakan untuk proxy API atau grup proxy API, gunakan langkah-langkah berikut:

  1. Gunakan perintah berikut untuk mengambil penggantian konfigurasi pelacakan yang ada:
    curl -s -H "$TOKEN" \
        https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig/overrides \
        -X GET 

    Perintah ini akan menampilkan respons yang mirip dengan berikut, yang berisi kolom "name" yang mengidentifikasi proxy yang diatur oleh penggantian:

    {
      "traceConfigOverrides": [
        {
          "name": "dc8437ea-4faa-4b57-a14f-4b8d3a15fec1",
          "apiProxy": "proxy1",
          "samplingConfig": {
            "sampler": "PROBABILITY",
            "samplingRate": 0.25
          }
        }
      ]
    }
  2. Untuk menghapus proxy, gunakan nilai kolom "name" untuk mengirim permintaan DELETE ke konfigurasi penggantian untuk proxy tersebut,beserta nilai kolom yang diperbarui. Contoh:
    curl -s -H "$TOKEN" \
        https://apigee.googleapis.com/v1/organizations/$PROJECT_ID/environments/$ENV_NAME/traceConfig/overrides/dc8437ea-4faa-4b57-a14f-4b8d3a15fec1 \
        -X DELETE \

Memecahkan masalah pelacakan terdistribusi

Untuk memecahkan masalah pelacakan terdistribusi, lakukan hal berikut:

  • Verifikasi konfigurasi pelacakan terdistribusi menggunakan traceConfig API untuk memastikan konfigurasi tersebut sesuai dengan kebutuhan Anda.
  • Pastikan akun layanan memiliki izin IAM (peran) yang benar di project tujuan.
  • Jika menggunakan Cloud Trace dengan OpenTelemetry, periksa span masuk dan error pengaktifan atau kuota API.
  • Jika menggunakan OpenTelemetry Collector yang dikelola pelanggan, lakukan hal berikut:
    • Pastikan Apigee dapat menjangkau endpoint Pengumpul. Periksa penyiapan Private Service Connect (PSC) Anda jika digunakan.
    • Periksa log OpenTelemetry Collector untuk mengetahui masalah data atau koneksi.
    • Pastikan sertifikat TLS pengumpul valid.
  • Periksa log runtime Apigee untuk mengetahui error ekspor rekaman aktivitas.