#Что означает сообщение
Журнал занял диск
Рост /var/log/journal связан с количеством событий и политикой хранения journald. Прежде чем удалять историю, проверьте, какая служба её генерирует.
#Как отличить причины
| Возможная причина | Как узнать | Что делать |
|---|---|---|
| Нет лимита | Сравните момент появления признака «Нет лимита» с тем, когда ранее работала нужная функция. Важно сопоставить проверку с исходным симптомом, а не с догадкой. | Исправляйте только подтверждённый фактор «Нет лимита», сохраняя прежние настройки. Для проверки результата повторите только прежнее действие. |
| Спам логов | Сравните момент появления признака «Спам логов» с тем, когда ранее работала нужная функция. Учитывайте версию systemd и условия сбоя. | Исправляйте только подтверждённый фактор «Спам логов», сохраняя прежние настройки. Изменения вносите по одному, с возможностью возврата. |
| Старые записи | Сравните момент появления признака «Старые записи» с тем, когда ранее работала нужная функция. Учитывайте версию systemd и условия сбоя. | Исправляйте только подтверждённый фактор «Старые записи», сохраняя прежние настройки. Для проверки результата повторите только прежнее действие. |
| Диск | Проверьте, достаточно ли свободного ресурса и есть ли в журнале аппаратные ошибки. Учитывайте версию systemd и условия сбоя. | Для случая «systemd: журнал занимает много места в /var/log/journal» если найден дефицит места, освободите его штатными средствами; если есть признаки повреждения, в первую очередь сохраните данные, а уже затем исправляйте структуру или заменяйте носитель. Изменения вносите по одному, с возможностью возврата. |
#Пошаговое решение
- Зафиксируйте ошибку и проверьте условияЧерез SSH выполните
journalctl --disk-usage,df -h /var/logиdf -i /var/log, чтобы понять, сколько места занимают журналы и не заполнены ли inode. Каталог/var/log/journalможет отсутствовать при непостоянном хранении — не создавайте его автоматически. - Выполните основную проверку и исправлениеПосмотрите, какая служба генерирует наибольшее число сообщений:
journalctl -b -p warning --no-pager | tail -n 100, затемjournalctl -u имя.service --since "1 hour ago". Если журнал быстро наполняется ошибками, сначала исправьте причину повторов и сохраните существенные события для расследования. - Исключите другие подтверждённые причиныДля освобождения места после сохранения необходимых записей выполните одну команду, например
sudo journalctl --vacuum-size=500Mилиsudo journalctl --vacuum-time=14d. Эти команды очищают архивные файлы, активный журнал может остаться крупным; не удаляйте каталог/var/log/journalчерез rm. - Проверьте, действительно ли проблема решенаПри необходимости задайте
SystemMaxUse/SystemKeepFreeчерез/etc/systemd/journald.conf.d/*.confс секцией[Journal], учитывая место диска, затем согласованно перезапустите journald. Повторитеjournalctl --disk-usageчерез день; если объём снова быстро растёт, вернитесь к шумной службе.
#Что важно перед исправлением
Не стирайте каталог /var/log/journal с работающей службой. На сервере с инцидентом безопасности журналы могут быть необходимы для расследования.