journalctl не сохраняет файлы журналов

Вопрос или проблема

По какой-то причине мой сервер с SLES 15 SP4 не сохраняет данные журнала в journalctl более чем на 2 дня.

Мой journald.conf выглядит так:

[Journal]
Storage=persistent
Compress=yes
#Seal=yes
#SplitMode=uid
#SyncIntervalSec=5m
#RateLimitIntervalSec=30s
#RateLimitBurst=10000
SystemMaxUse=10G
#SystemKeepFree=
#SystemMaxFileSize=
#SystemMaxFiles=100
#RuntimeMaxUse=
#RuntimeKeepFree=
#RuntimeMaxFileSize=
#RuntimeMaxFiles=100
MaxRetentionSec=2month
#MaxFileSec=1month
#ForwardToSyslog=no
#ForwardToKMsg=no
#ForwardToConsole=no
#ForwardToWall=yes
#TTYPath=/dev/console
#MaxLevelStore=debug
#MaxLevelSyslog=debug
#MaxLevelKMsg=notice
#MaxLevelConsole=info
#MaxLevelWall=emerg
#LineMax=48K
#ReadKMsg=yes
#Audit=yes

Но что бы я ни пробовал, журналов старше 2 дней нет.
Я также пробовал флаги --since и --until, но всё безуспешно.
Что я могу сделать, чтобы логи journald были постоянными?

Ответ или решение

Ваша проблема с журналом journalctl на сервере SLES 15 SP4, который, по-видимому, сохраняет логи лишь на два дня, может быть вызвана рядом факторов. Основываясь на вашей конфигурации journald.conf и изложенной проблеме, предоставлю теоретическое обоснование, примеры и их применение для решения данной ситуации.

Теория

Сначала разберем ключевые аспекты работы systemd-journald и параметры конфигурации:

  1. Storage=persistent: Данный параметр указывает, что логи сохраняются на диске в директории /var/log/journal, а не только в оперативной памяти.

  2. SystemMaxUse=10G: Определяет максимальный объем памяти, занимаемый журналами. При достижении этого лимита старые лог-файлы удаляются.

  3. MaxRetentionSec=2month: Данный параметр указывает, что логи должны храниться не более 2 месяцев. Однако, если другие ограничения (например, по объему) достигнуты раньше, это может повлиять на действительную длительность хранения.

  4. RateLimitIntervalSec и RateLimitBurst: Эти параметры контролируют, как часто и сколько сообщений может быть записано, чтобы предотвратить переполнение логов.

В вашей ситуации, проблема может быть связана с тем, что параметр SystemMaxUse=10G достигает своего предела быстрее, чем предполагалось, из-за высокоактивного уровня логирования или из-за недостаточного свободного места, доступного серверу.

Примеры

  1. Проверка использования дискового пространства журналами:

    Вы можете использовать команду journalctl --disk-usage, чтобы определить, сколько места фактически занимают журналы. Это поможет понять, не достигнут ли лимит, установленный в SystemMaxUse.

  2. Анализ существующих логов:

    Используйте команду journalctl --verify, чтобы убедиться, что ни один из существующих файлов журнала не поврежден. Поврежденные файлы могут быть автоматически удалены systemd-journald, что уменьшает общее число доступных логов.

Применение

  1. Оптимизация параметров в journald.conf:

    Если дисковое пространство ограничено, может быть полезно пересмотреть значение SystemMaxUse. Например, уменьшите его и установите SystemMaxFileSize, чтобы ограничить размер отдельных файлов журнала. Также вы можете освободить место, уменьшив SystemMaxFiles, тем самым ограничивая количество файлов.

  2. Проверка системных ограничений и внешних вмешательств:

    Убедитесь, что на уровень уборки логов не оказывают влияние внешние скрипты или ограничения дискового хранения, заданные извне journald.conf. Внешние utility или резервные процессы могут оказывать неосознанное воздействие на журналы.

  3. **Мониторинг изменений»:

    Установите слежение за конфигурацией journald.conf, чтобы быть в курсе любых изменений, которые могут быть внесены администраторами или автоматизированной системой управления конфигурацией.

  4. Резервное копирование логов:

    Если логи содержат критически важные данные, настройте на вашем сервере резервное копирование журналов. Используйте планировщик задач, такой как cron, чтобы архивировать данные журналов периодически и хранить их в безопасном месте.

Заключение

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

Оцените материал
Добавить комментарий

Капча загружается...