 Autor: [Robert Zasilny](/autorzy/robert-zasilny) Ekspert bezpieczeństwa i compliance · Zweryfikowano Kwiecień 2026

1.  [Strona główna](/) ›
2.  [Baza wiedzy](/baza-wiedzy/) ›
3.  GoAccess — analiza logów

# GoAccess — analiza logów Nginx i Apache w czasie rzeczywistym

Opublikowano: 10 kwietnia 2026 · Kategoria: Hosting

Każde żądanie do Twojego serwera jest zapisywane w logach — ale kto je czyta? Ręczne przeglądanie plików access.log przez grep jest nużące i pomija kontekst. GoAccess to narzędzie które w kilka sekund przekształca surowe logi Nginx lub Apache w czytelny dashboard z wykresami, tabelami i filtrami. Działa w terminalu bez instalacji GUI, generuje statyczne raporty HTML lub interaktywny dashboard aktualizowany przez WebSocket. Najważniejsze: jest bezpłatny, open-source i nie wysyła żadnych danych poza serwer.

## Instalacja GoAccess

\# Ubuntu / Debian (oficjalne repo GoAccess — nowsza wersja niz w apt)
echo "deb https://deb.goaccess.io/ $(lsb\_release -cs) main" | \\
  sudo tee /etc/apt/sources.list.d/goaccess.list
wget -O - https://deb.goaccess.io/gnugpg.key | \\
  sudo gpg --dearmor -o /usr/share/keyrings/goaccess-keyring.gpg
sudo apt update && sudo apt install goaccess -y

# Sprawdz wersje
goaccess --version

# Alternatywnie z domyslnego apt (starsza wersja, ale wystarczajaca)
sudo apt install goaccess

# CentOS / RHEL / Fedora
sudo dnf install goaccess

## Pierwsze uruchomienie — analiza logów Nginx

Nginx używa domyślnie formatu "Combined Log Format" — GoAccess ma dla niego gotową predefinkowaną opcję. Możesz analizować logi interaktywnie w terminalu lub przekierować output do pliku.

\# Analiza interaktywna w terminalu (TUI)
sudo goaccess /var/log/nginx/access.log --log-format=COMBINED

# Analiza z wlaczonym geolokalizacja IP (wymaga GeoIP2 database)
sudo goaccess /var/log/nginx/access.log \\
  --log-format=COMBINED \\
  --geoip-database=/usr/share/GeoIP/GeoLite2-City.mmdb

# Wiele plikow logow jednoczesnie (np. po logrotate)
sudo goaccess /var/log/nginx/access.log /var/log/nginx/access.log.1 \\
  --log-format=COMBINED

# Skompresowane logi .gz bezposrednio
sudo zcat /var/log/nginx/access.log.\*.gz | \\
  goaccess - --log-format=COMBINED

# Apache (ten sam format Combined)
sudo goaccess /var/log/apache2/access.log --log-format=COMBINED

W trybie interaktywnym GoAccess wyświetla dashboard z panelami: statystyki globalne, żądania HTTP, adresy IP, kody odpowiedzi (200/404/500), przeglądarki, systemy operacyjne, referrery i wiele innych. Nawigacja za pomocą strzałek i klawiszy Page Up/Down.

## Generowanie raportów HTML

Raport HTML to samodzielny plik z interaktywnym dashboardem — wykresy, tabele, filtry datowe. Możesz go otworzyć w przeglądarce, wysłać jako załącznik emaila lub udostępnić przez serwer WWW.

\# Generuj raport HTML
sudo goaccess /var/log/nginx/access.log \\
  --log-format=COMBINED \\
  -o /var/www/html/stats/report.html

# Raport z ostatnich 7 dni (przez filtr dat)
sudo goaccess /var/log/nginx/access.log \\
  --log-format=COMBINED \\
  --date-format=%d/%b/%Y \\
  --since-date=2026-04-03 \\
  -o /var/www/html/stats/report-7days.html

# Raport z pelnego history (rotowane logi + aktualny)
sudo zcat /var/log/nginx/access.log.\*.gz | \\
  cat - /var/log/nginx/access.log | \\
  goaccess - --log-format=COMBINED \\
  -o /var/www/html/stats/full-report.html

# Zabezpiecz dostep do raportu przez Basic Auth w Nginx
# W /etc/nginx/sites-available/stats.conf:
# location /stats/ {
#   auth\_basic "Analytics";
#   auth\_basic\_user\_file /etc/nginx/.htpasswd;
# }

## Dashboard real-time z WebSocket

GoAccess obsługuje tryb real-time: generuje plik HTML który automatycznie aktualizuje się przez WebSocket. Gdy ktoś odwiedza Twoją stronę, widzisz to na żywo w raporcie — bez przeładowania strony. GoAccess musi działać jako długotrwały proces (daemon).

\# Real-time dashboard na porcie WebSocket 7890
sudo goaccess /var/log/nginx/access.log \\
  --log-format=COMBINED \\
  --real-time-html \\
  --ws-url=wss://stats.twoja-domena.pl:443/ws \\
  --port=7890 \\
  -o /var/www/html/stats/realtime.html \\
  --daemonize

# Nginx - proxy WebSocket dla GoAccess
# Dodaj do server block dla stats.twoja-domena.pl:
# location /ws {
#   proxy\_pass http://localhost:7890;
#   proxy\_http\_version 1.1;
#   proxy\_set\_header Upgrade $http\_upgrade;
#   proxy\_set\_header Connection "upgrade";
# }

# Zatrzymaj daemon GoAccess
kill $(cat /tmp/goaccess.pid)

## Automatyczne raporty przez cron

\# /etc/cron.d/goaccess-report
# Generuj raport co noc o 23:55 (przed logrotate o polnocy)

55 23 \* \* \* root /usr/bin/goaccess /var/log/nginx/access.log \\
  --log-format=COMBINED \\
  -o /var/www/html/stats/daily-$(date +\\%Y-\\%m-\\%d).html \\
  --no-global-config 2>> /var/log/goaccess-cron.log

# Czyszczenie starych raportow (starsze niz 30 dni)
0 0 \* \* \* root find /var/www/html/stats/ -name "daily-\*.html" \\
  -mtime +30 -delete

## Przydatne panele GoAccess — co warto śledzić

Panel

Co pokazuje

Zastosowanie

Visitors

Unikalnych odwiedzających per dzień/godzinę

Trendy ruchu, peak hours

Requests

Najczęściej żądane URL-e

Najpopularniejsze strony, zasoby statyczne

Static Requests

Pliki JS/CSS/obrazy/fonty

Optymalizacja cache statycznych zasobów

Not Found (404)

Brakujące strony i zasoby

Wykrywanie broken links, błędnych URL-i

Hosts

Adresy IP klientów z liczbą żądań

Wykrywanie botów, scraper'ów, atakujących

HTTP Codes

Rozkład kodów odpowiedzi (200/301/404/500)

Monitoring błędów serwerowych

Operating Systems

Systemy operacyjne klientów

Optymalizacja dla mobile vs desktop

Referrers

Skąd przychodzi ruch

Analiza źródeł ruchu

## Najczęstsze pytania

Czym jest GoAccess i co analizuje? +

GoAccess to open-source'owy analizator logów serwera WWW działający w czasie rzeczywistym. Parsuje logi Nginx, Apache i inne formaty (Combined Log Format, W3C, CloudFront, AWS S3, JSON). Pokazuje statystyki odwiedzin, najpopularniejsze URL-e, kody HTTP, przeglądarki, systemy operacyjne, geolokalizację IP i wiele więcej. Działa w terminalu lub generuje raporty HTML.

Jak GoAccess wypada w porównaniu z Google Analytics? +

GoAccess analizuje logi serwera, więc widzi WSZYSTKIE żądania — w tym boty, crawlery, żądania API i zasoby statyczne. Google Analytics działa przez skrypt JavaScript, więc nie widzi żądań bez JS (boty, skrobaki, żądania direct), odwiedza tych którzy blokują tracking i wielu żądań technicznych. GoAccess jest lepszy do analizy technicznej (błędy 404/500, ataki, crawlery). GA jest lepszy do analizy zachowań użytkowników i konwersji. Oba narzędzia uzupełniają się.

Czy GoAccess działa z logami z wielu serwerów? +

Tak, GoAccess może analizować wiele plików logów jednocześnie. Możesz podać kilka plików jako argumenty lub użyć cat/zcat do łączenia i przesyłania przez pipe. W przypadku wielu serwerów sprowadź logi do jednego miejsca (np. przez rsync lub centralne logowanie z Filebeat/Promtail) i analizuj łącznie. GoAccess obsługuje też skompresowane pliki .gz bez rozpakowywania.

Jak wygenerować raport HTML z GoAccess? +

GoAccess generuje samodzielny plik HTML z interaktywnym dashboardem. Polecenie: goaccess /var/log/nginx/access.log --log-format=COMBINED -o /var/www/html/report.html. Plik HTML zawiera wszystkie dane, wykresy i filtry. Możesz go otworzyć w przeglądarce, wysłać emailem lub udostępnić przez serwer WWW. Opcja --real-time-html włącza aktualizacje WebSocket.

Czy GoAccess obsługuje logi skompresowane gzip? +

Tak. GoAccess obsługuje skompresowane logi .gz bezpośrednio: goaccess access.log access.log.1.gz access.log.2.gz --log-format=COMBINED. Możesz też użyć zcat: zcat /var/log/nginx/access.log\*.gz | goaccess --log-format=COMBINED. To szczególnie przydatne gdy logrotate kompresuje stare logi, a chcesz analizować dane historyczne.

## Sprawdź oferty pasujące do tego scenariusza

Poniżej masz szybkie przejścia do ofert i stron z kodami rabatowymi tam, gdzie są dostępne.

LH.pl

Hosting z dostępem SSH i logami — idealne do GoAccess

SSH + Logi

[Aktywuj rabat →](/out/lh-pl)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/lh-pl)

Contabo

VPS z pełną kontrolą logów Nginx i Apache

VPS + Nginx

[Aktywuj rabat →](/out/contabo)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/contabo)

Mikr.us

Budżetowy VPS do testów GoAccess i analizy ruchu

Dev/Test

[Aktywuj rabat →](/out/mikrus)

#Reklama · link partnerski

[Zobacz kod rabatowy →](/kody-rabatowe/mikrus)

## Powiązane strony

-   [Logi serwera Apache i Nginx — jak czytać i analizować](/baza-wiedzy/logi-serwera-apache-nginx)
-   [Logrotate — konfiguracja rotacji logów](/baza-wiedzy/logrotate-konfiguracja-linux)
-   [Nginx — konfiguracja virtual hosts na VPS](/baza-wiedzy/nginx-vhost-konfiguracja)
-   [Wszystkie artykuły](/baza-wiedzy/)