Jak interpretować logi systemowe w Linuxie? – Kompleksowy przewodnik
Systemy operacyjne z rodziny Linux są znane z przejrzystego systemu logowania. Logi systemowe stanowią nieocenione źródło informacji o stanie systemu, jego komponentach, usługach, błędach oraz potencjalnych zagrożeniach. Dla administratorów, devopsów i użytkowników zaawansowanych zrozumienie, jak interpretować logi systemowe w Linuxie, to jedno z kluczowych narzędzi do diagnozowania i zapobiegania awariom.
W tym artykule przedstawimy kompleksowy opis najważniejszych plików logów, poleceń do ich przeglądania, narzędzi wspomagających analizę oraz typowych przykładów komunikatów wraz z ich interpretacją.
1. Czym są logi systemowe?
Logi to pliki tekstowe lub binarne zawierające chronologicznie zapisane informacje dotyczące działania systemu operacyjnego, jego usług, użytkowników oraz urządzeń. Są one generowane automatycznie przez demony (procesy systemowe) i umożliwiają audyt działania systemu.

2. Gdzie znajdują się logi w Linuxie?
Większość logów przechowywana jest w katalogu:
/var/log
W systemach z systemd (czyli praktycznie wszystkich nowoczesnych dystrybucjach) logi trafiają również do:
systemd-journal (dostępne przez journalctl)
3. Struktura katalogu /var/log
Typowa zawartość katalogu:
/var/log/sysloglub/var/log/messages– ogólne logi systemowe/var/log/auth.log– logi uwierzytelniania i logowania/var/log/kern.log– logi jądra systemu/var/log/dmesg– logi inicjalizacji sprzętu/var/log/boot.log– logi z procesu uruchamiania systemu/var/log/Xorg.0.log– logi środowiska graficznego/var/log/apt/– logi menedżera pakietów APT (Ubuntu/Debian)/var/log/httpd/lub/var/log/nginx/– logi serwerów webowych/var/log/mysql/– logi MySQL/MariaDB
4. Najważniejsze pliki logów i ich zastosowanie
| Plik | Funkcja |
|---|---|
/var/log/syslog |
Główne informacje systemowe, różne komponenty |
/var/log/auth.log |
Próby logowania, sudo, SSH |
/var/log/dmesg |
Wykrywanie sprzętu, kernel boot |
/var/log/faillog |
Nieudane logowania |
/var/log/secure |
Uwierzytelnienia, SELinux (RHEL/CentOS) |
/var/log/Xorg.0.log |
Diagnostyka środowiska graficznego |
/var/log/journal/ |
Binarne logi journalctl (systemd) |
5. Komendy do przeglądania logów
cat /var/log/syslog
less /var/log/auth.log
tail -f /var/log/syslog
grep "error" /var/log/syslog
tail -f – dynamiczne śledzenie nowych wpisów
less – wygodna nawigacja
grep – filtrowanie według fraz
6. journalctl – logi systemd
W nowoczesnych systemach (Ubuntu, Fedora, Arch, Debian):
journalctl # Wszystkie logi
journalctl -b # Logi z obecnego rozruchu
journalctl -xe # Błędy z ostatnich minut
journalctl -u ssh # Logi dotyczące usługi SSH
Można też filtrować według daty:
journalctl --since=yesterday
journalctl --since "2024-01-01" --until "2024-01-05"
7. Interpretacja wpisów logów
Przykład wpisu:
Jan 14 10:22:01 servername CRON[15023]: (root) CMD (/usr/lib/sa/sa1 1 1)
- Jan 14 10:22:01 – data i czas
- servername – nazwa hosta
- CRON[15023] – źródło logu i PID
- (root) – użytkownik
- CMD (…) – wykonywana komenda
8. Filtrowanie i analiza błędów
Szukanie błędów i ostrzeżeń:
grep -i error /var/log/syslog
grep -i fail /var/log/auth.log
journalctl -p err..alert
Poziomy logowania:
emerg– awaria systemualert– natychmiastowa interwencjacrit– krytyczneerr– błędywarning– ostrzeżeniainfo,debug– informacje, debugowanie
9. Narzędzia do analizy logów
- Logwatch – generowanie raportów dziennych
- GoAccess – analiza logów HTTP
- Logrotate – rotacja logów
- Multitail – podgląd wielu logów jednocześnie
- ELK Stack (Elasticsearch, Logstash, Kibana) – zaawansowana analiza logów
10. Automatyzacja i monitoring
- Ustaw alerty na podstawie logów (np.
logcheck) - Wysyłaj logi na zewnętrzny serwer syslog
- Korzystaj z narzędzi SIEM (np. Graylog, Wazuh)
11. Przykładowe scenariusze
✅ Problem z SSH:
grep sshd /var/log/auth.log
journalctl -u ssh
✅ Problemy z siecią:
journalctl -u NetworkManager
cat /var/log/syslog | grep dhclient
✅ Nieudane logowanie root:
grep "Failed password" /var/log/auth.log
12. Logi a bezpieczeństwo
- Monitoruj
/var/log/auth.logpod kątem prób brute-force - Aktywuj
auditd– szczegółowy audyt działań użytkowników - Używaj
fail2ban, by automatycznie blokować nieautoryzowany dostęp
13. Rotacja logów
Logi mogą rosnąć do ogromnych rozmiarów. Linux używa logrotate, by je cyklicznie archiwizować i kompresować.
Sprawdź konfigurację:
cat /etc/logrotate.conf
cat /etc/logrotate.d/*
Możesz wymusić rotację:
sudo logrotate -f /etc/logrotate.conf
14. Podsumowanie
Zrozumienie i umiejętna analiza logów systemowych w Linuxie to kluczowy krok do utrzymania stabilności, bezpieczeństwa i wysokiej wydajności systemu. Niezależnie od tego, czy prowadzisz serwer, czy pracujesz na komputerze osobistym, logi pomogą Ci zdiagnozować większość problemów. Dzięki narzędziom takim jak journalctl, grep, logwatch czy logrotate, możesz efektywnie śledzić zdarzenia, błędy i zagrożenia.
Pamiętaj: System loguje wszystko — wystarczy tylko wiedzieć, jak to czytać.






