PowerFlex-rack: Problem med /var/logutrymme när funktionen för vidarebefordran av syslog är aktiverad
Summary: I den här artikeln förklaras problemet i /var/log-utrymmet på grund av att loggrotationen inte sker tillräckligt ofta.
Symptoms
Den aktuella logrotate-konfigurationen roterar meddelandefilen en gång i veckan, men i de fall där syslog-vidarebefordran är aktiverad i VxFlex Manager kan det hända att den inte roterar tillräckligt snabbt.
Fakta:
- Syslog-vidarebefordringsfunktionen är aktiverad i VxFlex Manager.
- Partitionen /var/log fylls snabbt.
- Detta kan variera mycket från system till system
- Fjärrsyslog-system är aktiverat på enheter i det VxFlex-integrerade rack- eller enhetssystemet och konfigureras för att skicka syslog-händelser till VxFlex Manager
Cause
Resursinventeringen misslyckas för alla resurser när filsystemet /var/log är på 100 %.
Notera: Varningar eller kritiska varningar som anges nedan kanske inte fungerar om utrymmet är för fullt för att utföra dessa kontroller eller om det fylls upp för snabbt.
- Användargränssnittet för VxFlex Manager visar en varning om >75 %:
Användargränssnittet för VxFlex Manager visar kritiskt om > 95 %:
df -h visar att /var/log har en mycket hög använd kapacitet och växer snabbt.
Resolution
Om du vill åtgärda log rotate på VxFlex Manager-enheter med syslog-vidarebefordring aktiverat kan du konfigurera logrotate, komprimera befintliga loggar, ändra rsyslog-inställningar och sänka felsökningsloggnivåerna med hjälp av följande steg:
Steg 1: ssh till VxFlex Manager och bli rotanvändare: sudo su -
Steg 2: Redigera (vi-redigerare) syslogrotate-regler genom att se till att följande text finns i /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 }
Steg 3: Ange följande kommando för att kontrollera om den nya konfigurationen har sparats korrekt:
cat /etc/logrotate.d/syslog
Steg 4: Välj ett av följande alternativ beroende på hur snabbt /var/log-utrymmet fylls:
För miljöer som inte fyller upp /var/log dagligen, men som behöver en snabbare rotation än veckovis, ändrar du logrotate från veckovis till daglig med följande kommando:
cp /etc/cron.weekly/logrotate /etc/cron.daily/
För miljöer som fyller upp /var/log snabbare än vad daglig rotation kan hantera ändrar du logrotate från dagligen till varje timme med följande kommando:
cp /etc/cron.daily/logrotate /etc/cron.hourly/
Steg 5: Komprimera befintliga filer och frigör utrymme genom att köra följande kommando:
for log in `ls /var/log/messages-*`; do sudo gzip $log; done
Obs! Om filen /var/log/messages är så full att du inte kan zippa upp den använder du följande kommando för att rensa den:
cat /dev/null > /var/log/messages
Steg 6: Kontrollera om logrotate-konfigurationen fungerar korrekt genom att köra följande kommando:
logrotate -f /etc/logrotate.d/syslog
Steg 7: Gör så här om du vill sluta logga vidarebefordrade syslog-händelser till filen /var/log/messages på VxFlex Manager:
- Skapa conf-filen under /etc/rsyslog.d/ med hjälp av det här kommandot:
vi 21-stop-remote-host-syslog-logging.conf - Lägg till följande rad i den nyskapade filen ovan:
if $fromhost-ip != '127.0.0.1' then ~ - Spara filen genom att skriva följande:
:wq! - Starta om rsyslog-tjänsten:
systemctl restart rsyslog.service
Obs! 21 är prioritetsnumret som används för rsyslog. När du har startat om rsyslog sparas inte inkommande fjärrsyslogs i /var/log/messages. VxFlex Manager-systemets lokala syslogs sparas fortfarande i /var/log/messages.
Notera: Även om syslog-vidarebefordran inte är aktiverat i VxFlex Manager kan värdar hänvisas till VxFlex Manager, som kan spamma filen /var/log/messages. Konfigurera steg 7 om meddelandefilen översvämmas, oavsett om Syslog för VxFlex Manager är på eller inte.
Steg 8: Ändra loggningsnivån för felsökning för logstash i VxFlex Manager Appliance genom att utföra följande steg:
- Redigera loggningsnivån med följande kommando:
vi /etc/logstash/logstash.yml - Sök efter felsökningsinställningar i filen
- Ändra loggnivån från info (standard) till error

- Redigera följande fil: vi /etc/logstash/log4j2.properties
- I standardkonfigurationen finns det en rad som börjar med rootLogger.appenderRef.console kommentera den här raden med # som nedan:
-
Starta om logstash-tjänsten genom att köra följande: systemctl restart logstash
Steg 8: Starta om VxFlex Manager-enheten om filsystemet /var/log var 100 % fullt. Detta säkerställer att alla tjänster startar säkerhetskopieringen korrekt.
Not: Skicka en testavisering för att säkerställa att varningsanslutningen fungerar korrekt när du har löst utrymmesproblem och startat om enheten.
Additional Information
- En korrigering för att sluta logga syslog-meddelanden till /var/log/messages arbetas med för en framtida version av VxFlex Manager.
- Detta är relevant för alla versioner av VxFlex Manager som har syslog-vidarebefordringsfunktionen upp till och med version 3.4.0.4271.