Fitur log shipping diimplementasikan menggunakan gateway cloud-native dan Alibaba Cloud Simple Log Service. Setelah diaktifkan, fitur ini memungkinkan Anda menganalisis log akses gateway untuk memahami perilaku dan lokasi geografis pengguna client guna keperluan troubleshooting. Topik ini menjelaskan cara mengaktifkan fitur log shipping pada gateway cloud-native Microservices Engine (MSE).
Prasyarat
Gateway cloud-native telah dibuat. Untuk informasi selengkapnya, lihat Create a cloud-native gateway.
Simple Log Service telah diaktifkan. Untuk mengaktifkannya, login ke konsol Simple Log Service menggunakan Akun Alibaba Cloud Anda. Untuk informasi selengkapnya tentang Simple Log Service, lihat What is Simple Log Service?.
Jika Anda menggunakan fitur log shipping di MSE, tidak ada biaya log shipping yang dikenakan di konsol MSE. Biaya akan dikenakan berdasarkan jumlah sumber daya yang digunakan di Simple Log Service. Untuk informasi selengkapnya tentang penagihan Simple Log Service, lihat Pay-by-feature.
Aktifkan log shipping
Login ke MSE console. Pada bilah navigasi atas, pilih Wilayah.
Pada panel navigasi sebelah kiri, pilih Cloud-native Gateway > Gateways. Pada halaman Gateways, klik ID gateway tersebut.
Pada panel navigasi sebelah kiri, klik Parameter Settings. Pada bagian Observability Parameters, klik ikon
di samping Log Shipping. Pada kotak dialog Log Shipping Settings, aktifkan opsi Enable Log Shipping (Ship Gateway Access Logs to Log Service).
CatatanSetelah Anda mengaktifkan log shipping, proyek Simple Log Service akan secara otomatis dibuat di konsol Simple Log Service. Anda juga dapat memilih proyek Simple Log Service yang sudah ada.
Jika Anda mengaktifkan Managed Service for OpenTelemetry, Anda dapat melihat data metrik gateway di konsol Managed Service for OpenTelemetry. Untuk informasi selengkapnya, lihat Enable tracing analysis for a cloud-native gateway.
Setelah log shipping diaktifkan, klik tautan di sebelah kanan Project pada bagian Observability Parameters. Anda akan diarahkan ke Logstore yang sesuai dengan gateway tersebut. Untuk informasi selengkapnya, lihat Guide to log query and analysis.
Fields
Tabel berikut menjelaskan field-field yang terkait dengan log shipping.
Field name | Data type | Description |
__time__ | long | Waktu saat entri log dihasilkan. |
cluster_id | string | ID gateway yang Anda beli. |
consumer | string | Nama konsumen. Field ini berlaku ketika autentikasi consumer diaktifkan. |
custom_log | json | Log kustom, yang dapat digunakan bersama dengan plug-in kustom. |
authority | string | Header Host dalam permintaan. |
bytes_received | long | Ukuran badan permintaan. Ukuran header permintaan tidak termasuk. |
bytes_sent | long | Ukuran badan respons. Ukuran header respons tidak termasuk. |
downstream_local_address | string | Alamat Pod gateway. |
downstream_remote_address | string | Alamat client yang terhubung ke gateway. |
downstream_transport_failure_reason | string | Alasan kegagalan transfer downstream. |
duration | long | Total waktu yang dihabiskan untuk memproses permintaan, diukur sejak gateway menerima byte pertama dari layanan downstream hingga mengirimkan byte terakhir dari respons. Satuan: milidetik. |
method | string | Metode HTTP. |
path | string | Jalur yang diminta. |
protocol | string | Versi protokol HTTP. |
request_id | string | ID permintaan. Gateway menghasilkan ID untuk setiap permintaan dan menambahkan ID tersebut ke field header |
requested_server_name | string | Nama server yang digunakan untuk membuat koneksi Secure Sockets Layer (SSL). |
request_duration | long | Waktu sejak gateway menerima byte pertama dari layanan downstream hingga menerima byte terakhir. Satuan: milidetik. |
response_code | long | Kode status HTTP yang dikembalikan. |
response_code_details | string | Informasi tambahan yang terkait dengan kode status. Contohnya: via_upstream dan route_not_found. |
response_flags | string | Alasan kegagalan permintaan. |
response_tx_duration | long | Waktu sejak gateway menerima byte pertama dari layanan upstream hingga mengirimkan byte terakhir ke layanan downstream. Satuan: milidetik. |
route_name | string | Nama entri rute. |
start_time | string | Waktu mulai permintaan. Tentukan parameter ini dalam format Universal Time Coordinated (UTC). |
trace_id | string | ID jejak. |
upstream_cluster | string | Nama kluster tempat layanan upstream berada. |
upstream_host | string | Alamat IP layanan upstream. |
upstream_local_address | string | Alamat yang digunakan untuk menghubungkan ke layanan upstream. |
upstream_protocol | string | Protokol yang digunakan saat permintaan dikirim ke layanan backend. |
upstream_service_time | long | Jumlah waktu (dalam milidetik) yang diperlukan bagi gateway untuk mengakses jaringan layanan upstream dan bagi layanan upstream untuk memproses permintaan. |
upstream_transport_failure_reason | string | Alasan kegagalan permintaan koneksi ke layanan upstream. |
user_agent | string | Header permintaan HTTP User-Agent. |
x_forwarded_for | string | Field |
ext_authz_status_code | long | Kode status layanan autentikasi kustom. |
ext_authz_duration | long | RT layanan autentikasi kustom. |
Penyebab kegagalan permintaan
Penyebab kegagalan permintaan diidentifikasi oleh Response_Flag dalam log. Bagian ini menjelaskan nilai-nilai Response_Flag.
Layanan downstream mengacu pada client, sedangkan layanan upstream mengacu pada layanan backend.
UH: Tidak tersedia host upstream yang sehat di kluster tempat layanan upstream berada.
UF: Koneksi ke layanan upstream gagal.
NR: Tidak ada entri rute yang dikonfigurasi untuk permintaan tersebut.
URX: Permintaan ditolak karena kondisi retry untuk permintaan HTTP upstream tidak terpenuhi atau jumlah maksimum upaya koneksi TCP telah tercapai.
NC: Kluster tempat layanan upstream berada tidak ditemukan.
DT: Durasi permintaan atau koneksi melebihi durasi yang ditentukan oleh
max_connection_durationataumax_downstream_connection_duration.DC: Koneksi ke layanan downstream dihentikan.
LH: Layanan lokal gagal dalam pemeriksaan kesehatan.
UT: Permintaan layanan upstream mengalami timeout.
LR: Koneksi direset secara lokal.
UR: Layanan upstream direset dari sisi remote.
UC: Koneksi ke layanan upstream dihentikan.
DI: Pemrosesan permintaan tertunda. Periode penundaan ditentukan dalam aturan injeksi kesalahan.
FI: Permintaan dihentikan karena kode status yang ditentukan dalam aturan injeksi kesalahan.
RL: Permintaan dibatasi secara lokal oleh filter pembatasan laju HTTP, kecuali untuk kode status 429.
UAEX: Permintaan ditolak oleh layanan otorisasi eksternal.
RLSE: Permintaan ditolak karena terjadi kesalahan pada layanan pembatasan laju.
IH: Permintaan ditolak karena terdapat nilai tidak valid dalam header yang diperiksa secara ketat.
SI: Terjadi timeout idle pada aliran.
DPE: Terjadi kesalahan protokol HTTP pada permintaan layanan downstream.
UPE: Terjadi kesalahan protokol HTTP pada respons layanan upstream.
UMSDR: Durasi pemrosesan permintaan layanan upstream melebihi durasi pemrosesan maksimum.
OM: Permintaan dihentikan oleh pengelola beban berlebih.
DF: Permintaan dihentikan karena kegagalan resolusi DNS.