Journald

Последнее обновление: 21.03.2024

В дополнение к rsyslog для журналирования событий в системе предназначен сервис Journald. Journald используется преимущественно для предоставления дополнительной информации о работе сервисов. Он дает информацию в режиме реального времени, которая по умолчанию очищается при перезапуске компьютера. Использование Journald позволяет запрашивать конкретную информацию о службах и их текущем рабочем состоянии.

Journald также предоставляет команду journalctl, которая позволяет прочитать последние сообщения журнала. По умолчанию она показывает самые ранние записанные события:

eugene@Eugene:~$ journalctl
Mar 08 16:37:23 Eugene systemd-journald[473]: /var/log/journal/>
Mar 08 16:37:23 Eugene kernel: audit: type=1400 audit(170990504>
Mar 08 16:37:23 Eugene kernel: audit: type=1400 audit(170990504>
Mar 08 16:37:23 Eugene rtkit-daemon[1754]: Supervising 8 thread>
.....................................

Чтобы перейти к самым последним строкам, добавленным в журнал, используйте опцию G

Journalctl также имеет множество опций для фильтрации определенных элементов журнала. В частности, некоторые из них:

  • --system: отображает системный журнал

  • --user: отображает логи только текущего пользователя

  • -D --directory=PATH: отображает логи из определенной папки

  • --file=PATH: отображает лог по определенному пути

  • -S --since=DATE: показывает сообщения начиная с определенной даты в формате YYYY-MM-DD hh:mm:ss.

  • -U --until=DATE: показывает сообщения до определенной даты в формате YYYY-MM-DD hh:mm:ss.

  • -t --identifier=STRING: показывает сообщения с определенным тегом

  • -p --priority=RANGE: показывает сообщения с определенным приоритетом

  • -g --grep=PATTERN: использует регулярное выражение для поиска сообщений

  • -k --dmesg: показывает сообщения лога ядра для текущей загрузки

Например, отобразим последние 10 записей из системного лога:

eugene@Eugene:~$ journalctl --system -n 10
Mar 21 11:45:08 Eugene rtkit-daemon[2337]: Supervising 7 threads of 4 processes of 1 users.
Mar 21 11:45:08 Eugene rtkit-daemon[2337]: Successfully made thread 3384 of process 3361 owned by '1000' RT at priority 20.
Mar 21 11:45:08 Eugene rtkit-daemon[2337]: Supervising 8 threads of 5 processes of 1 users.
...........................................................

Или к примеру отобразим все ошибки (то есть сообщения, которые принадлежат приоритету "err"):

journalctl -p err

Для фильтрации по дате даты указываются в формате YYYY-MM-DD hh:mm:ss. Например, найдем все сообщения с 16:30:20 20 марта 2024 года:

journalctl --since "2024-03-20 16:30:20"

Можно также время не указывать, а только дату:

journalctl --since 2024-03-20

Также в качестве параметров можно использовать слова yesterday, today и tomorrow. Например, найдем все записи начиная со вчерашнего дня:

journalctl --since yesterday

Конечно, можно комбинировать различные опции для более тонкой фильтрации. Например, найдем все ошибки со вчерашнего дня:

journalctl --since yesterday -p err
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850