Использование journalctl в Linux для просмотра и управления журналами системы

Утилита journalctl в Linux используется для просмотра и управления журналами системы (логи), которые собираются службой systemd-journald, частью системы инициализации и управления службами systemd. Она предоставляет централизованный доступ к логам, собираемым из разных источников на системе, включая ядро, начальную загрузку, и службы. journalctl тесно интегрирована с systemd, основной системой инициализации и управления службами в современных дистрибутивах Linux. systemd использует systemd-journald для сбора и хранения логов.

Любая служба, управляемая через systemd, автоматически имеет свои журналы, собираемые и доступные через journalctl. Это упрощает диагностику проблем и мониторинг состояния системных служб.

Зачем нужна journalctl:

  1. Централизованное логирование: journalctl обеспечивает единый доступ к логам системы, что упрощает процесс поиска и анализа журналов событий.
  2. Подробные логи: Журналы, собранные systemd-journald, содержат подробную информацию, включая метаданные о процессе, который сгенерировал сообщение, временные метки с высокой точностью и многое другое.
  3. Фильтрация и поиск: journalctl предлагает мощные возможности для фильтрации и поиска в журналах, позволяя пользователям легко находить записи, соответствующие определенным критериям, таким как диапазон дат, приоритет сообщений или связанные с определенной службой.
  4. Управление журналами: journalctl позволяет настраивать поведение журналов, например, контролировать размер журналов, настраивать их ротацию и период хранения.

Утилита journalctl предлагает множество опций для просмотра и фильтрации логов системы. Вот несколько примеров использования journalctl:

  • Для просмотр всех логов просто введите команду journalctl
  • Просмотр логов определенной службы (например, nginx.service):
journalctl -u nginx.service
  • Просмотр логов за определенный период времени: например, "2023-01-01":
journalctl --since "2023-01-01"
journalctl --since "2023-01-01" --until "2023-01-02"

Логи за последние 24 часа:

journalctl --since "1 day ago"
  • Для непрерывного просмотра логов в реальном времени, аналогично тому как работает tail -f, вы можете использовать -f (follow) опцию с journalctl. Эта команда будет выводить новые журналы по мере их поступления, что особенно полезно для мониторинга текущих событий системы в реальном времени. Например, мы хотим увидеть кто пытается получить доступ по протоколу SSH:
journalctl -f -u ssh.service
  • Просмотр логов с пагинацией (прокрутка вверх и вниз по страницам):
journalctl | less

Просмотр определенного количества последних записей (например, последние 20 записей):

journalctl -n 20
  • Фильтрация по приоритету (например, показать только ошибки):
journalctl -p err
  • Просмотр логов в обратном порядке (последние события первыми):
journalctl -r

journalctl предоставляет гибкие возможности для работы с системными логами, позволяя пользователям адаптировать процесс просмотра и фильтрации логов под свои конкретные потребности.

PQ VPS сервера в 28+ странах.
Dolphin anty. Инглекс (Englex) — онлайн школа английского языка.