Fitur pengiriman log mengintegrasikan Cloud-native API Gateway dengan Alibaba Cloud Simple Log Service (SLS). Setelah Anda mengaktifkan pengiriman log, Anda dapat menganalisis log akses gerbang API cloud-native untuk memahami perilaku klien, mengidentifikasi distribusi geografis, dan memecahkan masalah. Topik ini menjelaskan cara mengaktifkan pengiriman log untuk gerbang API cloud-native.
Prasyarat
Anda telah membuat instans gateway cloud-native. Untuk informasi selengkapnya, lihat Buat instans gateway.
Anda telah mengaktifkan Simple Log Service. Jika belum, masuk ke konsol Simple Log Service dengan akun Alibaba Cloud Anda untuk mengaktifkannya. Untuk informasi selengkapnya, lihat Apa itu Simple Log Service?.
Aktifkan pengiriman log
Cloud-native API Gateway tidak membebankan biaya untuk log, tetapi Simple Log Service (SLS) membebankan biaya berdasarkan penggunaan Anda. Untuk informasi selengkapnya tentang metode penagihan SLS, lihat Bayar sesuai pemakaian.
Masuk ke Konsol API Gateway.
Di panel navigasi sebelah kiri, klik . Di bilah navigasi atas, pilih wilayah.
Pada halaman Instances, klik ID atau nama instans target.
Di panel navigasi sebelah kiri, klik Parameter Configuration.
Pada bagian Observability Parameters, klik ikon
di sebelah kanan Log Delivery. Pada panel Log Delivery Configuration, aktifkan Gateway Access Log (AccessLog).CatatanSetelah Anda mengaktifkan pengiriman log, Simple Log Service akan membuat proyek default. Anda juga dapat memilih proyek yang sudah ada.
Setelah mengaktifkan pengiriman log, buka bagian Observability Parameters dan klik tautan di samping Project. Anda akan diarahkan ke Logstore untuk gerbang tersebut. Untuk informasi selengkapnya, lihat Panduan cepat untuk kueri dan analisis.
Bidang log
Tabel berikut menjelaskan bidang-bidang dalam log akses gerbang.
Nama bidang | Tipe | Deskripsi |
__time__ | long | Waktu saat log dibuat. |
cluster_id | string | Instans gateway yang dibeli. |
ai_log | json | Bidang log yang dirancang untuk Model API, Agent API, dan MCP API. Bidang ini dalam format JSON. Bidang ini kosong untuk jenis API lainnya.
|
authority | string | Header Host dalam pesan permintaan. |
bytes_received | long | Ukuran badan permintaan, tidak termasuk header. |
bytes_sent | long | Ukuran badan respons, tidak termasuk header. |
downstream_local_address | string | Alamat Pod gerbang. |
downstream_remote_address | string | Alamat klien yang terhubung ke gerbang. |
duration | long | Total waktu yang diperlukan untuk memproses permintaan. Ini adalah periode mulai dari saat gerbang menerima byte pertama dari layanan downstream hingga saat mengirim byte terakhir dari respons. Satuan: milidetik. |
method | string | Metode HTTP. |
path | string | Jalur dalam permintaan HTTP. |
protocol | string | Versi protokol HTTP. |
request_duration | long | Periode mulai dari saat gerbang menerima byte pertama dari layanan downstream hingga saat menerima byte terakhir dari layanan downstream. Satuan: milidetik. |
request_id | string | Gerbang menghasilkan ID untuk setiap permintaan dan menyertakannya dalam header |
requested_server_name | string | Nama server yang digunakan untuk koneksi SSL-VPN. |
response_code_details | string | Memberikan informasi tambahan tentang kode respons. Misalnya, `via_upstream` menunjukkan bahwa kode respons dikembalikan oleh layanan backend, dan `route_not_found` menunjukkan bahwa tidak ditemukan entri rute yang cocok untuk permintaan tersebut. |
response_tx_duration | long | Periode mulai dari saat gerbang menerima byte pertama dari layanan upstream hingga saat mengirim byte terakhir ke layanan downstream. Satuan: milidetik. |
route_name | string | Nama entri rute. |
start_time | string | Waktu permintaan dimulai. Format: UTC. |
trace_id | string | ID jejak. |
upstream_cluster | string | Kluster upstream. |
upstream_host | string | Alamat IP upstream. |
upstream_local_address | string | Alamat lokal yang digunakan untuk terhubung ke layanan upstream. |
upstream_service_time | long | Waktu yang diperlukan oleh layanan upstream untuk memproses permintaan, dalam milidetik. Ini mencakup latensi jaringan bagi gerbang untuk mengakses layanan upstream dan waktu pemrosesan layanan upstream itu sendiri. |
upstream_transport_failure_reason | string | Alasan kegagalan koneksi ke layanan upstream. |
user_agent | string | Header User-Agent dalam permintaan HTTP. |
x_forwarded_for | string | Header |
Alasan kegagalan permintaan
Nilai Response_Flag dalam log menunjukkan alasan kegagalan permintaan. Daftar berikut menjelaskan nilai-nilai yang mungkin untuk Response_Flag.
Downstream mengacu pada klien, dan upstream mengacu pada layanan backend.
UH: Tidak tersedia host upstream yang sehat di kluster upstream.
UF: Koneksi ke layanan upstream gagal.
NR: Tidak ada entri rute yang dikonfigurasi untuk permintaan tersebut.
URX: Permintaan ditolak karena batas percobaan ulang upstream untuk HTTP atau jumlah maksimum upaya koneksi untuk TCP telah tercapai.
NC: Kluster upstream tidak ditemukan.
DT: Permintaan atau koneksi melebihi
max_connection_durationataumax_downstream_connection_duration.DC: Koneksi downstream dihentikan.
LH: Layanan lokal gagal dalam permintaan pemeriksaan kesehatan.
UT: Permintaan upstream mengalami timeout.
LR: Koneksi direset secara lokal.
UR: Koneksi upstream direset dari jarak jauh.
UC: Koneksi upstream dihentikan.
DI: Permintaan ditunda selama periode tertentu karena injeksi kesalahan.
FI: Permintaan dibatalkan dengan kode respons karena injeksi kesalahan.
RL: Permintaan dibatasi lajunya oleh filter pembatasan laju HTTP lokal. Ini tidak termasuk permintaan yang menerima kode respons 429.
UAEX: Permintaan ditolak oleh layanan otorisasi eksternal.
RLSE: Permintaan ditolak karena terjadi kesalahan pada layanan pembatasan laju.
IH: Permintaan ditolak karena header yang diperiksa secara ketat berisi nilai yang tidak valid.
SI: Timeout idle aliran tercapai.
DPE: Permintaan downstream berisi kesalahan protokol HTTP.
UPE: Respons upstream berisi kesalahan protokol HTTP.
UMSDR: Permintaan upstream mencapai durasi aliran maksimum.
OM: Pengelola beban berlebih menghentikan permintaan.