Стійка PowerFlex: Проблеми з пробілом /var/log, коли ввімкнено функцію пересилання системного журналу
Summary: У цій статті пояснюється проблема в просторі /var/log через те, що обертання журналу відбувається недостатньо часто.
Symptoms
Поточна конфігурація logrotate повертає файл повідомлень раз на тиждень, але у випадках, коли в VxFlex Manager увімкнено пересилання системних журналів, він може обертатися недостатньо швидко.
Факти:
- Функція переадресації системного журналу включена в VxFlex Manager.
- Розділ /var/log швидко заповнюється.
- Це може сильно відрізнятися від системи до системи
- Віддалений системний журнал увімкнено на пристроях у вбудованій системі стійки або пристрою VxFlex і налаштовано на надсилання подій системного журналу до VxFlex Manager
Cause
Інвентаризація ресурсів зазнає невдачі для всіх ресурсів, коли файлова система /var/log становить 100%.
Примітка. Перелічені нижче попередження або критичні сповіщення можуть не працювати, якщо простір заповнюється для виконання цих перевірок або заповнюється надто швидко.
- Інтерфейс VxFlex Manager показує попередження, якщо >75%:
Інтерфейс VxFlex Manager показує критичний показник, якщо > 95%:
df -h показує, що /var/log має дуже високу використовувану потужність і швидко зростає.
Resolution
Щоб виправити ротацію журналу на пристроях VxFlex Manager з увімкненою переадресацією syslog, ви можете налаштувати logrotate, стиснути існуючі журнали, змінити налаштування rsyslog і знизити рівень журналу налагодження, виконавши такі дії:
Крок 1: ssh до VxFlex Manager і стати користувачем root: sudo su -
Крок 2: Редагування (vi редактор) системного журналу повертає правила, переконавшись, що такий текст існує в /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, виконайте такі дії:
- Створіть файл conf під /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
- Виправлення для зупинки запису повідомлень системного журналу в /var/log/messages працює в майбутньому випуску VxFlex Manager.
- Це стосується будь-яких версій VxFlex Manager, які мають функцію пересилання системного журналу до версії 3.4.0.4271 включно.