journalctl и журнал systemd
journalctl — это команда для чтения журнала systemd, бинарного хранилища логов, используемого в большинстве современных дистрибутивов Linux. Она фильтрует сообщения по службе, загрузке, времени и приоритету, а также позволяет отслеживать и ограничивать использование дискового пространства журналом, который часто разрастается до нескольких гигабайт в /var/log/journal.
1Чтение логов
journalctl -u nginx.service показывает сообщения конкретной службы. -b ограничивает вывод текущей загрузкой, -b -1 — предыдущей. -p err отображает только ошибки и более критические события. '--since "1 hour ago"' ограничивает вывод по времени, а -f позволяет следить за новыми сообщениями в реальном времени.
2Использование диска
journalctl --disk-usage выводит общий размер активных и архивных файлов журнала.
--vacuum-size=, --vacuum-time= и --vacuum-files= удаляют архивные файлы журнала до достижения заданного лимита; они не затрагивают активные файлы.
3Постоянные ограничения
Ограничения задаются в /etc/systemd/journald.conf, например SystemMaxUse=500M, после чего применяются командой systemctl restart systemd-journald. Если настройки отсутствуют, journald по умолчанию удерживает размер журнала в пределах 10% от размера файловой системы, но не более 4 ГБ.
Как уменьшить размер журнала
- Проверить размер:
journalctl --disk-usage - Ротировать активные файлы, чтобы их можно было очистить:
sudo journalctl --rotate - Оставить логи только за две недели:
sudo journalctl --vacuum-time=2weeks - Или оставить не более 500 МБ:
sudo journalctl --vacuum-size=500M - Чтобы сделать настройки постоянными, установите SystemMaxUse=500M в
/etc/systemd/journald.confи выполните:sudo systemctl restart systemd-journald
Осторожно
- Удаленные логи восстановить нельзя; сохраняйте достаточно истории для расследования проблем.
- Не удаляйте файлы в
/var/log/journalвручную, пока работает journald.
Связанные статьи
- logrotateЧто делает logrotate, как работает его конфигурация в /etc/logrotate.conf и /etc/logrotate.d, а также как безопасно протестировать правило.
- Использование диска с помощью du и ncduКак найти, что заполняет диск в Linux с помощью du и интерактивной утилиты ncdu, используя параметры для ограничения поиска одной файловой системой.
- df (disk free)Как читать вывод команды df, почему Use% может достичь 100%, когда Avail еще не равен нулю для обычных пользователей, и как проверить иноды с помощью df -i.
Источники
- journalctl(1) man7.org
- journald.conf(5) man7.org
Примечание: RainServer предлагает мониторинг и безопасную очистку для серверов Linux; он показывает, что будет изменено, и запрашивает подтверждение.
Последняя проверка: