Topik ini membantu Anda mendiagnosis dan menyelesaikan masalah ketika data yang dilaporkan melalui klien open-source tidak muncul di konsol Managed Service for OpenTelemetry atau ketika log error muncul di konsol atau file log.
Data yang tidak muncul termasuk dalam salah satu dari dua kategori berikut:
Data tidak sampai ke server — disebabkan oleh masalah jaringan, pengaturan ingesti yang dinonaktifkan, kuota yang terlampaui, atau error pada level protokol (HTTP atau gRPC).
Data sampai tetapi tidak ditampilkan sebagaimana mestinya — disebabkan oleh jejak yang rusak, rentang yang hilang, atau kesalahan konfigurasi agen.
Verifikasi konektivitas jaringan
Konfirmasi bahwa klien dapat mencapai titik akhir Managed Service for OpenTelemetry.
Identifikasi apakah titik akhir dalam kode Anda adalah private endpoint atau public endpoint.
Private endpoint harus berada dalam virtual private cloud (VPC) yang sama dengan server. Pelaporan lintas wilayah tidak didukung.
Dari lingkungan pelaporan, jalankan perintah
curlatautelnetuntuk menguji titik akhir dan port. Jika titik akhir tidak tersedia, periksa pengaturan security group instans Elastic Compute Service (ECS). Contoh untuk titik akhir gRPC di wilayah Tiongkok (Hangzhou):telnet <endpoint> <port>telnet tracing-analysis-dc-hz.aliyuncs.com 8090Periksa hasilnya: Output berikut menunjukkan koneksi berhasil. Output berikut menunjukkan koneksi gagal.
Hasil Makna Langkah selanjutnya Koneksi berhasil dibuat (terminal menampilkan Connected to ...)Klien dapat mencapai server. Lanjutkan ke Periksa pengaturan ingesti data. Terhenti di Trying <IP>...atau mengembalikanUnable to connect to remote hostKlien tidak dapat mencapai server. Periksa aturan security group instans Elastic Compute Service (ECS) dan konfigurasi jaringan VPC. Untuk detailnya, lihat Hubungkan ke Managed Service for OpenTelemetry dan autentikasi klien dan Security groups. ~ → telnet tracing-analysis-dc-hz.aliyuncs.com 8090 Trying xxx.67.89... Connected to tracing-analysis-dc-hz.aliyuncs.com. Escape character is '^]'.telnet tracing-analysis-dc-hz-internal.aliyuncs.com 8090 Trying xxx.80.178... telnet: connect to address xxx.80.178: Operation timed out Trying xxx.7.123... telnet: connect to address xxx.7.123: Operation timed out telnet: Unable to connect to remote host
Periksa pengaturan ingesti data
Ingesti data dapat dikontrol secara global (untuk semua aplikasi) atau per aplikasi. Batas kuota juga dapat memblokir ingesti.
Pengaturan global
Di panel navigasi kiri konsol Managed Service for OpenTelemetry, klik Cluster Configurations.
Di bagian Data Capturing Settings, verifikasi bahwa Enable All atau Enable by Default dipilih.
Pengaturan per aplikasi
Di halaman Applications, klik nama aplikasi target.
Di panel navigasi kiri, klik Application Settings.
Di tab Custom Configuration, pada bagian Data Capturing Settings, verifikasi bahwa Capture Data diatur ke Enable atau Don't Set.
Jika pengaturan global adalah Enable All atau Disable All, pengaturan per aplikasi tidak berlaku. Pengaturan global selalu memiliki prioritas lebih tinggi. Ketika Don't Set dipilih untuk suatu aplikasi, aplikasi tersebut mewarisi pengaturan tingkat kluster.
Kuota
Di halaman Cluster Configurations, periksa bagian Quota configuration.
Jika volume data yang dilaporkan telah mencapai kuota yang dikonfigurasi, tingkatkan kuota tersebut. Tidak ada data tambahan yang diterima setelah kuota tercapai.
Verifikasi sumber data Simple Log Service
Managed Service for OpenTelemetry menyimpan data di proyek Simple Log Service (SLS) dalam akun Anda. Jika jumlah proyek SLS mencapai batas akun, data gagal dilaporkan.
Untuk mengatasi masalah ini:
Lepaskan proyek SLS yang tidak digunakan untuk membebaskan kapasitas.
Ajukan tiket untuk meminta peningkatan batas proyek.
Periksa status tugas pemantauan
Jika Konsol menunjukkan bahwa tugas pemantauan tidak normal atau tidak diaktifkan, ajukan Tiket ke Dukungan Alibaba Cloud.
Pemecahan masalah error pelaporan HTTP
Periksa kode status HTTP di konsol atau file log dan cocokkan dengan penyebab serta solusi di bawah ini.
| Kode status HTTP | Penyebab | Solusi |
|---|---|---|
| 403 | Server menolak permintaan karena kegagalan otorisasi. | Verifikasi titik akhir dan token. Untuk mendapatkan nilai yang benar, buka Cluster Configurations > Access point information. Untuk klien Zipkin, hapus juga /v2/spans dari URL jika ada. |
| 405 | Volume data yang dilaporkan telah mencapai kuota yang dikonfigurasi. | Tingkatkan kuota di bagian Quota configuration pada halaman Cluster Configurations. |
| 406 | Pengumpulan data tingkat kluster dinonaktifkan. | Aktifkan pengumpulan di bagian Ingestion Configuration pada halaman Cluster Configurations. |
| 400 | Badan permintaan memiliki format data yang tidak didukung. | Atur header Content-Type ke application/json atau application/x-thrift. Verifikasi bahwa kunci tag dan nilainya berupa string (bukan array JSON) dan bahwa rentang dikirim sebagai array JSON (bukan objek JSON). |
Error khusus APISIX
Jika muncul error berikut:
The origin server did not find a current representation for the target resource or is not willing to disclose that one exists.APISIX tidak dapat melaporkan data langsung ke Managed Service for OpenTelemetry melalui OpenTelemetry. Gunakan OpenTelemetry Collector sebagai perantara untuk meneruskan data.
Pemecahan masalah error pelaporan gRPC
Periksa kode status gRPC di konsol atau file log. Untuk daftar lengkap kode status gRPC, lihat Status codes and their use in gRPC.
Timeout
Pesan error:
Failed to export spans. The request could not be executed. Full error message: timeoutSolusi:
Verifikasi konektivitas jaringan (lihat Verifikasi konektivitas jaringan).
Tingkatkan timeout pelaporan dalam konfigurasi SDK atau agen agar sesuai dengan lingkungan Anda.
Kegagalan autentikasi (kode status gRPC 7)
Pesan error:
Failed to export spans. Server responded with gRPC status code 7. Error message:Solusi:
Verifikasi bahwa bidang Authentication dalam header permintaan gRPC sesuai dengan token yang ditampilkan di konsol Managed Service for OpenTelemetry. Untuk menemukan token tersebut, buka Cluster Configurations > Access point information.
Error SkyWalking MeterSender
Pesan error:
MeterSender : Send meters to collector fail with a grpc internal exception.
org.apache.skywalking.apm.dependencies.io.grpc.StatusRuntimeException:
UNIMPLEMENTED: Method not found: skywalking.v3.MeterReportService/collectPenyebab: Klien SkyWalking mencoba mengirim metrik (bukan jejak) ke server Managed Service for OpenTelemetry, yang tidak mendukung metode ini.
Solusi: Nonaktifkan pelaporan metrik dalam konfigurasi klien SkyWalking.
Pemecahan masalah data jejak yang tidak sesuai
Jika data sampai ke konsol tetapi jejak tidak lengkap atau tidak sesuai, gunakan panduan berikut berdasarkan agen atau SDK yang digunakan.
Agen atau SDK SkyWalking
Event framework atau middleware yang hilang
Periksa direktori plugin agen SkyWalking. Untuk SkyWalking v8 dan versi setelahnya, path default adalah:
${agent-path}/agent-8.x/pluginsVerifikasi bahwa versi plugin sesuai dengan versi framework yang digunakan dalam aplikasi. Jika plugin yang diperlukan tidak ada, salin dari direktori
bootstrap-pluginsatauoptional-plugins, atau unduh dari komunitas SkyWalking.Konfirmasi bahwa hanya satu agen yang disambungkan ke aplikasi. Beberapa agen dapat menyebabkan konflik instrumentasi.
Jejak rusak
Periksa apakah aplikasi menggunakan pemrosesan asinkron. Dalam skenario asinkron, konteks jejak mungkin tidak tersebar secara otomatis. Untuk solusinya, lihat Trace Cross Thread dalam dokumentasi SkyWalking.
Jejak lebih pendek dari yang diharapkan
Tingkatkan jumlah maksimum rentang yang dapat dilaporkan oleh agen SkyWalking dengan mengubah collector.agent.service_graph.batch_size di:
${agent-path}/agent-8.x/config/agent.configAgen atau SDK OpenTelemetry
Jejak rusak
Periksa apakah aplikasi menggunakan pemrosesan asinkron. Untuk mengatasi jejak rusak dalam skenario asinkron:
Perbarui OpenTelemetry ke versi terbaru.
Gunakan API SpanLinks untuk menghubungkan rentang yang terkait.
Tentukan secara eksplisit rentang induk untuk mengorelasikan operasi.
Teruskan konteks jejak ke layanan downstream melalui context propagation.