PowerFlex-Rack: /var/log-Speicherplatzprobleme bei aktivierter Syslog-Weiterleitungsfunktion
Summary: In diesem Artikel wird das Problem im Speicherplatz /var/log erläutert, das darauf zurückzuführen ist, dass die Protokollrotation nicht häufig genug auftritt.
Symptoms
In der aktuellen logrotate-Konfiguration wird die Meldungsdatei einmal pro Woche rotiert, in Fällen, in denen die Syslog-Weiterleitung in VxFlex Manager aktiviert ist, erfolgt die Rotation jedoch möglicherweise nicht schnell genug.
Fakten:
- Die Syslog-Weiterleitungsfunktion ist in VxFlex Manager aktiviert.
- Die Partition /var/log füllt sich schnell.
- Das kann von System zu System sehr unterschiedlich sein
- Remote-Syslog ist auf Geräten im integrierten Rack- oder Appliance-System von VxFlex aktiviert und für das Senden von Syslog-Ereignissen an VxFlex Manager konfiguriert
Cause
Die Ressourcenbestandsaufnahme schlägt für alle Ressourcen fehl, wenn das Dateisystem /var/log bei 100 % ist.
Hinweis: Die unten aufgeführten Warnungen oder kritischen Warnmeldungen funktionieren möglicherweise nicht, wenn der Speicherplatz für diese Prüfungen zu voll ist oder wenn er sich zu schnell füllt.
- Die VxFlex Manager-Benutzeroberfläche zeigt eine Warnung an, wenn >75 %:
Die VxFlex Manager-Benutzeroberfläche zeigt bei 95 % Folgendes als kritisch > an:
df -h zeigt an, dass /var/log eine sehr hohe Kapazitätsauslastung aufweist und schnell wächst.
Resolution
Um die Protokollrotation auf VxFlex Manager-Appliances mit aktivierter Syslog-Weiterleitung zu beheben, können Sie logrotate konfigurieren, vorhandene Protokolle komprimieren, rsyslog-Einstellungen ändern und die Debug-Protokollebene mithilfe der folgenden Schritte senken:
Schritt 1: Stellen Sie eine SSH-Verbindung zu VxFlex Manager her und werden Sie Root-Nutzer: sudo su -
Schritt 2: Bearbeiten Sie (vi-Editor) syslog-logrotate-Regeln, indem Sie sicherstellen, dass der folgende Text in vorhanden ist /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 }
Schritt 3: Geben Sie den folgenden Befehl ein, um zu überprüfen, ob die neue Konfiguration korrekt gespeichert ist:
cat /etc/logrotate.d/syslog
Schritt 4: Je nachdem, wie schnell sich der Speicherplatz /var/log füllt, wählen Sie eine der folgenden Optionen:
Für Umgebungen, die /var/log nicht täglich füllen, sondern eine schnellere als wöchentliche Rotation benötigen, ändern Sie logrotate von wöchentlich auf täglich, indem Sie den folgenden Befehl verwenden:
cp /etc/cron.weekly/logrotate /etc/cron.daily/
Ändern Sie für Umgebungen, in denen /var/log schneller ausgefüllt wird, als es die tägliche Rotation aufnehmen kann, logrotate mithilfe des folgenden Befehls von täglich auf stündlich:
cp /etc/cron.daily/logrotate /etc/cron.hourly/
Schritt 5: Komprimieren Sie vorhandene Dateien und geben Sie Speicherplatz frei, indem Sie den folgenden Befehl ausführen:
for log in `ls /var/log/messages-*`; do sudo gzip $log; done
Hinweis: Wenn die Datei /var/log/messages so voll ist, dass Sie sie nicht komprimieren können, verwenden Sie den folgenden Befehl, um sie zu löschen:
cat /dev/null > /var/log/messages
Schritt 6: Führen Sie den folgenden Befehl aus, um zu überprüfen, ob die logrotate-Konfiguration ordnungsgemäß funktioniert:
logrotate -f /etc/logrotate.d/syslog
Schritt 7: Gehen Sie wie folgt vor, um die Protokollierung weitergeleiteter Syslog-Ereignisse in der Datei /var/log/messages auf der VxFlex Manager-Appliance zu beenden:
- Erstellen Sie die conf-Datei unter /etc/rsyslog.d/ mithilfe des folgenden Befehls:
vi 21-stop-remote-host-syslog-logging.conf - Fügen Sie die folgende Zeile zu der neu erstellten Datei oben hinzu:
if $fromhost-ip != '127.0.0.1' then ~ - Speichern Sie die Datei, indem Sie Folgendes eingeben:
:wq! - Starten Sie den rsyslog-Service neu:
systemctl restart rsyslog.service
Hinweis: 21 ist die für rsyslog verwendete Prioritätsnummer. Nach dem Neustart speichert rsyslog die eingehenden Remote-Syslogs nicht in /var/log/messages. Die lokalen Syslogs von VxFlex Manager werden weiterhin in "/var/log/messages" gespeichert.
Hinweis: Selbst wenn die Syslog-Weiterleitung auf VxFlex Manager nicht aktiviert ist, können Hosts auf VxFlex Manager verwiesen werden, wodurch die Datei /var/log/messages per Spam gesendet werden kann. Konfigurieren Sie Schritt 7, wenn die Meldungsdatei überflutet wird, unabhängig davon, ob VxFlex Manager-Syslog aktiviert ist oder nicht.
Schritt 8: Ändern Sie die Debug-Protokollierungsebene des logstash in der VxFlex Manager -Appliance, indem Sie die folgenden Schritte ausführen:
- Bearbeiten Sie die Protokollierungsebene mithilfe des folgenden Befehls:
vi /etc/logstash/logstash.yml - Suchen Sie in der Datei nach Debugging-Einstellungen
- Ändern Sie die Protokollebene von "Info" (Standardeinstellung) in "Fehler".

- Bearbeiten Sie die folgende Datei: vi /etc/logstash/log4j2.properties
- In der Standardkonfiguration gibt es eine Zeile, die mit rootLogger.appenderRef.console beginnt, kommentieren Sie diese Zeile mit # wie unten gezeigt:
-
Starten Sie den logstash-Service neu, indem Sie Folgendes ausführen: systemctl restart logstash
Schritt 8: Starten Sie die VxFlex Manager-Appliance neu, wenn das Dateisystem /var/log zu 100 % voll war. Dadurch wird sichergestellt, dass alle Services das Backup ordnungsgemäß starten.
Anmerkung: Senden Sie eine Testwarnmeldung, um sicherzustellen, dass der Warnmeldungs-Connector ordnungsgemäß funktioniert, nachdem Sie Speicherplatzprobleme gelöst und die Appliance neu gestartet haben.
Additional Information
- Eine Korrektur, um die Protokollierung von Syslog-Meldungen in /var/log/messages zu beenden, wird für eine zukünftige Version von VxFlex Manager ausgearbeitet.
- Dies gilt für alle Versionen von VxFlex Manager, die über die Syslog-Weiterleitungsfunktion bis einschließlich Version 3.4.0.4271 verfügen.