Утилита journalctl в Linux используется для просмотра и управления журналами системы (логи), которые собираются службой systemd-journald, частью системы инициализации и управления службами systemd. Она предоставляет централизованный доступ к логам, собираемым из разных источников на системе, включая ядро, начальную загрузку, и службы. journalctl тесно интегрирована с systemd, основной системой инициализации и управления службами в современных дистрибутивах Linux. systemd использует systemd-journald для сбора и хранения логов.
Любая служба, управляемая через systemd, автоматически имеет свои журналы, собираемые и доступные через journalctl. Это упрощает диагностику проблем и мониторинг состояния системных служб.
Зачем нужна journalctl:
Утилита journalctl предлагает множество опций для просмотра и фильтрации логов системы. Вот несколько примеров использования journalctl:
journalctl -u nginx.service
journalctl --since "2023-01-01" journalctl --since "2023-01-01" --until "2023-01-02"
Логи за последние 24 часа:
journalctl --since "1 day ago"
journalctl -f -u ssh.service
journalctl | less
Просмотр определенного количества последних записей (например, последние 20 записей):
journalctl -n 20
journalctl -p err
journalctl -r
Посмотреть размер всех файлов логов systemd-journald
journalctl --disk-usage
Чтобы очистить до нужного размера файлы логов для systemd версии 218 и выше можно использовать ключи vacuum-size и vacuum-time. Опция –vacuum-size=10M позволяет управлять размером журнала, удаляя старые записи до тех пор, пока общий размер не уменьшится до указанного значения. Опция указывает journalctl удалить старые записи до тех пор, пока общий размер журнала не станет равным или меньше 10 мегабайт.
journalctl --vacuum-size=10M
Если вы хотите удалить записи по времени, вы можете использовать опцию –vacuum-time. Например, чтобы удалить записи старше 1 дня, выполните:
$ journalctl --vacuum-time=1d
journalctl предоставляет гибкие возможности для работы с системными логами, позволяя пользователям адаптировать процесс просмотра и фильтрации логов под свои конкретные потребности.