Стойка PowerFlex: Проблемы с пространством /var/log при включенной функции переадресации syslog
Summary: В этой статье объясняется, что проблема в пространстве /var/log из-за ротации журналов возникает недостаточно часто.
Symptoms
Текущая конфигурация logrotate выполняет ротацию файла сообщений один раз в неделю, но в случаях, когда в VxFlex Manager включена переадресация системного журнала, он может вращаться недостаточно быстро.
Факты.
- В VxFlex Manager включена функция пересылки syslog.
- Раздел /var/log быстро заполняется.
- Это может сильно отличаться в зависимости от системы
- Удаленный syslog включен на устройствах в интегрированной стойке или системе VxFlex и настроен на отправку событий syslog в VxFlex Manager
Cause
Инвентаризация ресурсов завершается сбоем для всех ресурсов, если файловая система /var/log работает на 100 %.
Примечание. Перечисленные ниже предупреждения или критические оповещения могут не работать, если пространство слишком заполнено для выполнения этих проверок или заполняется слишком быстро.
- В пользовательском интерфейсе VxFlex Manager отображается предупреждение, если >75%:
В пользовательском интерфейсе VxFlex Manager отображается значение «критический», если > 95%:
df -h показывает, что /var/log использует очень высокую используемую емкость и быстро растет.
Resolution
Чтобы исправить функцию ротации журналов на устройствах VxFlex Manager с включенной функцией переадресации системного журнала, можно настроить вращение журналов, сжать существующие журналы, изменить параметры rsyslog и понизить уровни журнала отладки, выполнив следующие действия.
Шаг 1. Подключитесь по SSH к VxFlex Manager и станьте пользователем root. sudo su -
Шаг 2: Отредактируйте (редактор vi) правила syslog logrotate, убедившись, что в /etc/logrotate.d/syslog
/var/log/cron /var/log/maillog /var/log/messages /var/log/secure /var/log/spooler { size 100M nodateext rotate 5 compress missingok copytruncate postrotate /bin/killall -s SIGHUP -r rsyslog endscript }
Шаг 3. Введите следующую команду, чтобы убедиться, что новая конфигурация сохранена правильно.
cat /etc/logrotate.d/syslog
Шаг 4. В зависимости от того, насколько быстро заполняется пространство /var/log, выберите один из следующих параметров:
Для сред, которые не заполняют /var/log ежедневно, но нуждаются в более быстрой, чем еженедельной ротации, измените logrotate с еженедельной на ежедневную с помощью следующей команды:
cp /etc/cron.weekly/logrotate /etc/cron.daily/
Для сред, которые заполняют /var/log быстрее, чем может вместить ежедневная ротация, измените logrotate с ежедневной на ежечасную с помощью следующей команды:
cp /etc/cron.daily/logrotate /etc/cron.hourly/
Шаг 5. Сожмите существующие файлы и освободите место, выполнив следующую команду:
for log in `ls /var/log/messages-*`; do sudo gzip $log; done
Примечание. Если файл /var/log/messages настолько заполнен, что его невозможно заархивировать, используйте следующую команду, чтобы очистить его:
cat /dev/null > /var/log/messages
Шаг 6. Чтобы проверить, правильно ли работает конфигурация logrotate, выполните следующую команду:
logrotate -f /etc/logrotate.d/syslog
Шаг 7. Чтобы прекратить регистрацию пересылаемых событий системного журнала в файл /var/log/messages на устройстве VxFlex Manager, выполните следующие действия.
- Создайте файл конфигурации в /etc/rsyslog.d/ с помощью следующей команды:
vi 21-stop-remote-host-syslog-logging.conf - Добавьте следующую строку в только что созданный файл выше:
if $fromhost-ip != '127.0.0.1' then ~ - Сохраните файл, введя следующую команду:
:wq! - Перезапустите службу rsyslog.
systemctl restart rsyslog.service
Примечание. 21 — номер приоритета, используемый для rsyslog. После перезапуска rsyslog не будет сохранять входящие удаленные системные журналы в /var/log/messages. Локальные системные журналы VxFlex Manager будут по-прежнему сохраняться в папке /var/log/messages.
Примечание. Даже если в VxFlex Manager не включена переадресация системного журнала, хосты могут быть направлены на VxFlex Manager, который может рассылать спам по файлу /var/log/messages. Настройте шаг 7, если файл сообщений переполняется независимо от того, включен ли системный журнал VxFlex Manager.
Шаг 8: Измените уровень ведения журнала отладки logstash в устройстве VxFlex Manager, выполнив следующие действия.
- Измените уровень ведения журнала с помощью следующей команды:
vi /etc/logstash/logstash.yml - Найдите в файле параметры отладки.
- Измените уровень ведения журнала с «info» (по умолчанию) на «error»

- Отредактируйте следующий файл: vi /etc/logstash/log4j2.properties
- В конфигурации по умолчанию есть строка, которая начинается с rootLogger.appenderRef.console, закомментируйте эту строку с помощью #, как показано ниже:
-
Перезапустите сервис logstash, выполнив следующие действия. systemctl restart logstash
Шаг 8: Перезагрузите устройство VxFlex Manager, если файловая система /var/log заполнена на 100%. Это гарантирует, что все службы правильно запустят резервное копирование.
Заметка: Отправьте тестовое оповещение, чтобы убедиться, что соединитель оповещений работает правильно после устранения проблем с пространством и перезагрузки устройства.
Additional Information
- В будущем выпуске VxFlex Manager будет исправлено прекращение регистрации сообщений системного журнала в /var/log/messages.
- Это относится ко всем версиям VxFlex Manager с функцией пересылки syslog до версии 3.4.0.4271 включительно.