Fitur access log pada Classic Load Balancer (CLB) dirancang untuk load balancing Lapisan 7 dan terintegrasi dengan Simple Log Service (SLS) guna meningkatkan efisiensi analisis log serta troubleshooting dalam pengembangan bisnis, pengujian, dan analisis perilaku pengguna.
Ikhtisar
Log akses CLB
Fitur access log pada Classic Load Balancer (CLB) merekam informasi detail mengenai semua permintaan yang dikirim ke instans CLB, termasuk waktu permintaan, alamat IP klien, latensi, path permintaan, dan respons server. Sebagai titik masuk publik, CLB menangani volume permintaan yang tinggi. Anda dapat menggunakan log akses untuk menganalisis perilaku pengguna, memahami distribusi traffic, serta melakukan troubleshooting masalah.
Setelah mengaktifkan fitur access log, Anda dapat menyimpan, mengumpulkan, dan menganalisis log akses di Logstore Simple Log Service (SLS). Konfigurasi access log dapat dinonaktifkan kapan saja.
Fitur access log CLB gratis, tetapi Simple Log Service dikenai biaya. Untuk informasi lebih lanjut, lihat Ikhtisar penagihan Simple Log Service.
-
Pendengar Lapisan 4 (TCP/UDP) tidak mendukung fitur access log. Log akses hanya mencatat informasi permintaan Lapisan 7 (HTTP/HTTPS).
-
Pastikan nilai Header HTTP tidak mengandung
||. Jika tidak, field log mungkin tidak sejajar saat penguraian.
Batasan
Fitur access log hanya tersedia untuk load balancing Lapisan 7 (pendengar HTTP dan HTTPS) pada CLB.
Log akses terutama mencatat informasi permintaan Lapisan 7. Oleh karena itu, fitur ini tidak didukung untuk pendengar Lapisan 4 (TCP/UDP).
Prasyarat
-
Anda telah membuat instans CLB.
-
Anda telah membuat kelompok vServer, menambahkan server backend ke kelompok vServer tersebut, dan men-deploy aplikasi pada server backend.
-
Anda telah mengonfigurasi pendengar HTTP atau pendengar HTTPS untuk instans CLB.
-
Anda telah mengaktifkan Simple Log Service.
Konfigurasi log akses
Masuk ke Konsol CLB.
-
Di panel navigasi kiri, pilih .
-
Di bilah navigasi atas, pilih wilayah tempat instans CLB dideploy.
-
Jika ini pertama kalinya Anda menggunakan fitur ini, klik Authorize. Pada halaman Authorize Access to Cloud Resources, klik Confirm.
CatatanOtorisasi ini hanya perlu dilakukan sekali.
Jika Anda adalah Pengguna RAM, Akun Alibaba Cloud utama harus terlebih dahulu memberikan izin yang diperlukan kepada Anda. Untuk informasi lebih lanjut, lihat Otorisasi Pengguna RAM untuk menggunakan fitur access log CLB.
-
Pada halaman Access Log (Layer 7), temukan instans CLB yang dituju, lalu klik Configure di kolom Actions.
-
Di panel Log Settings, atur Project dan Logstore, lalu klik OK.
-
Project: Project adalah unit manajemen sumber daya di SLS yang digunakan untuk isolasi dan kontrol sumber daya. Kami menyarankan menggunakan Project berbeda untuk aplikasi yang berbeda.
-
Logstore: Logstore adalah unit untuk mengumpulkan, menyimpan, dan mengkueri data log di SLS. Kami menyarankan membuat Logstore terpisah untuk jenis log berbeda dalam satu aplikasi yang sama.
-
Select Logstore: Ini akan mengaktifkan dasbor analisis preset untuk Logstore yang dipilih secara default. Jika indeks sudah dikonfigurasi untuk Logstore tersebut, konfigurasi indeks yang ada akan ditimpa.
-
CatatanPastikan Project berada di wilayah yang sama dengan instans CLB dan namanya unik secara global.
Setelah Anda mengonfigurasi logging akses untuk load balancer, Anda dapat mengkueri dan mengambil informasi log dengan menggunakan field-field berikut di SLS.
Parameter
Deskripsi
body_bytes_sent
Ukuran body HTTP yang dikirim ke klien, dalam byte.
client_ip
Alamat IP klien.
client_port
Port klien yang mengirim permintaan.
host
Host diambil dari sumber pertama yang tersedia dalam urutan berikut: parameter permintaan, header Host, dan alamat IP server backend yang memproses permintaan.
http_host
Isi header Host dalam permintaan.
http_referer
Header Referer dari permintaan HTTP.
http_user_agent
Header User-Agent dari permintaan HTTP.
http_x_forwarded_for
Header X-Forwarded-For dari permintaan HTTP.
http_x_real_ip
Header X-Real-IP dari permintaan HTTP.
read_request_time
Waktu yang dibutuhkan load balancer untuk membaca permintaan. Satuan: milidetik.
request_length
Panjang permintaan, termasuk baris awal, header HTTP, dan body HTTP.
request_method
Metode permintaan.
request_time
Waktu dari saat load balancer menerima byte pertama permintaan hingga mengirim byte terakhir respons. Satuan: detik.
request_uri
URI permintaan yang diterima oleh load balancer.
scheme
Skema permintaan. Nilai yang valid: http dan https.
server_protocol
Versi HTTP dari permintaan yang diterima oleh load balancer, seperti HTTP/1.0 atau HTTP/1.1.
slb_vport
Port pendengar load balancer.
slbid
ID instans load balancer.
ssl_cipher
Paket sandi yang digunakan untuk membuat koneksi SSL, seperti ECDHE-RSA-AES128-GCM-SHA256.
ssl_protocol
Protokol yang digunakan untuk membuat koneksi SSL, seperti TLSv1.2.
status
Kode status dalam respons dari load balancer.
tcpinfo_rtt
Waktu round-trip (RTT) koneksi TCP klien. Satuan: mikrodetik.
time
Waktu saat entri log dicatat.
upstream_addr
Alamat IP dan port server backend.
upstream_response_time
Waktu dari saat koneksi ke server backend dibuat hingga koneksi ditutup setelah respons diterima. Satuan: detik.
upstream_status
Kode status respons yang diterima load balancer dari server backend.
vip_addr
Alamat IP virtual (VIP).
write_response_time
Waktu yang dibutuhkan load balancer untuk menulis respons. Satuan: milidetik.
-
Kueri log akses
Setelah Anda mengonfigurasi fitur access log, Anda dapat mengkueri log di konsol SLS.
Masuk ke Konsol CLB.
-
Di panel navigasi kiri, pilih .
-
Di bilah navigasi atas, pilih wilayah tempat instans CLB dideploy.
-
Pada halaman Access Log (Layer 7), temukan instans yang dituju, lalu klik View Logs di kolom Actions. Anda akan dialihkan ke konsol SLS.
-
Setelah SLS dikonfigurasi, Anda dapat melihat entri log untuk klien mana pun yang telah mengakses instans CLB.
-
Masukkan pernyataan SQL untuk mengkueri log akses tertentu.
Sebagai contoh, jalankan pernyataan SQL berikut untuk menemukan 20 klien teratas. Hasilnya dapat membantu Anda menganalisis sumber traffic dan mendukung pengambilan keputusan bisnis.
* | select http_user_agent, count(*) as pv group by http_user_agent order by pv desc limit 20Sebagai contoh, jalankan pernyataan SQL berikut untuk mengkueri permintaan akses dari rentang alamat IP tertentu dengan memfilter log berdasarkan alamat IP sumber dan kode status respons.
* | select * where client_ip like '172.17.%' and status=200
Identifikasi permintaan abnormal
Log akses CLB mencatat semua permintaan eksternal yang melewati instans load balancer. Jika Anda menemukan permintaan dari sumber yang tidak dikenal dalam log, Anda dapat menggunakan field kunci berikut untuk menentukan apakah permintaan tersebut merupakan permintaan eksternal abnormal dan mengambil tindakan perlindungan yang sesuai.
Field kunci
Gabungkan field log berikut untuk menentukan apakah permintaan berasal dari klien abnormal:
-
client_ip: Alamat IP klien yang mengirim permintaan. Jika alamat IP tersebut tidak termasuk dalam sistem bisnis Anda atau rentang alamat IP internal Alibaba Cloud, permintaan tersebut berasal dari klien eksternal. Anda dapat menggunakan tool pencarian IP untuk memastikan sumbernya lebih lanjut. -
request_uri: Path URI permintaan. Jika muncul path yang tidak terkait dengan bisnis Anda (seperti path probe atau scan, atau path API layanan cloud lain), permintaan tersebut umumnya merupakan permintaan eksternal abnormal. -
request_method: Metode HTTP dari permintaan. Jika bisnis Anda hanya menggunakan permintaan GET tetapi log menunjukkan banyak permintaan PUT atau DELETE, periksa adanya perilaku abnormal. -
http_user_agent: Identifier User-Agent dari permintaan. Tool otomatis atau crawler sering menggunakan header User-Agent tertentu, seperticurlataupython-requests, yang berbeda dari permintaan browser normal.
Sebagai contoh, Anda dapat menggunakan pernyataan SQL berikut di SLS untuk mengkueri permintaan abnormal dari alamat IP yang tidak diharapkan:
* | select client_ip, request_method, request_uri, count(*) as cnt group by client_ip, request_method, request_uri order by cnt desc limit 50
Batasi IP sumber abnormal
Setelah Anda mengonfirmasi alamat IP sumber permintaan abnormal, Anda dapat menggunakan fitur kontrol akses CLB untuk mengonfigurasi blacklist dan memblokir permintaan selanjutnya dari alamat IP tersebut. Lakukan langkah-langkah berikut:
-
Di panel navigasi kiri konsol CLB, pilih Access Control.
-
Buat kelompok kebijakan kontrol akses dan tambahkan alamat IP sumber abnormal yang telah diidentifikasi ke dalamnya.
-
Ikat kelompok kebijakan tersebut ke pendengar Anda sebagai blacklist. CLB kemudian akan menolak semua permintaan dari alamat IP yang masuk daftar hitam alih-alih meneruskannya ke server backend.
Analisis log akses
Anda dapat menggunakan dasbor di SLS untuk menganalisis log akses. Dasbor menyediakan visualisasi data dan wawasan yang kaya.
-
Di halaman SLS, klik ikon
di panel navigasi kiri, lalu klik Dashboard. -
Klik nama dasbor yang sesuai dengan log akses instans CLB Anda, seperti slb_layer7_access_center_en, untuk melihat laporan analisis.
Nonaktifkan log akses
Anda dapat menonaktifkan fitur access log untuk menghentikan pengumpulan log akses CLB.
Menonaktifkan logging akses untuk instans CLB tidak menghapus Project atau Logstore terkait. Log historis instans tersebut tidak langsung dihapus, dan Anda masih dapat mengelolanya di SLS.
Masuk ke Konsol CLB.
-
Di panel navigasi kiri, pilih .
-
Di bilah navigasi atas, pilih wilayah tempat instans CLB dideploy.
-
Pada halaman Access Log (Layer 7), temukan instans yang dituju, lalu klik Disable Logging di kolom Actions.
-
Pada kotak dialog yang muncul, klik OK untuk menonaktifkan logging akses untuk instans tersebut.
Dokumen terkait
-
Untuk informasi lebih lanjut tentang Simple Log Service, lihat Apa itu Simple Log Service?.
-
Jika Anda mencurigai server backend tidak sehat saat menggunakan load balancing Lapisan 7, lihat Gunakan log akses CLB untuk cepat menemukan server backend yang tidak sehat.