Pengiriman log mengintegrasikan gateway cloud-native MSE dengan Alibaba Cloud Simple Log Service (SLS), memungkinkan Anda menganalisis log akses gateway untuk memahami perilaku klien, memetakan distribusi geografis pengguna, dan melakukan troubleshooting masalah. Topik ini menjelaskan cara mengaktifkan pengiriman log untuk gateway cloud-native MSE.
Prasyarat
-
Anda telah membuat instans gateway cloud-native MSE. Untuk informasi lebih lanjut, lihat Buat gateway cloud-native.
-
Simple Log Service harus diaktifkan. Jika belum, login ke Konsol Simple Log Service dengan Akun Alibaba Cloud Anda untuk mengaktifkannya. Untuk informasi lebih lanjut, lihat Apa itu Simple Log Service?.
Fitur pengiriman log tidak dikenai biaya, tetapi berlaku biaya standar Simple Log Service (SLS) berdasarkan penggunaan. Untuk informasi lebih lanjut tentang penagihan SLS, lihat pay-as-you-go.
Aktifkan pengiriman log
-
Login ke Konsol MSE. Di bilah navigasi atas, pilih wilayah.
-
Di panel navigasi kiri, pilih Cloud-native Gateway > Gateways. Di halaman Gateways, klik ID gateway tersebut.
-
Di panel navigasi kiri, klik Parameter Settings. Di bagian Observability Parameters, klik ikon edit
di samping Log Shipping. Di kotak dialog Log Shipping Settings, aktifkan sakelar Enable Log Shipping (Ship Gateway Access Logs to Log Service).Catatan-
Setelah mengaktifkan pengiriman log, Simple Log Service akan membuat proyek SLS default. Anda juga dapat memilih proyek SLS yang sudah ada.
-
Setelah mengaktifkan Tracing Analysis, Anda dapat melihat data pemantauan gateway di Konsol Tracing Analysis. Untuk informasi lebih lanjut, lihat Aktifkan Tracing Analysis untuk gateway.
Setelah mengaktifkan pengiriman log, Anda dapat mengklik tautan di samping Project pada bagian Observability Parameters. Tindakan ini akan mengarahkan Anda ke Logstore gateway tersebut. Untuk informasi lebih lanjut, lihat Panduan cepat untuk kueri dan analisis log.
-
Field pengiriman log
|
Field name |
Type |
Description |
|
__time__ |
long |
Waktu entri log dibuat. |
|
cluster_id |
string |
ID instans gateway. |
|
consumer |
string |
Konsumen dari permintaan tersebut. Field ini hanya diisi jika otentikasi consumer diaktifkan. |
|
custom_log |
json |
Menyimpan field log yang ditentukan pengguna. Ini dapat digunakan bersama Plugin kustom. |
|
authority |
string |
Nilai header Host dalam permintaan. |
|
bytes_received |
long |
Ukuran badan permintaan dalam byte, tidak termasuk header. |
|
bytes_sent |
long |
Ukuran badan respons dalam byte, tidak termasuk header. |
|
downstream_local_address |
string |
Alamat Pod gateway. |
|
downstream_remote_address |
string |
Alamat klien yang terhubung ke gateway. |
|
downstream_transport_failure_reason |
string |
Alasan kegagalan transport downstream. |
|
duration |
long |
Total waktu pemrosesan permintaan dalam milidetik, diukur dari byte pertama yang diterima dari klien hingga byte terakhir dikirim dalam respons. |
|
method |
string |
Metode HTTP. |
|
path |
string |
Jalur dalam permintaan HTTP. |
|
protocol |
string |
Versi protokol HTTP. |
|
request_id |
string |
Gateway menghasilkan ID untuk setiap permintaan dan menyertakannya dalam header |
|
requested_server_name |
string |
Nama server yang digunakan untuk koneksi SSL. |
|
request_duration |
long |
Waktu dalam milidetik sejak gateway menerima byte pertama hingga byte terakhir dari permintaan downstream. |
|
response_code |
long |
Kode status respons HTTP. |
|
response_code_details |
string |
Rincian tambahan mengenai kode respons. Misalnya, |
|
response_flags |
string |
Alasan kegagalan respons. |
|
response_tx_duration |
long |
Waktu dalam milidetik sejak gateway menerima byte pertama dari layanan upstream hingga mengirim byte terakhir ke klien downstream. |
|
route_name |
string |
Nama entri rute. |
|
start_time |
string |
Waktu mulai permintaan dalam format UTC. |
|
trace_id |
string |
ID jejak (Trace ID). |
|
upstream_cluster |
string |
Kluster upstream. |
|
upstream_host |
string |
Alamat IP layanan upstream. |
|
upstream_local_address |
string |
Alamat lokal yang digunakan untuk menghubungkan ke layanan upstream. |
|
upstream_protocol |
string |
Protokol yang digunakan untuk meminta layanan backend. |
|
upstream_service_time |
long |
Waktu dalam milidetik yang dibutuhkan layanan upstream untuk memproses permintaan. Durasi ini mencakup latensi jaringan dan waktu pemrosesan layanan itu sendiri. |
|
upstream_transport_failure_reason |
string |
Alasan kegagalan koneksi upstream. |
|
user_agent |
string |
Header User-Agent dalam permintaan HTTP. |
|
x_forwarded_for |
string |
Nilai header HTTP |
|
ext_authz_status_code |
long |
Kode respons dari layanan otorisasi kustom. |
|
ext_authz_duration |
long |
Waktu respons dari layanan otorisasi kustom. |
Response flags
Alasan kegagalan permintaan terutama ditentukan oleh nilai Response_Flag dalam log. Berikut ini menjelaskan berbagai nilai Response_Flag.
Dalam konteks ini, downstream mengacu pada klien, dan upstream mengacu pada layanan backend.
-
UH: Tidak tersedia host upstream yang sehat dalam kluster.
-
UF: Koneksi upstream gagal.
-
NR: Tidak ada entri rute yang dikonfigurasi yang cocok dengan permintaan.
-
URX: Permintaan ditolak karena batas retry upstream (HTTP) atau jumlah maksimum upaya koneksi (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 timeout.
-
LR: Koneksi di-reset secara lokal.
-
UR: Koneksi upstream di-reset dari jarak jauh.
-
UC: Koneksi upstream dihentikan.
-
DI: Pemrosesan permintaan ditunda selama periode yang ditentukan oleh fault injection.
-
FI: Permintaan dibatalkan dengan kode respons yang ditentukan oleh fault injection.
-
RL: Permintaan dibatasi secara lokal oleh filter pembatasan laju HTTP, tidak termasuk respons 429.
-
UAEX: Permintaan ditolak oleh layanan otorisasi eksternal.
-
RLSE: Permintaan ditolak karena 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: Terjadi kesalahan protokol HTTP dalam permintaan downstream.
-
UPE: Terjadi kesalahan protokol HTTP dalam respons upstream.
-
UMSDR: Permintaan upstream mencapai durasi maksimumnya.
-
OM: Pengelola beban berlebih (overload manager) menghentikan permintaan.
-
DF: Permintaan dihentikan karena kegagalan resolusi DNS.