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 rentangRESP_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 thePROXY_POST_RESP_SENTspan.EVENT_FLOW_RESPdanEVENT_FLOW_END: Rentang ini ditambahkan untuk proxy API yang menangani respons streaming Server-Sent Events (SSE).EVENT_FLOW_RESPmenandai alur respons SSE (dijalankan sekali per pesan respons).EVENT_FLOW_ENDmenandai 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: |
| 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:
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: |
| 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_NAMEPROJECT_ID=YOUR_GOOGLE_CLOUD_PROJECT_ID
Dengan:
TOKENmenentukan 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_NAMEadalah nama lingkungan di organisasi Anda.PROJECT_IDadalah 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:
- Cloud Trace API (trace.googleapis.com)
- Telemetry API (telemetry.googleapis.com)
- Service Usage API (serviceusage.googleapis.com)
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:
- Dari konsol Google Cloud , buka APIs and Services:
- Klik Aktifkan API dan Layanan untuk membuka API Library.
- 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.tracesWriterroles/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:
- 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
exporterdisetel keOPEN_TELEMETRY_CLOUD_TRACEdan parametertraceProtocoldisetel keOTLP. samplingRatedisetel ke 0,05. Artinya, sekitar 5% panggilan API dikirim ke rekaman aktivitas terdistribusi. Untuk OpenTelemetry, Anda dapat menentukan frekuensi sampling hingga1.0(100%). Untuk mengetahui informasi selengkapnya, lihat Pertimbangan performa.- Parameter
endpointditetapkan ke Google Cloud project ID yang akan menerima data rekaman aktivitas (string project ID kosong, bukan URL). - Parameter
spanSemanticsbersifat 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. MemerlukantraceProtocolmenjadiOTLP.
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" } - Untuk mendukung Cloud Trace dengan OpenTelemetry, parameter
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
exporterditetapkan keOPEN_TELEMETRY_COLLECTORdan parametertraceProtocolditetapkan keOTLP. - Parameter
endpointditetapkan 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, eksportirOPEN_TELEMETRY_COLLECTORmemerlukan URL lengkap yang mencakup skema, host, port, dan jalur. Tidak seperti endpoint Cloud Trace, OpenTelemetry Collectorendpointdapat diubah: Anda dapat mengonfigurasi ulang nanti denganPATCHlain ketraceConfig. samplingRatedisetel ke 0,05. Artinya, sekitar 5% panggilan API dikirim ke rekaman aktivitas terdistribusi. Untuk mengetahui informasi selengkapnya, lihat Pertimbangan performa.- Parameter
otelCollectorSecuritySchemebersifat opsional dan defaultnya adalahNONE. Tetapkan keMTLSuntuk mengaktifkan TLS dua arah antara Apigee dan pengumpul; lihat Mengonfigurasi mTLS untuk OpenTelemetry Collector untuk mengetahui kolommtlsConfigyang 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, tetapkanotelCollectorSecuritySchemekeMTLSditraceConfigdan berikanmtlsConfigyang 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_fileOpenTelemetry Collector) dan di-deploy dengan file certificate authority (CA) yang berisi rantai sertifikat yang Anda upload di langkah 1 penyiapan. endpointmenggunakan skemahttps://.exporteradalahOPEN_TELEMETRY_COLLECTORdantraceProtocoladalahOTLP. mTLS tidak diterapkan ke pengeksporOPEN_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, tentukanref://REFERENCE_NAME.keyAlias: nama alias KEY_CERT di dalamkeyStore(misalnya,mp-client).trustStore: nama keystore yang menyimpan sertifikat CA server pengumpul dari langkah 2 (misalnya,otel-mtls-truststore). Untuk menggunakan Referensi Apigee, tentukanref://REFERENCE_NAME.
Apigee menerapkan validasi berikut pada
traceConfig saat otelCollectorSecurityScheme adalah
MTLS:
exporterharus berupaOPEN_TELEMETRY_COLLECTOR.traceProtocolharus berupaOTLP.endpointharus menggunakan skemahttps://.- Ketiga kolom
mtlsConfigharus 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:
- Dari konsol Google Cloud , buka APIs and Services:
- Klik Enable APIs and Services.
- 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:
- Buat akun layanan baru:
gcloud iam service-accounts create \ apigee-runtime --display-name "Service Account Apigee hybrid runtime" \ --project PROJECT_ID - 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 - Buat kunci akun layanan dan perbarui
overrides.yamlAnda seperti yang dijelaskan dalam langkah-langkah berikut. - Membuat kunci akun layanan:
gcloud iam service-accounts keys \ create ~/apigee-runtime.json --iam-account apigee-runtime@PROJECT_ID.iam.gserviceaccount.com - Tambahkan akun layanan ke file
overrides.yaml.envs: - name: ENV_NAME serviceAccountPaths: runtime: apigee-runtime.json synchronizer: apigee-sync.json udca: apigee-udca.json - 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:
- 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
exporterdisetel keCLOUD_TRACE. ParametertraceProtocol, yang tidak ditentukan, secara default ditetapkan keOpenCensus. - Parameter
endpointditetapkan ke project Google Cloud tempat Anda ingin mengirim rekaman aktivitas. samplingRatedisetel ke 0,1. Artinya, sekitar 10% panggilan API dikirim ke rekaman aktivitas terdistribusi. Untuk OpenCensus, frekuensi sampling maksimum yang dapat dikonfigurasi adalah0.5.
Respons yang berhasil akan terlihat mirip dengan berikut ini:
{ "exporter": "CLOUD_TRACE", "endpoint": "staging", "samplingConfig": { "sampler": "PROBABILITY", "samplingRate": 0.1 } } - Untuk mendukung Cloud Trace, parameter
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
exporterdisetel keJAEGER. ParametertraceProtocol, yang tidak ditentukan, secara default ditetapkan keOpenCensus. - Parameter
endpointdisetel ke tempat Jaeger diinstal dan dikonfigurasi. samplingRatedisetel 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/traceConfigSaat 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"
}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:
- 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 GETPerintah 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 } } ] } - 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:
- 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 GETPerintah 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 } } ] } - 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
traceConfigAPI 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.