API Gateway terintegrasi secara mulus dengan Simple Log Service (SLS). Anda dapat menggunakan SLS untuk mengkueri log secara real time, mengunduhnya, serta melakukan analisis statistik multidimensi. Log juga dapat dikirimkan ke Object Storage Service (OSS) atau MaxCompute.

Fitur
Kueri log online
Fitur ini berguna untuk troubleshooting dan analisis statistik.
Log panggilan terperinci
Log mencakup bidang-bidang berikut: requestQueryString, requestHeaders, requestBody, responseHeaders, dan responseBody. Bidang-bidang tersebut hanya tersedia untuk instans khusus dan harus diaktifkan pada halaman detail kelompok.
Parameter | Deskripsi |
apiGroupUid | ID kelompok API. |
apiGroupName | Nama kelompok API. |
apiUid | ID API. |
apiName | Nama API. |
apiStageUid | ID lingkungan. |
apiStageName | Nama lingkungan. |
httpMethod | Metode HTTP yang digunakan untuk panggilan. |
path | Jalur permintaan. |
domain | Nama domain yang digunakan untuk panggilan. |
statusCode | Kode status HTTP. |
errorMessage | Pesan kesalahan. |
appId | ID aplikasi pemanggil. |
appName | Nama aplikasi pemanggil. |
clientIp | Alamat IP klien. |
exception | Pesan kesalahan spesifik dari layanan backend. |
exchangeTimestamp | Timestamp peristiwa I/O dalam siklus hidup permintaan.
|
providerAliUid | ID akun penyedia API. |
region | Wilayah. Contoh: |
requestHandleTime | Waktu permintaan (UTC). |
requestId | ID permintaan unik global. |
requestSize | Ukuran permintaan dalam byte. |
responseSize | Ukuran respons dalam byte. |
serviceLatency | Total waktu yang dihabiskan untuk mengakses sumber daya backend, termasuk mengalokasikan sumber daya koneksi, membuat koneksi, dan memanggil layanan backend. Satuan: milidetik. |
errorCode | Kode kesalahan. Contoh: |
requestProtocol | Protokol permintaan klien. Nilai yang valid: HTTP, HTTPS, dan WS. |
instanceId | ID instans tempat layanan API berjalan. |
initialRequestId | Jika satu API memanggil API lain (misalnya, API-1 memanggil API-2), bidang ini mencatat ID permintaan dari panggilan pertama (API-1) dalam log panggilan kedua (API-2). |
clientNonce | Header X-Ca-Nonce dari permintaan klien. |
requestQueryString | String kueri dari permintaan klien (hanya untuk instans khusus). |
requestHeaders | Header dari permintaan klien (hanya untuk instans khusus). |
requestBody | Isi permintaan klien, hingga 1.024 byte (hanya untuk instans khusus). |
responseHeaders | Header dari respons API (hanya untuk instans khusus). |
responseBody | Isi respons API, hingga 1.024 byte (hanya untuk instans khusus). |
consumerAppKey | AppKey dari permintaan API. |
totalLatency | Total latensi permintaan API dalam milidetik. |
customTraceId | ID jejak dari log end-to-end. |
jwtClaims | Claim yang diurai dari JSON Web Token (JWT). Anda dapat mengonfigurasi ini di pengaturan kelompok API. |
plugin | Daftar plug-in yang cocok dengan permintaan API dan konteks terkaitnya. |
Lihat log API dengan Simple Log Service
Metode konfigurasi
Tersedia dua metode konfigurasi:
Gunakan fitur Log Audit di konsol SLS untuk menyinkronkan log API Gateway. Dengan metode ini, log dari semua wilayah dikumpulkan ke proyek Log Audit tanpa memerlukan konfigurasi tambahan di API Gateway.
Konfigurasikan ingesti data untuk API Gateway di konsol SLS. Metode ini memerlukan konfigurasi sinkronisasi terpisah untuk setiap wilayah.
Bagian berikut menjelaskan kedua metode tersebut.
Untuk Alibaba Gov Cloud dan Alibaba Finance Cloud, Anda hanya dapat menyinkronkan log SLS menggunakan metode pertama.
Menggunakan Log Audit
Buka halaman konfigurasi Log Audit Service dan pilih wilayah pusat tempat semua log API Gateway akan dikirimkan.
Bagian atas halaman Konfigurasi Global menampilkan wilayah dan nama proyek pusat. Di bawahnya, tabel menampilkan item konfigurasi untuk produk cloud seperti ActionTrail, Object Storage Service (OSS), RDS, Virtual Private Cloud (VPC), DNS, PolarDB, Server Load Balancer (SLB), dan Application Load Balancer (ALB). Item-item tersebut mencakup sakelar pengumpulan log, Storage Mode (Centralized atau By Region), periode retensi, Sync To Center, dan Archive After N Days. Aktifkan sakelar pengumpulan log untuk produk cloud yang diperlukan, lalu klik Save di pojok kanan atas. Jika muncul pesan bahwa akun tidak memiliki otorisasi untuk mengumpulkan dan menyinkronkan log di bagian Collection and Synchronization Authorization, lengkapi otorisasi menggunakan manual authorization atau Authorize with AccessKey.
Pilih metode otorisasi dan ikuti petunjuk di layar. Contoh ini menggunakan otorisasi manual.
Setelah otorisasi selesai, log panggilan API Gateway tersedia di penyimpanan log
apigateway_logdalam proyek pusat.Log panggilan API Gateway mencakup bidang seperti
apiGroupName,apiGroupUid,apiName,apiStageName,apiStageUid, danapiUid. Anda dapat melihat pasangan kunci-nilai terperinci untuk setiap entri log pada tab Raw Logs.
Konfigurasi di konsol API Gateway
1) Pastikan Anda telah mengaktifkan SLS. Kemudian, login ke Konsol SLS, pilih wilayah target, lalu buat proyek dan penyimpanan log. Contoh ini menggunakan wilayah China (Hangzhou).
Pada kotak dialog Create Project, masukkan Project Name (misalnya, gateway-t***), pertahankan resource group default, dan pilih preferensi Anda di bagian Enable Logging for, seperti Operation Log dan Global Log. Lalu, klik OK. Setelah proyek dibuat, klik Create Logstore pada kotak dialog yang muncul. Saat membuat penyimpanan log, konfigurasikan pengaturannya. Misalnya, atur Nama Penyimpanan Log menjadi gateway_log, Jenis menjadi Standard, Mode Penagihan menjadi Pay-By-Data-Written, Periode Retensi Data menjadi 30 hari, dan Jumlah Shard menjadi 2. Aktifkan Auto Split Shard (maksimal 64 shard) dan Log Public IP, lalu klik OK. Pada kotak dialog konfirmasi akhir, klik Data Import Wizard.
2) Konfigurasikan ingesti data API Gateway dan pilih produk API Gateway.
Setelah Anda memilih API Gateway, halaman Data Source Configuration akan muncul. Pastikan RAM authorization telah selesai (halaman menampilkan "You have authorized Log Service to distribute logs"). Di bagian Create Distribution Rule, pastikan log akses API Gateway diimpor ke penyimpanan log tujuan, lalu klik Next. Lanjutkan mengklik Next hingga langkah-langkah berikutnya selesai untuk menyelesaikan konfigurasi.
Lihat log
Login ke konsol SLS untuk melihat log dan mencari log panggilan menggunakan sintaks kueri SLS.
Dalam hasil kueri, setiap entri log berisi bidang seperti apiGroupName, apiGroupUid, apiName, __source__, __tag__:__receive_time__, dan __topic__. Anda dapat menyaring log berdasarkan bidang di panel Quick Analysis di sebelah kiri atau menggunakan sintaks kueri di kotak pencarian di bagian atas untuk pencarian yang lebih tepat.
Kustomisasi laporan kueri
Anda dapat menyesuaikan laporan kueri sesuai kebutuhan bisnis Anda. Untuk petunjuknya, lihat Create a dashboard.