GoAccess adalah penganalisis log web sumber terbuka (open-source) yang bekerja secara real-time melalui terminal Linux atau berbasis browser. Alat ini sangat cepat dan efisien untuk memantau lalu lintas server web Apache tanpa memerlukan database eksternal.
Untuk memulai analisis log Apache menggunakan GoAccess, Anda memerlukan akses terminal (SSH) ke server, hak akses sudo atau root, serta file log Apache (biasanya terletak di /var/log/apache2/access.log atau /var/log/httpd/access_log).
Instalasi GoAccess
GoAccess dapat diinstal dengan mudah melalui manajer paket bawaan sistem operasi Linux Anda. Berikut adalah perintah instalasi untuk berbagai distro:
# Ubuntu / Debian
sudo apt update
sudo apt install goaccess
# CentOS / RHEL / Fedora
sudo dnf install goaccess
# macOS (Homebrew)
brew install goaccess
Konfigurasi Format Log Apache
Secara default, GoAccess menggunakan format Common Log Format (CLF) atau Combined Log Format. Namun, pastikan format log di server Apache Anda cocok dengan konfigurasi GoAccess. Buka file konfigurasi GoAccess di /etc/goaccess/goaccess.conf dan pastikan baris berikut tidak diberi tanda komentar (#):
time-format %H:%M:%S
date-format %d/%b/%Y
log-format %h %^ [%d:%t %^] "%r" %s %b "%R" "%u"
Perintah Dasar Menjalankan GoAccess
Untuk menjalankan analisis langsung pada file log Apache di terminal, gunakan perintah berikut:
sudo goaccess /var/log/apache2/access.log -c
Flag -c akan memunculkan jendela pemilihan format log pada awal eksekusi jika format belum didefinisikan secara spesifik dalam file konfigurasi.
Tabel Parameter dan Fitur Utama GoAccess
| Fitur / Perintah | Fungsi Utama | Keterangan |
|---|---|---|
-d |
Mengaktifkan dialog pilihan IP resolver | Berguna untuk melihat lokasi geografis pengunjung |
-a |
Mengaktifkan daftar agen pengguna (User Agent) | Menampilkan peramban dan perangkat yang digunakan pengunjung |
--real-time-html |
Menghasilkan laporan HTML interaktif | Dapat diakses melalui browser web secara langsung |
--no-progress |
Menonaktifkan bar progres saat memuat log | Mempercepat proses otomatisasi skrip |
Membuat Laporan HTML Real-Time di Browser
Salah satu keunggulan GoAccess adalah kemampuannya menghasilkan laporan HTML interaktif yang dapat diperbarui secara langsung melalui WebSocket. Jalankan perintah berikut di latar belakang server:
sudo goaccess /var/log/apache2/access.log -o /var/www/html/report.html --real-time-html
Setelah perintah tersebut berjalan, Anda dapat mengakses laporan melalui alamat http://IP_SERVER_ANDA/report.html di peramban web.
Troubleshooting Masalah Umum
Jika metrik pengunjung tidak muncul atau kosong, periksa hal berikut:
- Izin File Log: Pastikan pengguna yang menjalankan GoAccess memiliki izin membaca (read permission) pada file log Apache.
- Ketidakcocokan Format: Sesuaikan variabel
log-formatdi file konfigurasi GoAccess dengan format kustom yang didefinisikan dalamapache2.confatauhttpd.conf. - Log Kosong: Pastikan Apache benar-benar mencatat aktivitas ke jalur file log yang dianalisis.