All Products
Search
Document Center

API Gateway:Troubleshoot masalah yang terjadi selama debugging API

Last Updated:Jun 03, 2026

API Gateway memungkinkan Anda melakukan debugging terhadap API yang telah dipublikasikan secara online. Topik ini menjelaskan cara melakukan troubleshooting terhadap masalah yang muncul selama proses debugging API.

Batasan debugging

Gunakan fitur debug API di Konsol API Gateway untuk melakukan debugging terhadap API yang telah dipublikasikan dan mengatasi kegagalan. Sebelum memulai, perhatikan batasan berikut:

Catatan
  • Fitur debug API mendukung tiga metode autentikasi: autentikasi signature, autentikasi simple (AppCode), dan autentikasi plug-in autentikasi dasar (BasicAuth plug-in).

  • Fitur debug API mendukung multipart dan form-data. Anda dapat mengunggah file pada halaman debugging.

  • Ukuran paket permintaan maksimum pada halaman debugging adalah 512 KB. Untuk muatan yang lebih besar, gunakan SDK untuk debugging.

  • Jika Anda telah mengonfigurasi plug-in throttling berbasis alamat IP dengan daftar izin (allow list) atau daftar tolak (deny list) pada suatu instans, pastikan daftar tersebut mengizinkan alamat IP yang digunakan untuk debugging. Anda dapat menemukan alamat IP ini di pojok kiri bawah halaman debugging API.

Baca informasi kesalahan dari header respons

API Gateway mengembalikan respons untuk setiap permintaan yang diterimanya. Header yang diawali dengan X-Ca membawa informasi diagnostik yang dikembalikan oleh API Gateway. Tiga header paling berguna untuk troubleshooting adalah:

  • X-Ca-Error-Code: kode kesalahan. Hanya muncul ketika API Gateway menolak permintaan.

  • X-Ca-Request-Id: ID permintaan unik. API Gateway menghasilkan dan mengembalikan ID ini untuk setiap permintaan. Catat ID ini baik di sisi client maupun layanan backend — ID ini merupakan handle utama Anda untuk pelacakan dan troubleshooting.

  • X-Ca-Error-Message: pesan kesalahan. Dikembalikan bersamaan dengan X-Ca-Error-Code ketika permintaan gagal.

Cari detail pemanggilan berdasarkan X-Ca-Request-Id

Gunakan X-Ca-Error-Code dan X-Ca-Error-Message untuk mengidentifikasi kegagalan awal. Ada tiga kemungkinan hasil:

Kesalahan yang dilaporkan oleh API Gateway

Jika X-Ca-Error-Code tidak kosong, berarti API Gateway menolak permintaan tersebut. Kode kesalahan berupa string enam karakter. Gunakan X-Ca-Error-Message untuk deskripsi singkat penyebabnya. Untuk daftar lengkap kode kesalahan, lihat Kode kesalahan.

Kesalahan yang dilaporkan oleh layanan backend

Jika kode status HTTP bukan 200 dan X-Ca-Error-Code kosong, berarti API Gateway berhasil meneruskan permintaan, tetapi layanan backend mengembalikan respons non-200. Periksa logika layanan backend Anda. Jika Anda membeli API dari Alibaba Cloud Marketplace, hubungi penyedia layanan tersebut.

Permintaan berhasil

Jika kode status HTTP adalah 200, berarti API Gateway berhasil meneruskan permintaan dan layanan backend mengembalikan respons yang sukses.

Untuk investigasi lebih lanjut, gunakan X-Ca-Request-Id untuk mengkueri log permintaan terperinci di Simple Log Service dan melihat hasilnya di Konsol API Gateway. Anda juga dapat membagikannya kepada tim dukungan teknis.

Untuk mencari permintaan di konsol:

  1. Masuk ke Konsol API Gateway.

  2. Di panel navigasi kiri, klik Call APIs > Troubleshooting. Masukkan Region of the API Gateway dan X-Ca-Request-Id, lalu klik Query.

Catatan

Untuk informasi lebih lanjut tentang field log, lihat Gunakan Simple Log Service untuk mengelola log pemanggilan API.

Dapatkan log jejak

Setelah mengirim permintaan di halaman debugging API, Anda dapat melihat log jejaknya. Log ini mencatat seluruh siklus hidup permintaan: permintaan yang diterima API Gateway dari client, langkah-langkah pemrosesan di dalam API Gateway, permintaan yang dikirim API Gateway ke layanan backend, respons dari backend, serta respons akhir yang dikembalikan ke client.

Jika Anda menggunakan akun Pengguna RAM atau role yang diasumsikan, pilih Record Trace log sebelum mengirim permintaan. Akun tersebut juga harus memiliki izin apigateway:AcquireGatewayToken yang diberikan oleh akun root untuk instans tempat API berada. Untuk informasi lebih lanjut tentang pemberian izin, lihat Gunakan RAM untuk mengelola API.

Contoh berikut menunjukkan pernyataan kebijakan yang memberikan izin tersebut:

{
 "Version": "1",
 "Statement": [
 {
 "Effect": "ALLOW",
 "Action": "apigateway:AcquireGatewayToken",
 "Resource": "acs:apigateway:{#regionId}:{#accountId}:instance/{#InstanceId}"
 }
 ]
}
# Simbol {#} menunjukkan variabel yang harus Anda ganti dengan nilai aktual.

Analisis kesalahan menggunakan tab Diagnostics

Pada bagian Call information di tab Diagnostics, Anda dapat memeriksa log untuk setiap pemanggilan. Dua field latensi memungkinkan Anda langsung mengidentifikasi apakah kegagalan berasal dari dalam API Gateway atau dari layanan backend:

  • TotalLatency: waktu total sejak API Gateway menerima permintaan client hingga mengirimkan respons lengkap kembali ke client.

  • ServiceLatency: waktu sejak API Gateway mengirim permintaan ke layanan backend hingga menerima respons lengkap darinya.

Jika ServiceLatency bernilai 0, berarti permintaan dicegat oleh API Gateway dan tidak pernah sampai ke layanan backend. Jika ServiceLatency lebih besar dari 0, berarti permintaan telah sampai ke layanan backend.

Log tersebut juga mencatat timestamp I/O untuk setiap tahap jalur permintaan:

Field

Deskripsi

FrontRequestStart

Saat API Gateway mulai menerima permintaan dari client

FrontRequestEnd

Saat API Gateway selesai menerima permintaan dari client

BackendRequestStart

Saat API Gateway mulai mengirim permintaan ke layanan backend

BackendRequestEnd

Saat API Gateway selesai mengirim permintaan ke layanan backend

BackendResponseStart

Saat API Gateway mulai menerima respons dari layanan backend

BackendResponseEnd

Saat API Gateway selesai menerima respons dari layanan backend

FrontResponseStart

Saat API Gateway mulai mengirim respons ke client

FrontResponseEnd

Saat API Gateway selesai mengirim respons ke client

Untuk informasi lebih lanjut tentang field log, lihat Gunakan Simple Log Service untuk mengelola log pemanggilan API.