Анализ журналов системных служб Linux

Когда в Linux что-то не запускается, падает, смотрим — journalctl. Рассмотрим основные команды и приемы, который облегчат поиск и анализ причин. 1. Немного теории Обычно журнал доступен не только root пользователю, но чтобы видеть все журналы рекомендую смотреть под root . Вывод будет все записи с момента загрузки. Подайте команду, чтобы убедиться что журнал пишется.…


Когда в Linux что-то не запускается, падает, смотрим — journalctl.

Рассмотрим основные команды и приемы, который облегчат поиск и анализ причин.

  1. Немного теории, убедимся, что журналирование системы работает.
  2. Смотрим что и с чем случилось.
  3. Полезные приемы

1. Немного теории

Обычно журнал доступен не только root пользователю, но чтобы видеть все журналы рекомендую смотреть под root .

sudo su
journalctl

Вывод будет все записи с момента загрузки.

Подайте команду, чтобы убедиться что журнал пишется. Ниже команда и ожидаемая выдача:

journalctl --list-boots

# journalctl --list-boots
 0 242c78b5661942359014d71653ccb029 Fri 2025-01-31 14:19:15 MSK—Mon 2025-02-03 19:02:14 MSK

Если Вы получили подобный список от 1 и более строк, значит журнал пишется.

Если строк нет, проверьте существование папки /var/log/journal:

ls -l /var/log/journal

Если вывод пустой, то создайте папку:

sudo mkdir /var/log/journal

2.Примеры использования

Приведу самые популярные полезные команды:

  • Просмотр всех последних событий:
journalctl -e
  • Просмотреть только по конкретному приложению, например redis :
journalctl -eu redis
  • Посмотреть только за конкретное время:
journalctl -eu redis --since=today # за сегодня
journalctl -eu redis --since="2025-02-02 00:00" --until="2025-02-12 00:00" # произвольно с даты по дату

3. Полезные приемы использования

  • Бывает часто, что сообщения не помещаются в одну строку экрана и по умолчанию журнал их не переносит.
    Это параметр можно задать в профиле, но можно задать перед командой так:
SYSTEMD_LESS=FRXMK journalctl -eu redis

Еще часто Вы запускаете приложение и оно падает, чтобы видеть весь процесс запуска в журнале, можно сделать так:

systemctl restart redis && journalctl -eu redis -f


Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *