Pengantar
GoAccess adalah penganalisis log web real-time sumber terbuka dan penampil interaktif yang berjalan di terminal di *nix systems atau melalui browser .
Ini memberikan cepat dan statistik HTTP yang berharga untuk administrator sistem yang memerlukan laporan server visual dengan cepat.
GoAccess dirancang untuk menjadi penganalisis log berbasis terminal yang cepat. Ide intinya adalah menganalisis dan melihat statistik server web dengan cepat dalam waktu nyata tanpa perlu menggunakan browser Anda (bagus jika Anda ingin melakukan analisis cepat terhadap log akses Anda melalui SSH, atau jika Anda suka bekerja di terminal ).
Meskipun keluaran terminal adalah keluaran default, ia memiliki kemampuan untuk menghasilkan waktu nyata yang lengkap dan mandiri. Laporan HTML (bagus untuk analisis, pemantauan, dan visualisasi data ), serta laporan JSON, dan CSV.
INSTALASI
Menginstal GoAccess cukup mudah. Cukup unduh, ekstrak, dan kompilasi
Kami akan mengilustrasikan cara menginstalnya pada distribusi linux yang paling umum.
Instal GoAccess di RHEL/CentOS 8
Metode 1:
Buat dari situs goaccess
Ikuti langkah-langkah ini dan jalankan perintah di bawah ini untuk memulai penginstalan.
Pertama, Anda harus menginstal epel repo dan memperbarui paket sistem.
dnf -y install epel-release
dnf -y update
shutdown -r now
GoAccess ditulis dalam bahasa pemrograman C. Oleh karena itu, satu-satunya ketergantungan yang diperlukan adalah ncurses perpustakaan dan gcc . Untuk memasang ncurses dan gcc , jalankan:
dnf -y install ncurses-devel gcc
Instal paket opsional dengan menjalankan:
dnf -y install geoip-devel tokyocabinet-devel
Anda juga mungkin perlu memasang alat pembangunan seperti autoconf dan gettext
dnf install -y autoconf gettext
Unduh tarball goaccess dengan:
[root@unixcop ~]# wget https://tar.goaccess.io/goaccess-1.5.1.tar.gz
--2021-09-14 09:43:47-- https://tar.goaccess.io/goaccess-1.5.1.tar.gz
Resolving tar.goaccess.io (tar.goaccess.io)... 67.205.130.138
Connecting to tar.goaccess.io (tar.goaccess.io)|67.205.130.138|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 642860 (628K) [application/x-gzip]
Saving to: 'goaccess-1.5.1.tar.gz'
goaccess-1.5.1.tar.gz 100%[=======================================================================>] 627.79K 395KB/s in 1.6s
2021-09-14 09:43:51 (395 KB/s) - 'goaccess-1.5.1.tar.gz' saved [642860/642860]
[root@unixcop ~]#
Kemudian ekstrak dan kompilasi dengan perintah di bawah ini:
[root@unixcop ]# tar -xzvf goaccess-1.5.1.tar.gz
[root@unixcop ]# cd goaccess-1.5.1/
[root@unixcop goaccess-1.5.1]# ./configure --enable-utf8
[root@unixcop goaccess-1.5.1]# make
[root@unixcop goaccess-1.5.1]# make install
Metode 2:
Buat dari GitHub (Pengembangan)
Jalankan saja perintah di bawah ini untuk memulai instalasi dari GitHub:
$ git clone https://github.com/allinurl/goaccess.git
$ cd goaccess
$ autoreconf -fi
$ ./configure --enable-utf8 --enable-geoip=mmdb
$ make
$ make install
Instal GoAccess di Distribusi lain
Fedora
# yum install goaccess
Linux Arch
# pacman -S goaccess
Gentoo
# emerge net-analyzer/goaccess
OS X / Homebrew
# brew install goaccess
FreeBSD
# pkg install sysutils/goaccess
OpenBSD
# pkg_add goaccess
OpenSUSE
# zypper ar -f obs://server:http http
# zypper in goaccess
pkgsrc (NetBSD, Solaris, SmartOS)
# pkgin install goaccess
Slackware
# curl https://slackbuilds.org/slackbuilds/14.1/system/goaccess.tar.gz | tar xvz
# cd goaccess/
# GEOIP=yes ./goaccess.SlackBuild
Cara menggunakan GoAccess dari Terminal
Pilih file log berdasarkan sistem operasi dan server web yang Anda gunakan. Pada sistem berbasis Debian, log dibuat di bawah /var/log/Apache2 direktori dan sistem berbasis Redhat Apache membuat log di bawah /var/log/httpd direktori. Gunakan opsi -f untuk mendefinisikan file log dengan perintah goaccess.
goaccess -f /var/log/httpd/access_log
Kemudian pilih format log.
CATATAN :Format log Apache default DIGABUNGKAN.
GoAccess juga memungkinkan Anda untuk menentukan format log dengan menggunakan –log-format opsi perintah. Misalnya, untuk menggunakan format log KOMBIN, perintahnya adalah:
goaccess /var/log/httpd/access_log --log-format=COMBINED
Anda akan melihat output pada konsol sistem seperti di bawah ini:
Anda mungkin memperhatikan bahwa tidak ada permintaan di log
Ayo lakukan beberapa permintaan.
Output dari goaccess pada konsol sistem harus diubah seperti ini:
Jika Anda menggulir ke bawah, Anda akan melihat informasi tentang sistem Operasi dan Peramban yang meminta halaman web seperti yang ditunjukkan di bawah ini.
Anda dapat menekan 'q' untuk keluar dari penampil terminal GoAccess.
Melihat Keluaran GoAccess di Dasbor Web
GoAccess memungkinkan pengguna untuk menghasilkan laporan dalam berbagai format seperti HTML, JSON dan CSV. Kita dapat membuat laporan dengan menggunakan perintah berikut ke dalam file html.
[root@unixcop ~]# goaccess /var/log/httpd/access_log --log-format=COMBINED -a -o /var/www/html/report.html
[PARSING /var/log/httpd/access_log] {0} @ {0/s}
[root@unixcop ~]#
- -a – Aktifkan daftar agen pengguna menurut host
- -o – Digunakan untuk mendefinisikan file keluaran
- Format output dipilih secara otomatis berdasarkan ekstensi nama file output
Selanjutnya, akses report.html menggunakan alamat ip server atau nama domain seperti gambar di bawah ini:
Gunakan Layanan crond Untuk Memperbarui File Dasbor Web
Anda dapat menjadwalkan perintah goaccess untuk memperbarui laporan html.
Cukup buat skrip shell
vim /mnt/goaccess.sh
Kemudian tambahkan berikut ini :
!/bin/bash
goaccess /var/log/httpd/access_log --log-format=COMBINED -a -o /var/www/html/report.html
Kemudian jadwalkan script di atas dengan crontab:
crontab -e
Tambahkan konten berikut ke akhir file
#Cron job to update Goaccess HTML repot
* * * * * /mnt/goaccess.sh
Kesimpulan
Dalam panduan ini, Anda menjelaskan cara memasang dan menggunakan GoAccess untuk melihat log server web dalam format visual.