Rack PowerFlex: Problémy s prostorem /var/log, když je povolena funkce předávání protokolu syslog
Summary: Tento článek vysvětluje problém v /var/log space způsobený nedostatečně častým střídáním protokolů.
Symptoms
Aktuální konfigurace logrotate obměňuje soubor zpráv jednou týdně, ale v případech, kdy je v nástroji VxFlex Manager povoleno předávání syslogu, nemusí se obměňovat dostatečně rychle.
Fakta:
- V nástroji VxFlex Manager je povolena funkce předávání protokolu syslog.
- Oddíl /var/log se rychle zaplňuje.
- To se může značně lišit systém od systému
- Vzdálený syslog je povolen na zařízeních v integrovaném racku VxFlex nebo systému zařízení a nakonfigurován tak, aby odesílal události syslog do nástroje VxFlex Manager.
Cause
Když je systém souborů /var/log na 100 %,
inventář prostředků selže pro všechny prostředky.Poznámka: Níže uvedená varování nebo kritické výstrahy nemusí fungovat, pokud je prostor pro provedení těchto kontrol příliš plný nebo se zaplňuje příliš rychle.
- Uživatelské rozhraní nástroje VxFlex Manager zobrazí varování, pokud >75 %:
Uživatelské rozhraní nástroje VxFlex Manager zobrazuje kritickou hodnotu, pokud > 95 %:
Parametr df -h ukazuje, že /var/log má velmi vysokou využitou kapacitu a rychle roste.
Resolution
Chcete-li opravit rotaci protokolů na zařízeních VxFlex Manager s povoleným předáváním syslogu, můžete nakonfigurovat logrotate, komprimovat stávající protokoly, změnit nastavení rsyslog a snížit úrovně protokolu ladění pomocí následujících kroků:
1. krok: Přihlaste se do systému VxFlex Manager pomocí SSH a staňte se uživatelem root: sudo su -
2. krok: Upravte (editor vi) syslog logrotate tak, že zajistíte, aby v souboru existoval následující text /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. krok: Pomocí následujícího příkazu ověřte, zda je nová konfigurace uložena správně:
cat /etc/logrotate.d/syslog
4. krok: V závislosti na tom, jak rychle se /var/log místo zaplňuje, zvolte jednu z následujících možností:
Pro prostředí, která nezaplňují /var/log na denní bázi, ale potřebují rychlejší než týdenní rotaci, změňte logrotate z týdenního na denní pomocí následujícího příkazu:
cp /etc/cron.weekly/logrotate /etc/cron.daily/
U prostředí, která se zaplňují /var/log rychleji, než může denní rotace pojmout, změňte logrotate z denního na hodinový pomocí následujícího příkazu:
cp /etc/cron.daily/logrotate /etc/cron.hourly/
Krok 5: Komprimujte existující soubory a uvolněte místo spuštěním následujícího příkazu:
for log in `ls /var/log/messages-*`; do sudo gzip $log; done
Poznámka: Pokud je soubor /var/log/messages tak plný, že jej nelze zazipovat, vymažte jej pomocí následujícího příkazu:
cat /dev/null > /var/log/messages
Krok 6: Chcete-li ověřit, zda konfigurace logrotate funguje správně, spusťte následující příkaz:
logrotate -f /etc/logrotate.d/syslog
Krok 7: Chcete-li zastavit protokolování přeposlaných událostí syslog do souboru /var/log/messages v zařízení VxFlex Manager, postupujte takto:
- Vytvořte konfigurační soubor v souboru /etc/rsyslog.d/ pomocí tohoto příkazu:
vi 21-stop-remote-host-syslog-logging.conf - Do výše vytvořeného souboru přidejte následující řádek:
if $fromhost-ip != '127.0.0.1' then ~ - Uložte soubor zadáním následujícího příkazu:
:wq! - Restartujte službu rsyslog:
systemctl restart rsyslog.service
Poznámka: 21 je číslo priority používané pro rsyslog. Po restartování nebude program rsyslog ukládat příchozí vzdálené syslogy do umístění /var/log/messages. Místní syslogy nástroje VxFlex Manager se budou i nadále ukládat do umístění /var/log/messages.
Poznámka: I když není v nástroji VxFlex Manager povoleno předávání syslogu, hostitele lze odkázat na nástroj VxFlex Manager, který může spamovat soubor /var/log/messages. Nakonfigurujte krok 7, pokud dojde k zahlcení souboru zpráv, bez ohledu na to, zda je zapnutý syslog nástroje VxFlex Manager.
8. krok: Změňte úroveň protokolování ladění v zařízení VxFlex Manager v zařízení VxFlex Manager provedením následujících kroků:
- Upravte úroveň protokolování pomocí následujícího příkazu:
vi /etc/logstash/logstash.yml - Vyhledejte nastavení ladění v souboru
- Změna úrovně protokolu z info (výchozí) na chybu

- Upravte následující soubor: vi /etc/logstash/log4j2.properties
- Ve výchozí konfiguraci je řádek, který začíná rootLogger.appenderRef.console a zakomentujte tento řádek pomocí #, jak je uvedeno níže:
-
Restartujte službu logstash spuštěním následujícího příkazu: systemctl restart logstash
Krok 8: Pokud byl souborový systém /var/log 100% plný, restartujte zařízení VxFlex Manager. Tím zajistíte, že všechny služby spustí zálohování správně.
Poznámka: Odešlete testovací výstrahu, abyste se ujistili, že konektor výstrahy po vyřešení problémů s místem a restartování zařízení funguje správně.
Additional Information
- Oprava, která zastaví protokolování zpráv syslog do umístění /var/log/messages, se pracuje pro budoucí verzi nástroje VxFlex Manager.
- To platí pro všechny verze nástroje VxFlex Manager s funkcí předávání protokolu syslog až do verze 3.4.0.4271 včetně.