Aby skutecznie przeglądać i analizować pliki dziennika (logi) w systemie Linux, należy poznać zarówno ich lokalizację, jak i narzędzia do ich czytania, filtrowania i interpretacji. Poniżej znajduje się kompletny poradnik krok po kroku – od podstaw do technik zaawansowanych.
1. Czym są pliki logów i gdzie ich szukać?
- Pliki logów to zwykle pliki tekstowe, w których system i aplikacje rejestrują ważne zdarzenia, błędy, ostrzeżenia i inne informacje diagnostyczne.
 - Standardowa lokalizacja logów w większości dystrybucji Linuxa to katalog /var/log/. Przykładowe pliki:
- /var/log/syslog albo /var/log/messages – informacje systemowe i komunikaty jądra.
 - /var/log/auth.log – logi uwierzytelniania (logowania, sudo).
 - /var/log/dmesg – komunikaty jądra z procesu startu systemu.
 - /var/log/Xorg.0.log – logi systemu graficznego X.
 
 
2. Przeglądanie plików logów – podstawowe narzędzia
Większość logów to pliki tekstowe. Można je przeglądać za pomocą standardowych poleceń:
- cat – wyświetla cały plik:
 
 cat /var/log/syslog 
- less – przeglądanie z możliwością przewijania:
 
 less /var/log/syslog 
- more – przeglądanie strony po stronie:
 
 more /var/log/syslog 
- tail – pokazuje ostatnie linie:
 
 tail -n 50 /var/log/syslog 
- tail -f – śledzenie pliku na żywo (nowe wpisy pojawiają się w czasie rzeczywistym):
 
 tail -f /var/log/syslog 
3. Szukanie i filtrowanie informacji w logach
Aby znaleźć konkretne wpisy lub komunikaty błędów, używamy:
- grep – wyszukiwanie po frazach:
 
 grep "ERROR" /var/log/syslog 
- awk, sed lub cut – zaawansowana filtracja i przetwarzanie tekstu, np. wyświetlenie tylko daty i treści logu.
 
Przykład:
grep "Failed password" /var/log/auth.log | awk '{print $1, $2, $3, $11}' 
4. Przeglądanie dziennika systemu z systemd – journalctl
Nowoczesne systemy Linux wykorzystują systemd i przechowują logi w formacie binarnym dostępnym przez narzędzie journalctl.
Podstawowe komendy:
- Wyświetlenie wszystkich logów
 
 journalctl 
- Ostatnie wpisy
 
 journalctl -n 30 
- Na żywo (podobnie jak tail -f)
 
 journalctl -f 
- Logi z konkretnego rozruchu systemu
 
 journalctl --list-boots # lista rozruchów journalctl -b -1 # poprzedni rozruch 
Możesz też filtrować:
- Po dacie:
 
 journalctl --since "2024-06-01" --until "2024-06-02" 
- Po usłudze:
 
 journalctl -u sshd.service 
5. Analiza plików logów – na co zwracać uwagę?
Każda linia logu zwykle zawiera:
- Znacznik czasu (data i godzina)
 - Poziom komunikatu (np. INFO, ERROR, WARNING)
 - Nazwę usługi/aplikacji
 - Szczegółowy opis zdarzenia
 
Podczas analizy warto:
- Szukać powtarzających się błędów lub ostrzeżeń.
 - Weryfikować logi podczas awarii, spowolnień, problemów z bezpieczeństwem.
 - Analizować logi przy pomocy narzędzi tekstowych lub specjalistycznych programów wspierających duże wolumeny danych (np. logwatch, goaccess, ELK Stack).
 
6. Dodatkowe narzędzia i automatyzacja
- logrotate – automatyczne archiwizowanie i rotacja logów.
 - fail2ban – monitorowanie i reagowanie na niebezpieczne wpisy w logach (np. próby brute force).
 
7. Przykład praktyczny – szybka diagnostyka błędu
Załóżmy, że masz problem z logowaniem SSH –
- Sprawdź wpisy dotyczące SSH:
 
 grep "sshd" /var/log/auth.log 
- Od razu zobacz najnowsze próby:
 
 tail -f /var/log/auth.log 
- Zidentyfikuj wpisy „Failed password”:
 
 grep "Failed password" /var/log/auth.log 
Podsumowanie podstawowych narzędzi –
| Narzędzie | Opis i zastosowanie | 
|---|---|
| cat | Wyświetlanie całego pliku | 
| less, more | Przeglądanie z przewijaniem | 
| tail/-f | Ostatnie linie/na żywo | 
| grep | Wyszukiwanie fraz | 
| journalctl | Obsługa dziennika systemd | 
| awk, sed, cut | Zaawansowana filtracja i przetwarzanie tekstu | 
Znajomość powyższych narzędzi pozwala na szybkie i skuteczne rozwiązywanie problemów oraz diagnozowanie systemu Linux zarówno w środowisku serwerowym, jak i desktopowym.





