Normalde büyük ölçekli projelerde analiz için oldukça güzel metrikler veren ve ölçeklendirilebilir muazzam uygulamalar mevcut grafana, prometheus gibi ancak gel gelelim bizim projemiz ne büyük nede kurumsal bir iş yapıyoruz. En azından ben kendi web sitem için hiçde öyle zahmete girmiyorum. Ancak logların güzel gözükmesini istiyorum. Anlaşılabilir olması en güzeli gözümüzü yormaya ve bozmaya gerek yok
Goaccess kurulumunu yapalım.
wget http://tar.goaccess.io/goaccess-1.2.tar.gz
tar -xzvf goaccess-1.2.tar.gz
cd goaccess-1.2/
./configure --enable-utf8 --enable-geoip=legacy
make
make install
kurulumu başarılı bir şekilde yaptığınız andan itibaren kullanmaya başlayabilirsiniz. Tabi loglarınızda başınızı ağrıtmaya başlayacak özellikle yeni kurduysanız ve nginxin log tarafında bir ayar yapmadıysanız sizi şöyle köşeye alalım
ilk olarak nginx.conf
dosyası içerisine aşağıdaki log formatını tanımlayalım
log_format main '$remote_addr - $remote_user [$time_local] $request '
'"$status" $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for" "$gzip_ratio"'
' "$connection" "$connection_requests" "$request_time"';
Kayıt edip çıkış yapıyorsunuz ve nginx yeniden başlatıyorsunuz. Ardından /usr/local/etc/
yoluna geçiş yapıyorsunuz burada bulunan goaccess.conf
dosyasına ayarlamalarımızı yapmamız gerekiyor. Bunlardan ilki goaccess tarafındaki log formatı ki bunu yapmazsanız hata alırsınız ve log dosyanız oluşmaz
log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
date-format %d/%b/%Y
time-format %T
config-dialog false
color-scheme 1
hl-header true
no-color false
no-column-names false
no-progress false
with-mouse false
no-csv-summary false
all-static-files false
static-file .css
static-file .js
static-file .jpg
static-file .png
static-file .gif
static-file .ico
static-file .jpeg
static-file .pdf
static-file .txt
static-file .csv
static-file .zip
static-file .mp3
static-file .mp4
static-file .mpeg
static-file .mpg
static-file .exe
static-file .swf
static-file .woff
static-file .woff2
static-file .xls
static-file .xlsx
static-file .doc
static-file .docx
static-file .ppt
static-file .pptx
static-file .iso
static-file .gz
static-file .rar
static-file .svg
static-file .bmp
static-file .tar
static-file .tgz
static-file .tiff
static-file .tif
static-file .ttf
static-file .flv
agent-list false
http-method true
http-protocol true
no-query-string false
no-term-resolver false
real-os true
with-output-resolver false
444-as-404 false
4xx-to-unique-count false
double-decode false
ignore-crawlers false
ignore-panel REFERRERS
ignore-panel KEYPHRASES
ignore-panel HOSTS
ignore-panel VISITORS
Bu yüzden örnek olması açısından kendi kullanmış olduğum config dosyasını sizlerle paylaşıyorum. Direk olarak bunu kullanmanız durumunda size detaylı bir şekilde çıktı verecektir. Çıktıyı ise aşağıdaki komut ile alacağız.
goaccess -f /var/log/nginx/access.log* -a 2>/dev/null 1>/var/www/html/static/index.html
Örnek olarak şuradaki istatistiklere bakabilirsiniz.