Met Elasticsearch om de logs van het bedrijfssysteem op te slaan, wordt er elke dag een nieuwe index gegenereerd volgens de datum, er zijn miljoenen documenten per dag, en als de Elasticsearch-index niet op tijd wordt opgeschoond, ontstaat er veel schijfruimte, wordt er veel druk op de schijf en wordt de zoeksnelheid ook langzamer. Voorheen schonen we handmatig de indexen van ES' op en gebruikten we shell-scripts om ze regelmatig op te schonen, maar ES kan een indexlevenscyclusbeleid maken om oude historische indexen te laten verwijderen.
De versie van Elasticsearch die in dit artikel wordt gebruikt is: 7.10.2
Vandaag is het 11-03-2022, en je kunt zien dat de index en documenten voor januari 2022 nog steeds bestaan, zoals te zien is in de onderstaande figuur:
Maak een indextemplate aan
Open het Kibana adminpaneel, klik op Index Management -> Index Template -> om een indextemplate te maken met de volgende naam:logger-template, de indexmodule vult de indexen in die gematcht moeten worden, en gaat vervolgens helemaal door naar de volgende stap, zoals weergegeven in de onderstaande figuur:
Opmerking: Bij het aanmaken van een nieuwe Elasticsearch-index wordt het sjabloon automatisch gematcht om het basisgedeelte van de index te voltooien. Dat wil zeggen, bij het aanmaken van de itsvse-2022-03-13 index, zal deze overeenkomen met de logger-template versie en vervolgens de regels uitvoeren die door het sjabloon zijn ingesteld.Historische indexen (zelfs als ze overeenkomen met sjablonen) zijn niet gekoppeld aan indexsjablonen!!! In dit artikel,Indexen die niet op basis van een sjabloon zijn aangemaakt, kunnen niet automatisch worden verwijderd。
Maak een indexlevenscyclusbeleid aan
Open het Kibana-beheerderspaneel en klik op Index Lifecycle Policy -> om een beleid aan te maken, zoals weergegeven in de volgende afbeelding:
Naam invullen"auto-clean-30-days-logger, zet het uitvinkje Rolling updates in, zoals weergegeven in de volgende figuur:
Open de verwijderfase om indexen automatisch op te schonen tot 30 dagen geleden, zoals te zien is in de volgende afbeelding:
Voeg tenslotte het beleid toe aan het indexsjabloon, zoals weergegeven in de volgende afbeelding:
Op dit moment wordt de nieuw aangemaakte index automatisch 30 dagen opgeslagen, en de index na 30 dagen wordt verwijderd, en de historische index moet handmatig worden opgeschoond!! Om een index handmatig te verwijderen, verwijs je naar:
Bekijk het indexsjabloon dat je zojuist hebt gemaakt, dat wordt toegepast op het uiteindelijke sjabloon dat overeenkomt met de index. De details zijn als volgt:
{ "template": { "settings": { "index": { "levenscyclus": { "naam": "auto-clean-30-days-logger" } } }, "aliassen": {}, "Mappings": {} }
}
Bekijk bijvoorbeeld de beleidsconfiguratie-interface:http://192.168.1.182:9200/_ilm/policy/auto-clean-30-days-logger?pretty
{ "auto-clean-30-days-logger" : { "versie" : 1, "modified_date" : "2022-03-11T06:26:01.972Z", "beleid" : { "Fasen" : { "heet" : { "min_age" : "0ms", "acties" : { "set_priority" : { "Prioriteit" : 100 } } }, "delete" : { "min_age" : "30d", "acties" : { "delete" : { "delete_searchable_snapshot" : waar } } } } } }
}
ILM (Index Lifecycle Management)
Ons nieuwe indexlevenscyclusbeleid wordt uitgevoerd via getimede polling.
ILM Service pollt het uitvoeringsbeleid op de achtergrond:
ILM definieert vier levenscyclusfasen: Hot: Actief de index bijwerken en queryen. Warm: Geen indexen meer bijwerken, maar nog steeds query's. koud: Geen indexen meer bijgewerkt, weinig vragen. De informatie moet nog steeds doorzoekbaar zijn, maar het is prima als die zoekopdrachten langzamer zijn. Verwijderen: De index is niet langer nodig en kan veilig worden verwijderd.
ILM Periodieke Werking (indices.lifecycle.poll_interval),De standaard is 10 minutenOm te controleren of de index aan de beleidscriteria voldoet en om alle benodigde stappen te ondernemen. Om racesituaties te vermijden, moet ILM mogelijk meerdere keren worden uitgevoerd om alle stappen uit te voeren die nodig zijn om een actie te voltooien. Dus zelfs als indices.lifecycle.poll_interval op 10 minuten staat en de index rollover-conform is, kan het 20 minuten duren om de rollover te voltooien. Als we bijvoorbeeld meer dan 10 documenten op rollover zetten, maar dit proces niet direct wordt geïmplementeerd, kunnen het 11e en 12e artikel nog steeds op de vorige index vallen, en de nieuw aangemaakte documenten zullen pas op de nieuwe index vallen als de rollover succesvol is.
Instellingen voor indexlevenscyclusbeheer in Elasticsearch:De hyperlink-login is zichtbaar.
Bekijk ILM-status
Het is 2022-03-13, er worden elke dag automatisch 2 indexen aangemaakt, je kunt de aangemaakte indexen al zienPolissen worden automatisch gekoppeld, zoals getoond in de onderstaande figuur:
(Einde)
|