Metode Monitoring Nginx Logs
Monitoring log Nginx adalah langkah krusial untuk mendeteksi error 4xx/5xx, memantau trafik, dan mengidentifikasi serangan brute force. Secara default, Nginx menyimpan log di /var/log/nginx/access.log dan /var/log/nginx/error.log. Berikut adalah metode monitoring dari yang paling sederhana hingga tingkat lanjut.
1. Monitoring Real-Time dengan Command Line
Untuk melihat log yang masuk secara langsung di terminal, gunakan perintah tail. Ini adalah cara tercepat tanpa menginstal aplikasi tambahan.
# Melihat akses log secara real-time
sudo tail -f /var/log/nginx/access.log
# Melihat error log secara real-time
sudo tail -f /var/log/nginx/error.log2. Analisis Visual dengan GoAccess
GoAccess adalah penganalisis log berbasis terminal yang sangat efisien untuk memvisualisasikan trafik web secara real-time.
Langkah Instalasi & Penggunaan:
- Instalasi:
sudo apt install goaccess(Debian/Ubuntu). - Jalankan perintah:
sudo goaccess /var/log/nginx/access.log --log-format=COMBINED. - Pilih format tanggal dan waktu yang sesuai dengan konfigurasi Nginx Anda.
3. Perbandingan Tools Monitoring
| Tools | Kelebihan | Kekurangan | Target Pengguna |
|---|---|---|---|
| Tail/Grep | Tanpa instalasi, ringan | Sulit dibaca jika trafik tinggi | Admin pemula |
| GoAccess | Visual, interaktif, cepat | Terbatas pada satu server | Sysadmin/DevOps |
| ELK Stack | Skalabilitas tinggi, historis | Kompleks, butuh resource besar | Enterprise |
| Promtail/Loki | Integrasi Grafana, efisien | Kurva belajar menengah | Modern DevOps |
4. Tips Troubleshooting Log
Jika Anda menemukan lonjakan error, gunakan perintah awk untuk memfilter status code tertentu:
# Menghitung jumlah error 404
awk '$9 == 404' /var/log/nginx/access.log | wc -l
# Mencari IP dengan request terbanyak
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -nr | head -n 10Pastikan format log Anda di nginx.conf menggunakan format combined agar tools analisis dapat membaca data dengan akurat. Jika Anda mendeteksi serangan, segera blokir IP tersebut menggunakan iptables atau ufw.