Rozdział 8 · 8.4
Czytanie logów za pomocą journalctl i docker logs
Gdy coś nie działa, przyczyna prawie zawsze jest zapisana w logu. W systemach Debian i Ubuntu większość komunikatów trafia do journal systemd.
journalctl: najważniejsze polecenia
| Polecenie | Co Państwo zobaczą? |
|---|---|
journalctl -u caddy | Wszystko z jednej usługi, tutaj Caddy |
journalctl -u ssh --since today | Wszystkie logowania SSH z dzisiaj |
journalctl -p err -b | Wszystkie błędy od ostatniego ponownego uruchomienia |
journalctl -b -1 | Co działo się przed poprzednim ponownym uruchomieniem |
journalctl -f | Podgląd na żywo (zatrzymanie: Ctrl+C) |
journalctl -e | Przejście od razu na koniec |
Prosimy dodać na początku sudo lub dodać swoje konto do grupy adm (sudo usermod -aG adm anna), aby widzieć wszystkie komunikaty.
Typowe poszukiwanie przyczyny, gdy strona internetowa nie działa:
anna@web1:~$ systemctl status nginx
anna@web1:~$ sudo journalctl -u nginx -p err --since "1 hour ago"
anna@web1:~$ sudo tail -n 50 /var/log/nginx/error.log
Logi kontenerów
anna@web1:/srv/diensten$ sudo docker compose logs --tail 100 vaultwarden
anna@web1:/srv/diensten$ sudo docker compose logs -f caddy
Inne często potrzebne logi
/var/log/nginx/: odwiedzający i błędy nginx./var/log/fail2ban.log: kogo zablokował fail2ban./var/log/unattended-upgrades/: co zostało automatycznie zaktualizowane./var/log/apt/history.log: które pakiety i kiedy zostały zainstalowane.
Logi zajmujące zbyt dużo miejsca
anna@web1:~$ journalctl --disk-usage
anna@web1:~$ sudo journalctl --vacuum-size=500M
Journal sam się porządkuje, ale domyślnie zajmuje do 10 procent dysku (maksymalnie 4 GB). Rozmiar logów kontenerów można ograniczyć w sposób opisany w Aktualizacja kontenerów, porządkowanie i ograniczanie logów.
