Journalctl — “наріжний камінь” системного адміністратора. В результаті роботи з Journalctl я виявив та прибрав усі помилки, знайдені в системі, а Linux пришвидшився у 2 рази. У цій статті я розкажу що таке Journalctl та як з ним працювати й дам повний список команд.
Journalctl — це службова утиліта командного рядка Linux, яка містить системні логи (записи) та події на рівні ядра. Належить до програмного компоненту systemd. З допомогою Journalctl можна аналізувати логи, визначати системні збої і помилки ініціалізації, конфлікти в конфігурації та інші проблеми всередині операційної системи Linux.
Повідомлення в журналі Journalctl класифікуються за рівнем пріоритету та категоріям (Facility). Класифікація записів відповідає класичному протоколу Syslog (RFC 5424).
Налаштувати роботу Journalctl можна у файлі конфігурації: /etc/systemd/journald.conf
Він містить наступні налаштування:
[Journal] #Storage=auto #Compress=yes #Seal=yes #SplitMode=uid #SyncIntervalSec=5m #RateLimitIntervalSec=30s #RateLimitBurst=10000 #SystemMaxUse=50M #SystemKeepFree= #SystemMaxFileSize= #SystemMaxFiles=100 #RuntimeMaxUse= #RuntimeKeepFree= #RuntimeMaxFileSize= #RuntimeMaxFiles=100 #MaxRetentionSec= #MaxFileSec=1month
ℹ️ Усі команди виконувати з приставкою sudo від імені суперадміністратора.
journalctl
— виклик служби Journalctl і показ усіх записів журналу.journalctl -n 100
— показати 100 останніх записів журналу.journalctl -f
— показувати записи журналу в реальному часі.journalctl -k
— вивід повідомлень ядра Linux.journalctl -e
— відкрити журнал, відмотавши його до останнього запису.journalctl -b
— показати усі записи з моменту останнього завантаження.journalctl --list-boots | tail
– переглянути останні 10 рядків логів усіх запусків системи.journalctl -b -2
– переглянути логи завантаження системи за номером.journalctl --since 2022–09–19
— перегляд записів журналу від вказаної дати (можна також додати час).journalctl --since 2022–12–17 --until 2022–12–18 10:00:00
— перегляд записів журналу за вказаним проміжком дати і часу.journalctl --since yesterday
— показати вчорашній журнал логів.journalctl -p err
— вивести записи журналу за рівнем пріоритету “Error” (помилка). Усі рівні див. у табл. вище.journalctl -u nginx.service
— вивести записи журналу, пов’язані з вказаною службою.journalctl -u NetworkManager -n 5
– вивести останні 5 записів журналу, пов’язані з вказаною службою.systemctl list-units — type=service
— дуже корисна додаткова команда, показує список назв усіх сервісів, зареєстрованих в системі. Червоним кольором підсвічуються проблемні. Їх назву можна вказати у команді вище та знайти в журналі.journalctl --grep=ЗНАЧЕННЯ
— пошук записів журналу за збігом по вказаному значенню.journalctl _PID=1
— пошук записів журналу за вказаним ідентифікатором системного процесу.journalctl /usr/sbin/nginx
— пошук записів журналу за назвою виконуваного файлу.journalctl --disk-usage
— показати скільки дискового простору займають журнали.journalctl --vacuum-size=100M
— видалити усі записи журналу, залишивши останні 100 Мб.journalctl --vacuum-time=2weeks
— видалити усі записи журналу крім останніх 2 тижнів.journalctl -o json
— вивести логи в форматі JSON.journalctl -h
man journalctl
sudo service systemd-journald restart
Journalctl виводить усі записи з системних журналів Linux, включаючи помилки та попередження, починаючи з того моменту, коли система почала завантажуватись.
Старі записи йдуть першими і починаються згори, новіші – внизу. Користувач може використовувати клавіші: “PageUp” і “PageDown”, щоб пересуватися по списку, “Enter” – щоб переглядати журнал в рядок і “Q” – щоб вийти.
Формат повідомлень Journalctl має наступний формат:
Oct 25 03:27:34 host service.name[1]: Log message.
ПОДІЛИТИСЬ У СОЦМЕРЕЖАХ:
Заповніть, будь ласка, форму й наш спеціаліст зв’яжеться з Вами та надасть безкоштовну консультацію!
Вкажіть, будь ласка, контактний номер телефону. Наш менеджер миттєво зв’яжеться з Вами!