====== Goaccess - analiza logów serwera www ====== Goaccess służy do analizy logów access oraz errors (lub wymieszanych). goaccess --log-file=vhost-access.log Przy założeniu, że log jest w takim formacie... ip.ip.ip.ip - - [05/Jun/2020:08:16:28 +0200] "POST jakis/plik/php HTTP/1.1" 200 76 "https://wiki.baszarek.pl/jakies?parametry" "Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0" ... można zrobić raport html. Najpierw należy pozbyć się cudzysłowów z loga: sed 's/\"//g' vhost-access.log > access_tmp.log i wygenerować raport: goaccess --log-file=access_tmp.log --log-format "%h %^ %^ [%d:%t %^] %m %U %H %s %b - %u" --date-format="%d/%b/%Y" --time-format="%H:%M:%S" --html-prefs='{"theme":"bright","perPage":20,"layout":"vertical","showTables":true}' -a -o raport.html ---- Skrypt bashowy, który wystawia plik index.html z raportem: #!/usr/bin/bash cd /var/www/stat.strona.pl # zebranie logow access oraz errors cat /var/www/strona.pl/log/access.log /var/www/strona.pl/log/errors.log > log1 # pozbycie sie cudzyslowow z loga sed 's/\"//g' log1 > log2 # wygenerowanie raportu goaccess --log-file=log2 --log-format "%h %^ %^ [%d:%t %^] %m %U %H %s %b - %u" --date-format="%d/%b/%Y" --time-format="%H:%M:%S" --html-prefs='{"theme":"bright","perPage":20,"layout":"vertical","showTables":true}' -a -o public_html/index.html # nadanie uprawnien chown root:stat.strona.pl public_html/index.html chmod 640 public_html/index.html Użytkownik //stat.strona.pl// jest wykorzystywany w mod-itk. Jeżeli się tego moda nie używa, należy nadać uprawnienia odczytu dla użytkownika //apache//, //www-data//, lub podobnego. Statystyki warto schować za htpasswd. ---- W Debianie 10 Goaccess ma błąd, który nie pokazuje obrazków w wygenerowanym pliku html, Należy zainstalować pakiet //libmaxminddb0// , a potem zaktualizować Goaccess pakietem z gałęzi sid.