17. journalctl w Debian 12

journalctl to narzędzie służące do przeglądania i zarządzania dziennikami systemowymi utworzonymi przez systemd-journald w systemach Linux, które korzystają z systemd jako systemu inicjowania i menedżera systemu.

W wielu współczesnych dystrybucjach Linuxa, takich jak Fedora, Ubuntu (od wersji 15.04), CentOS (od wersji 7) i wiele innych, systemd stał się standardowym systemem inicjowania. Jednym z komponentów systemd jest systemd-journald, który zbiera i przechowuje dzienniki systemowe.

Oto kilka rzeczy, które można zrobić za pomocą journalctl:

  1. Wyświetlanie wszystkich dzienników: Po prostu wpisz journalctl bez dodatkowych argumentów.
  2. Wyświetlanie dzienników dla konkretnego zakresu czasu: Można użyć argumentów --since i --until, aby określić zakres daty i czasu.
  3. Wyświetlanie dzienników dla konkretnej usługi: Używając -u (lub --unit), można ograniczyć wyjście do wpisów dla konkretnej jednostki systemd, na przykład journalctl -u sshd.
  4. Śledzenie dzienników w czasie rzeczywistym: Opcja -f (skrót od „follow”) pozwala na śledzenie najnowszych wpisów w czasie rzeczywistym.
  5. Zarządzanie przestrzenią na dysku: Możesz dostosowywać, ile miejsca na dysku zajmują dzienniki, usuwać stare wpisy itp.

journalctl oferuje wiele innych funkcji i opcji, które pozwalają na zaawansowane zarządzanie i przeglądanie dziennikami systemowymi.

Dam kilka przykładów jak z tego korzystać:

  1. Polecenie journalctl -f służy do śledzenia najnowszych wpisów w dzienniku systemowym w czasie rzeczywistym na systemach korzystających z systemu dziennikowania systemd.
  2. Polecenie journalctl -f -u fail2ban jest używane do monitorowania logów systemu dla usługi fail2ban w czasie rzeczywistym na systemach korzystających z systemu dziennikowania systemd.
  3. Polecenie journalctl -u fail2ban --since="2023-08-14 00:00:00" --until="2023-08-14 23:59:59" służy do wyświetlania wpisów dziennika systemowego dla konkretnego procesu (fail2ban w tym przypadku) z określonego zakresu daty i czasu.

Zarządzanie przestrzenią dyskową

systemd-journald przechowuje dzienniki w formie binarnej, a z czasem te dzienniki mogą zajmować coraz więcej miejsca na dysku, zwłaszcza jeśli system generuje dużą liczbę logów. Narzędzie journalctl i konfiguracja journald oferują różne sposoby zarządzania przestrzenią dyskową, którą dzienniki zajmują. Oto kilka sposobów, jak to zrobić:

  1. Ograniczenie miejsca, które dzienniki mogą zajmować na dysku: W pliku /etc/systemd/journald.conf można ustawić opcję SystemKeepFree lub SystemKeepFree, aby określić, ile miejsca na dysku powinno zostać wolne lub ile miejsca dzienniki mogą maksymalnie zajmować. Na przykład, aby ograniczyć miejsce, które dzienniki mogą zajmować, do 1 GB, ustaw: SystemKeepFree=1G Po dokonaniu zmian w pliku konfiguracyjnym, musisz zrestartować usługę systemd-journald: sudo systemctl restart systemd-journald
  2. Usuwanie starych wpisów dziennika: Aby usunąć dzienniki starsze niż, powiedzmy, 2 dni, użyj: sudo journalctl --vacuum-time=2d Aby usunąć dzienniki, tak aby zachować tylko określoną ilość miejsca na dysku (na przykład zachować tylko 500M), użyj: sudo journalctl --vacuum-size=500M
  3. Sprawdź ile miejsca zajmują aktualnie dzienniki: Aby zobaczyć, ile miejsca zajmują obecnie dzienniki: sudo journalctl --disk-usage

Zarządzanie miejsce na dysku dla dzienników jest ważne, zwłaszcza na systemach, które generują dużą liczbę logów lub mają ograniczone miejsce na dysku. Powyższe narzędzia i konfiguracje pozwalają na elastyczne zarządzanie miejsce na dysku przeznaczonym dla dzienników systemowych.