Gunakan LoongCollector untuk mengumpulkan log Nginx dari instans ECS ke Simple Log Service (SLS). Dalam waktu 30 menit, Anda dapat mengonfigurasi pengumpulan log, menganalisis data dengan SQL, melihat dasbor, menyiapkan notifikasi, dan membersihkan resource untuk menghindari biaya.
Prasyarat
Aktifkan SLS dan siapkan akun
Aktifkan SLS: Jika ini pertama kalinya Anda menggunakan layanan ini, login ke Konsol Simple Log Service dan ikuti petunjuk di layar untuk mengaktifkan layanan tersebut.
Siapkan akun:
Akun Alibaba Cloud: Memiliki izin penuh secara default.
RAM user: Jika Anda menggunakan RAM user, Anda harus memberikan kebijakan izin yang diperlukan:
AliyunLogFullAccess: Memberikan izin untuk membuat dan mengelola resource SLS seperti project dan logstore.AliyunECSFullAccess: Memberikan izin untuk menginstal agen pengumpulan pada instans ECS.AliyunOOSFullAccess: Memberikan izin untuk menginstal agen pengumpulan secara otomatis pada instans ECS melalui Operation Orchestration Service (OOS).
Di lingkungan produksi, Anda dapat membuat kebijakan izin kustom untuk kontrol lebih rinci terhadap izin RAM user.
Siapkan instans ECS
Pastikan security group instans ECS mengizinkan lalu lintas outbound pada port 80 (HTTP) dan port 443 (HTTPS).
Buat log simulasi
Buat file skrip bernama
generate_nginx_logs.shdan tempel konten berikut. Skrip ini menulis entri log akses Nginx standar ke/var/log/nginx/access.logsetiap 5 detik.Beri izin eksekusi:
chmod +x generate_nginx_logs.sh.Jalankan skrip di latar belakang:
nohup ./generate_nginx_logs.sh &.
Buat project dan logstore
Project mengisolasi dan mengelola data di SLS. Logstore menyimpan data log dalam sebuah project.
Login ke Konsol Simple Log Service.
Klik Create Project:
Region: Pilih region yang sama dengan instans ECS Anda agar log dikumpulkan melalui jaringan internal.
Project Name: Masukkan nama yang unik secara global, misalnya
nginx-quickstart-abc.
Pertahankan pengaturan default untuk konfigurasi lainnya dan klik Create.
Setelah project dibuat, klik Create Logstore.
Masukkan Logstore Name (misalnya,
nginx-access-log), pertahankan pengaturan default untuk konfigurasi lainnya, lalu klik OK.Secara default, logstore Standard dibuat, yang ditagih berdasarkan volume data yang ditulis.
Instal LoongCollector
Setelah logstore dibuat, klik OK pada kotak dialog konfirmasi untuk membuka panel Quick Data Import.
Pada kartu Nginx - Text Logs, klik Integrate Now.
Machine Group Configurations:
Scenario: Servers
Installation Environment: ECS
Klik Create Machine Group. Di panel yang muncul, pilih instans ECS target.
Klik Install and Create Machine Group. Setelah instalasi berhasil, masukkan Name untuk kelompok mesin, misalnya
my-nginx-server, lalu klik OK.CatatanJika instalasi gagal atau tetap tertunda, pastikan region ECS sama dengan region project.
Klik Next untuk melanjutkan ke pemeriksaan status heartbeat.
Saat pertama kali membuat kelompok mesin, jika status heartbeat adalah FAIL, klik Automatic Retry. Status akan berubah menjadi OK dalam waktu sekitar dua menit.
Buat konfigurasi pengumpulan
Setelah status heartbeat menjadi OK, klik Next untuk menuju halaman Logtail Configurations:
: Masukkan nama untuk konfigurasi, misalnya
nginx-access-log-config.: Masukkan
/var/log/nginxdi kotak pertama danaccess.logdi kotak kedua.Processor Configurations:
Log Sample: Klik Add Sample Log dan tempel entri log contoh:
192.168.*.* - - [15/Apr/2025:16:40:00 +0800] "GET /nginx-logo.png HTTP/1.1" 0.000 514 200 368 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.*.* Safari/537.36"Processing Method: Klik Data Parsing (NGINX Mode). Di bagian NGINX Log Configuration, konfigurasikan log_format dengan menyalin dan menempel konten berikut. Lalu, klik Confirm.
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" $request_time $request_length';Di lingkungan produksi,
log_formatyang ditentukan di sini harus sesuai dengan definisi di file konfigurasi Nginx Anda (biasanya di/etc/nginx/nginx.conf).Contoh penguraian log:
Log mentah
Log terstruktur
192.168.*.* - - [15/Apr/2025:16:40:00 +0800] "GET /nginx-logo.png HTTP/1.1" 0.000 514 200 368 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.*.* Safari/537.36"body_bytes_sent: 368 http_referer: - http_user_agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.x.x Safari/537.36 remote_addr:192.168.*.* remote_user: - request_length: 514 request_method: GET request_time: 0.000 request_uri: /nginx-logo.png status: 200 time_local: 15/Apr/2025:16:40:00
Klik Next untuk menuju halaman Query and Analysis Configurations. Dibutuhkan waktu sekitar 1 menit agar konfigurasi pengumpulan berlaku. Klik Automatic Refresh. Pratinjau data menunjukkan bahwa konfigurasi telah berlaku.
Kueri dan analisis log
Klik End untuk menuju halaman End, lalu klik Query Log. Anda akan diarahkan ke halaman kueri dan analisis logstore target. Gunakan SQL untuk mengekstrak metrik utama dari log terstruktur. Atur rentang waktu ke Last 15 Minutes:
Jika muncul pop-up error, indeks belum dikonfigurasi. Tutup pop-up tersebut dan tunggu sekitar 1 menit hingga Anda dapat melihat konten log dari file access.log.
Contoh 1: Total tampilan halaman (PV)
Hitung jumlah total entri log dalam rentang waktu yang ditentukan.
* | SELECT count(*) AS pvContoh 2: Permintaan dan tingkat error per menit
Hitung total permintaan, permintaan error (kode status HTTP ≥ 400), dan tingkat error per menit.
* | SELECT date_trunc('minute', __time__) as time, count(1) as total_requests, count_if(status >= 400) as error_requests, round(count_if(status >= 400) * 100.0 / count(1), 2) as error_rate GROUP BY time ORDER BY time DESC LIMIT 100Contoh 3: PV berdasarkan metode permintaan (GET, POST, dll.)
Grup dan hitung tampilan halaman berdasarkan menit dan metode permintaan (GET, POST, dll.).
* | SELECT date_format(minute, '%m-%d %H:%i') AS time, request_method, pv FROM ( SELECT date_trunc('minute', __time__) AS minute, request_method, count(*) AS pv FROM log GROUP BY minute, request_method ) ORDER BY minute ASC LIMIT 10000
Visualisasikan data pada dasbor
Setelah Anda mengonfigurasi prosesor penguraian Nginx, SLS secara otomatis membuat dasbor preset bernama nginx-access-log_Nginx Access Log.
Di panel navigasi sebelah kiri, pilih
.Klik nama dasbor untuk melihat grafik metrik utama: PV, UV, tingkat error, dan distribusi metode permintaan.
Sesuaikan grafik sesuai kebutuhan bisnis Anda.

Konfigurasi pemantauan dan notifikasi
Buat aturan notifikasi untuk menerima pemberitahuan saat terjadi perilaku abnormal, seperti lonjakan error.
Di panel navigasi sebelah kiri, klik
Alerts.Buat kebijakan aksi:
Di tab , klik Create.
Konfigurasi ID dan Name (misalnya,
send-notification-to-admin).Di Primary Action Policy, klik
Action Group.Pilih Notification Method (misalnya, SMS), konfigurasi Recipient, dan pilih Alert Template.
Klik Confirm.
Buat aturan notifikasi:
Beralih ke tab Alert Monitoring Rule dan klik Create Alert.
Nama aturan: Masukkan nama deskriptif, misalnya
Too many server 5xx errors.Query Statistics: Klik Add dan konfigurasi kondisi kueri.
Logstore: Pilih
nginx-access-log.Query Time Range: 15 minutes (Relative).
: Masukkan
status >= 500 | SELECT *.Klik Preview untuk memastikan Anda dapat mengkueri data, lalu klik OK.
Trigger Condition: Atur kondisi untuk memicu notifikasi Critical ketika Specific number of entries adalah >100.
Konfigurasi ini memicu notifikasi jika terjadi lebih dari 100 error 5xx dalam waktu 15 menit.
: Pilih SLS Notification dan Enable fitur tersebut.
Action Policy: Pilih kebijakan aksi yang telah Anda buat pada langkah sebelumnya.
Repeat Interval: Atur menjadi 15 menit untuk mencegah notifikasi berulang.
Klik OK untuk menyimpan aturan notifikasi.
Verifikasi: Saat kondisi pemicu terpenuhi, saluran notifikasi yang dikonfigurasi akan menerima notifikasi. Anda dapat melihat semua notifikasi yang dipicu di halaman Alert History.
Pembersihan resource
Bersihkan semua resource yang dibuat dalam tutorial ini untuk menghindari biaya berkelanjutan.
Hentikan skrip pembuatan log
Login ke instans ECS dan jalankan perintah berikut untuk menghentikan skrip latar belakang.
kill $(ps aux | grep '[g]enerate_nginx_logs.sh' | awk '{print $2}')Uninstal LoongCollector (opsional)
Ganti
${region_id}dengancn-hangzhou, atau untuk kinerja optimal, ganti${region_id}dengan ID region instans ECS Anda.wget https://aliyun-observability-release-${region_id}.oss-${region_id}.aliyuncs.com/loongcollector/linux64/latest/loongcollector.sh -O loongcollector.sh;Jalankan perintah uninstal.
chmod +x loongcollector.sh; sudo ./loongcollector.sh uninstall;
Hapus proyek
Di halaman daftar project Konsol Simple Log Service, temukan project yang telah Anda buat, misalnya
nginx-quickstart-xxx.Di kolom Actions, klik Delete.
Di panel yang muncul, masukkan nama project dan pilih alasan penghapusan.
Klik OK. Menghapus project akan menghapus semua resource terkait, termasuk logstore, konfigurasi pengumpulan, dasbor, dan aturan notifikasi.
PeringatanMenghapus project akan menghapus permanen semua data log dan konfigurasi. Tindakan ini tidak dapat dikembalikan.
Langkah selanjutnya
Sekarang Anda telah mengumpulkan, mengkueri, memvisualisasikan, dan memantau log, jelajahi sumber daya berikut untuk mempelajari lebih lanjut:
Metode pengumpulan data: pilih metode yang tepat untuk skenario Anda.
Hierarki resource penyimpanan: rencanakan siklus hidup resource dan alokasi shard.
FAQ
Waktu log tidak konsisten setelah pengumpulan
Secara default, field __time__ menggunakan waktu kedatangan server. Untuk menggunakan timestamp dari log asli, tambahkan plug-in parsing waktu ke konfigurasi pengumpulan.
Biaya untuk membuat project dan logstore
Membuat logstore secara default mencadangkan resource shard, yang dapat menimbulkan biaya sewa shard aktif. Mengapa saya dikenai biaya sewa shard aktif?
Pemecahan masalah kegagalan pengumpulan log
Pengumpulan log dengan Logtail dapat gagal karena heartbeat Logtail abnormal, error pengumpulan, atau konfigurasi Logtail salah. Pemecahan masalah kegagalan pengumpulan log Logtail.
Gagal menganalisis log
Analis log memerlukan indeks bidang dengan fitur statistik diaktifkan. Verifikasi konfigurasi indeks logstore Anda.
Menghentikan penagihan
Simple Log Service tidak dapat dinonaktifkan setelah diaktifkan. Jika Anda tidak ingin lagi menggunakan layanan ini, Anda dapat menghentikan penagihan dengan menghapus semua project di bawah akun Anda.