Graylog: Retentie beheren
Hoe logretentie te configureren
👋 Welkom bij de Stackhero documentatie!
Stackhero biedt een kant-en-klare Graylog cloud oplossing die tal van voordelen biedt, waaronder:
- Onbeperkte en toegewijde SMTP e-mailserver inbegrepen.
- Moeiteloze updates met slechts één klik.
- Aanpasbare domeinnaam beveiligd met HTTPS (bijvoorbeeld, https://logs.uw-bedrijf.com).
- Optimale prestaties en robuuste beveiliging aangedreven door een privé en toegewijde VM.
Bespaar tijd en vereenvoudig uw leven: het kost slechts 5 minuten om de Graylog cloud hosting oplossing van Stackhero te proberen!
Retentie bepaalt het aantal berichten dat wordt opgeslagen in de OpenSearch-database. U kunt de retentie configureren op basis van een berichtenaantal, een maximale ouderdom of een totale opslaglimiet.
U kunt er bijvoorbeeld voor kiezen om berichten van de afgelopen 365 dagen te bewaren, tot 200 miljoen berichten te behouden, of in totaal 400 GB aan opslagruimte te reserveren.
Inzicht in indices
Voordat u uw retentiebeleid definieert, is het belangrijk om te begrijpen hoe de indices die door Graylog en OpenSearch worden gebruikt, werken. Zie indices als fysieke containers. Graylog "opent" een container (een index) en plaatst binnenkomende berichten daarin. Zodra het aan die container toegewezen quotum is bereikt, wordt de container gesloten, op een plank gezet en wordt er een nieuwe container gestart voor volgende berichten.
U kunt dit quotum instellen op basis van verschillende criteria:
- Een aantal berichten: "Bewaar 20 miljoen berichten per container, start daarna een nieuwe."
- Een tijdslimiet: "Gebruik een container gedurende 10 dagen, schakel daarna over naar een nieuwe."
- Een opslaglimiet: "Sla 20 GB per container op, ga daarna verder met een nieuwe."
Er wordt ook een maximaal aantal containers gedefinieerd dat op de plank kan worden opgeslagen. Als dit aantal wordt overschreden, worden de oudste containers automatisch verwijderd. Stel bijvoorbeeld dat u een maximum van 20 containers instelt en er staan er 22 op de plank, dan worden de 2 oudste containers verwijderd.
In deze analogie vertegenwoordigen de containers de indices, de plank is OpenSearch en het maximumaantal staat voor het toegestane aantal indices.
Een rotatiestrategie kiezen
Graylog biedt drie retentiestrategieën:
- "Index time" bepaalt de maximale periode waarin berichten in elke index worden bewaard, bijvoorbeeld 14 dagen per index.
- "Index message count" stelt het maximale aantal berichten per index in, bijvoorbeeld 20 miljoen berichten per index.
- "Index size" beperkt de maximale grootte van een index, bijvoorbeeld 40 GB per index.
U kunt een van deze strategieën kiezen op basis van uw specifieke behoeften. Door bijvoorbeeld "Index time" te selecteren, zorgt u ervoor dat u altijd logs van de afgelopen X dagen beschikbaar heeft.
Zorg ervoor dat u uw benodigde schijfruimte nauwkeurig inschat.
Als u bijvoorbeeld 1 GB aan logs per dag opslaat en besluit logs van de afgelopen 365 dagen te bewaren, heeft u 365 GB aan schijfruimte nodig. Houd er rekening mee dat er ook extra werkruimte gereserveerd moet worden (zie hieronder).
De retentieparameters definiëren
Standaard beperkt Graylog het aantal indices tot 20. U kunt deze waarde aanpassen aan uw behoeften. Als u bijvoorbeeld logs van de afgelopen 365 dagen wilt bewaren, kunt u de retentie over indices verdelen door 365 dagen te delen door 20 indices, wat neerkomt op ongeveer 19 dagen per index.
U kunt vergelijkbare berekeningen maken voor de andere strategieën:
- Voor de "Index message count"-strategie: als u 200 miljoen berichten wilt bewaren met maximaal 20 indices, dan geeft 200 miljoen gedeeld door 20 indices 10 miljoen berichten per index.
- Voor de "Index size"-strategie: als u 400 GB aan logs wilt bewaren met maximaal 10 indices, dan geeft 400 GB gedeeld door 10 indices 40 GB per index.
Wij raden aan altijd minimaal 15 GB vrije schijfruimte te behouden voor logs, de Graylog-journal en MongoDB-data.
Als de vrije schijfruimte opraakt, zal OpenSearch zijn bewerkingen blokkeren en moet u mogelijk upgraden naar een grotere instantie.
Het retentiebeleid configureren
Om het retentiebeleid te configureren, navigeert u naar de Graylog-interface. Onder "System" selecteert u "Indices" en klikt u op de knop "Edit" bij de "Default index set".
In het onderstaande voorbeeld is de configuratie ingesteld op maximaal 27 indices, waarbij elke index 14 dagen aan logs bewaart. Deze opzet bewaart logs voor ongeveer een jaar (378 dagen).
Wij raden af om meer dan 14 dagen aan berichten per index te bewaren.
Retentieconfiguratie om logs een jaar te bewaren
Wanneer u "Index time" als rotatiebeleid kiest, moet u de duur definiëren volgens de ISO8601 Duration-standaard.
Bijvoorbeeld, "P7D" betekent 7 dagen, "P14D" betekent 14 dagen, enzovoort.
Verder lezen
Wilt u meer weten over indices, raadpleeg dan zeker de officiële documentatie.
Fouten met betrekking tot OpenSearch read-only indices oplossen
Het kan voorkomen dat OpenSearch naar read-only modus schakelt en u fouten tegenkomt zoals:
- "Flood stage disk watermark exceeded, all indices on this node will be marked read-only"
- "FORBIDDEN/12/index read-only / allow delete (api)"
Deze fouten treden op als onderdeel van het beschermingsmechanisme van OpenSearch wanneer de schijfruimte kritiek laag is. Zodra de beschikbare schijfruimte onder de 7 GB zakt, zet OpenSearch de indices uit voorzorg op read-only om datacorruptie te voorkomen.
Als u deze fouten tegenkomt, heeft u twee opties:
- Pas uw retentiebeleid aan om minder logs te bewaren. Nadat u het beleid heeft aangepast, verwijdert u de oudste index om schijfruimte vrij te maken en kan OpenSearch weer overschakelen naar read-write modus. Let op: het verwijderen van een index betekent dat alle gegevens in die index verloren gaan.
- Upgrade uw instantie naar een met meer schijfruimte. Met één klik in uw Stackhero-dashboard wordt de instantie herstart met extra schijfruimte en zal OpenSearch automatisch terugschakelen naar read-write modus.