Graylog: Aufbewahrung verwalten
Wie man die Protokollaufbewahrung konfiguriert
👋 Willkommen bei der Stackhero-Dokumentation!
Stackhero bietet eine einsatzbereite Graylog Cloud-Lösung, die zahlreiche Vorteile bietet, darunter:
- Unbegrenzter und dedizierter SMTP-E-Mail-Server inklusive.
- Mühelose Updates mit nur einem Klick.
- Anpassbarer Domainname gesichert mit HTTPS (zum Beispiel, https://logs.ihre-firma.com).
- Optimale Performance und robuste Sicherheit durch eine private und dedizierte VM.
Sparen Sie Zeit und vereinfachen Sie Ihr Leben: Es dauert nur 5 Minuten, um die Graylog Cloud Hosting-Lösung von Stackhero auszuprobieren!
Die Aufbewahrung definiert die Anzahl der Nachrichten, die in der OpenSearch-Datenbank gespeichert werden. Sie können die Aufbewahrung basierend auf der Anzahl der Nachrichten, einem maximalen Alter oder einer Gesamtgrößenbeschränkung konfigurieren.
Zum Beispiel könnten Sie wählen, Nachrichten der letzten 365 Tage zu behalten, bis zu 200 Millionen Nachrichten zu speichern oder insgesamt 400 GB Speicherplatz zu reservieren.
Indizes verstehen
Bevor Sie Ihre Aufbewahrungsrichtlinie definieren, ist es wichtig zu verstehen, wie die von Graylog und OpenSearch verwendeten Indizes funktionieren. Denken Sie an Indizes wie an physische Container. Graylog "öffnet" einen Container (einen Index) und platziert eingehende Nachrichten darin. Wenn das dem Container zugewiesene Kontingent überschritten wird, wird der Container geschlossen, auf einem Regal gespeichert und ein neuer Container für nachfolgende Nachrichten gestartet.
Sie können dieses Kontingent nach verschiedenen Kriterien festlegen:
- Eine Anzahl von Nachrichten: "Behalten Sie 20 Millionen Nachrichten pro Container, dann starten Sie einen neuen."
- Eine zeitliche Begrenzung: "Verwenden Sie einen Container für 10 Tage, dann wechseln Sie zu einem neuen."
- Eine Größenbegrenzung: "Speichern Sie 20 GB pro Container, dann wechseln Sie zu einem neuen."
Es wird auch eine maximale Anzahl von Containern definiert, die auf dem Regal gespeichert werden können. Wenn diese Zahl überschritten wird, werden die ältesten Container automatisch gelöscht. Zum Beispiel, wenn Sie ein Maximum von 20 Containern festlegen und 22 auf dem Regal haben, werden die 2 ältesten Container entfernt.
In dieser Analogie repräsentieren die Container die Indizes, das Regal ist OpenSearch und die maximale Anzahl repräsentiert die erlaubte Anzahl von Indizes.
Eine Rotationsstrategie wählen
Graylog bietet drei Aufbewahrungsstrategien:
- "Index time" definiert die maximale Dauer, für die Nachrichten in jedem Index aufbewahrt werden, zum Beispiel 14 Tage pro Index.
- "Index message count" legt die maximale Anzahl von Nachrichten pro Index fest, zum Beispiel 20 Millionen Nachrichten pro Index.
- "Index size" begrenzt die maximale Größe eines Index, zum Beispiel 40 GB pro Index.
Sie können eine dieser Strategien basierend auf Ihren spezifischen Anforderungen auswählen. Zum Beispiel hilft die Auswahl von "Index time" sicherzustellen, dass Sie immer Protokolle der letzten X Tage haben.
Achten Sie darauf, Ihren Speicherplatzbedarf genau zu schätzen.
Zum Beispiel, wenn Sie 1 GB Protokolle pro Tag speichern und entscheiden, die Protokolle der letzten 365 Tage zu behalten, benötigen Sie 365 GB Speicherplatz. Denken Sie daran, dass zusätzlicher Betriebsraum ebenfalls reserviert werden muss (siehe unten).
Die Aufbewahrungsparameter definieren
Standardmäßig begrenzt Graylog die Anzahl der Indizes auf 20. Sie können diesen Wert an Ihre Bedürfnisse anpassen. Zum Beispiel, wenn Sie Protokolle der letzten 365 Tage speichern möchten, könnten Sie die Aufbewahrung über Indizes verteilen, indem Sie 365 Tage durch 20 Indizes teilen, was ungefähr 19 Tage pro Index ergibt.
Sie können ähnliche Berechnungen für die anderen Strategien durchführen:
- Für die "Index message count"-Strategie: Wenn Sie 200 Millionen Nachrichten mit maximal 20 Indizes behalten möchten, dann ergeben 200 Millionen Nachrichten geteilt durch 20 Indizes 10 Millionen Nachrichten pro Index.
- Für die "Index size"-Strategie: Wenn Sie 400 GB Protokolle mit maximal 10 Indizes beibehalten möchten, dann ergeben 400 GB geteilt durch 10 Indizes 40 GB pro Index.
Wir empfehlen, immer mindestens 15 GB freien Speicherplatz für Protokolle, das Graylog-Journal und MongoDB-Daten zu behalten.
Wenn der freie Speicherplatz ausgeht, wird OpenSearch seine Operationen blockieren und Sie müssen möglicherweise auf eine größere Instanz upgraden.
Die Aufbewahrungsrichtlinie konfigurieren
Um die Aufbewahrungsrichtlinie zu konfigurieren, navigieren Sie zur Graylog-Oberfläche. Unter "System" wählen Sie "Indices" und klicken Sie auf die Schaltfläche "Edit" im "Default index set".
Im untenstehenden Beispiel legt die Konfiguration ein Maximum von 27 Indizes fest, wobei jeder Index 14 Tage Protokolle behält. Diese Konfiguration behält Protokolle für ungefähr ein Jahr (378 Tage).
Wir empfehlen nicht, mehr als 14 Tage Nachrichten pro Index zu behalten.
Aufbewahrungskonfiguration, um Protokolle für ein Jahr zu behalten
Bei der Wahl von "Index time" als Rotationsrichtlinie müssen Sie die Dauer mit dem ISO8601-Dauerstandard definieren.
Zum Beispiel bedeutet "P7D" 7 Tage, "P14D" bedeutet 14 Tage und so weiter.
Weiterführende Informationen
Wenn Sie mehr über Indizes erfahren möchten, empfehlen wir Ihnen dringend, die offizielle Dokumentation zu lesen.
Fehler bei OpenSearchs schreibgeschützten Indizes behandeln
Gelegentlich kann OpenSearch in den schreibgeschützten Modus wechseln und Sie könnten auf Fehler stoßen wie:
- "Flood stage disk watermark exceeded, all indices on this node will be marked read-only"
- "FORBIDDEN/12/index read-only / allow delete (api)"
Diese Fehler treten als Teil des Schutzmechanismus von OpenSearch auf, wenn der Speicherplatz kritisch niedrig ist. Wenn der verfügbare Speicherplatz unter 7 GB fällt, setzt OpenSearch die Indizes aus Vorsichtsmaßnahmen auf schreibgeschützt, um Datenkorruption zu verhindern.
Wenn Sie auf diese Fehler stoßen, haben Sie zwei Optionen:
- Konfigurieren Sie Ihre Aufbewahrungsrichtlinie neu, um weniger Protokolle zu behalten. Nachdem Sie die Richtlinie angepasst haben, löschen Sie den ältesten Index, um Speicherplatz freizugeben und OpenSearch zu ermöglichen, in den Lese-/Schreibmodus zurückzukehren. Bitte beachten Sie, dass das Löschen eines Index bedeutet, dass alle Daten in diesem Index verloren gehen.
- Upgraden Sie Ihre Instanz auf eine mit größerem Speicherplatz. Mit einem einzigen Klick in Ihrem Stackhero-Dashboard wird die Instanz mit zusätzlichem Speicherplatz neu gestartet und OpenSearch kehrt automatisch in den Lese-/Schreibmodus zurück.