Utilizzando Elasticsearch per memorizzare i log del sistema aziendale, ogni giorno verrà generato un nuovo indice secondo la data, ci sono milioni di documenti ogni giorno; se l'indice Elasticsearch non viene pulito in tempo, si creerà un grande spazio su disco, eserciterà molta pressione sul disco e la velocità di ricerca diventerà anche più lenta. In precedenza, pulivamo manualmente gli indici di ES e utilizzavamo script shell per pulirli regolarmente, ma ES può creare una politica sul ciclo di vita degli indici per aiutarci a eliminare gli indici storici vecchi.
La versione di Elasticsearch utilizzata in questo articolo è: 7.10.2
Oggi è l'11-03-2022, e potete vedere che l'indice e i documenti per gennaio 2022 esistono ancora, come mostrato nella figura qui sotto:
Crea un modello di indice
Apri il pannello di amministrazione Kibana, clicca su Gestione Indice -> Modello Indice -> per creare un modello di indice con il seguente nome:Modello di logger, il modulo indice riempie gli indici che devono essere abbinati, e poi passa fino al passo successivo, come mostrato nella figura sottostante:
Nota: Quando si crea un nuovo indice Elasticsearch, il template verrà automaticamente abbinato per completare la parte base dell'indice. Cioè, quando si crea l'indice itsvse-2022-03-13, corrisponderà alla versione del modello di logger, per poi eseguire le regole stabilite dal template.Gli indici storici (anche se corrispondono ai template) non sono associati ai template di indice!!! In questo articolo,Gli indici che non sono creati sulla base di un template non possono essere eliminati automaticamente。
Crea una politica sul ciclo di vita degli indici
Apri il pannello di amministrazione Kibana e clicca su Index Lifecycle Policy -> per creare una policy, come mostrato nell'immagine seguente:
Riempimento del nome"auto-clean-30-days-logger, deseleziona Abilita aggiornamenti continui, come mostrato nella figura seguente:
Apri la fase di cancellazione per pulire automaticamente gli indici fino a 30 giorni fa, come mostrato nell'immagine seguente:
Infine, aggiungi la policy al modello dell'indice, come mostrato nell'immagine seguente:
A questo punto, l'indice appena creato verrà salvato automaticamente per 30 giorni, e l'indice oltre i 30 giorni verrà cancellato e l'indice storico dovrà essere pulito manualmente!! Per eliminare manualmente un indice, consulta:
Rivedi il modello di indice che hai appena creato, che verrà applicato al modello finale che corrisponde all'indice. I dettagli sono i seguenti:
{ "template": { "impostazioni": { "indice": { "ciclo di vita": { "nome": "auto-pulizia-30-giorni-logger" } } }, "alias": {}, "mappamenti": {} }
}
Rivedi ad esempio l'interfaccia di configurazione delle policy:http://192.168.1.182:9200/_ilm/policy/auto-clean-30-days-logger?pretty
{ "auto-clean-30-days-logger" : { "versione" : 1, "modified_date" : "2022-03-11T06:26:01.972Z", "politica" : { "fasi" : { "caldo" : { "min_age" : "0ms", "azioni" : { "set_priority" : { "Priorità" : 100 } } }, "delete" : { "min_age" : "30d", "azioni" : { "delete" : { "delete_searchable_snapshot" : vero } } } } } }
}
ILM (Gestione del ciclo di vita degli indici)
La nostra nuova politica sul ciclo di vita degli indici viene eseguita tramite sondaggi a tempo.
ILM Service interroga la politica di esecuzione in background:
ILM definisce quattro fasi del ciclo di vita: Hot: Aggiornamento attivo e interrogazione dell'indice. Caldo: Niente più aggiornamenti degli indici, ma continuo a fare query. freddo: Niente più indici aggiornati, poche richieste. Le informazioni devono comunque essere ricercabili, ma va bene se quelle query sono più lente. Cancella: L'indice non è più necessario e può essere cancellato in sicurezza.
Operazioni Periodiche ILM (indices.lifecycle.poll_interval),Il valore predefinito è 10 minutiverificare che l'indice rispetti i criteri della politica e adottare tutte le misure necessarie. Per evitare situazioni di gara, ILM potrebbe dover essere eseguito più volte per eseguire tutti i passaggi necessari a completare un'azione. Quindi, anche se indices.lifecycle.poll_interval è impostato a 10 minuti e l'indice è conforme al rollover, potrebbero volerci 20 minuti per completare il rollover. Ad esempio, se impostiamo più di 10 documenti per il rollover, ma poiché questo processo non viene implementato immediatamente, l'11° e il 12° articolo potrebbero comunque rientrare nell'indice precedente, e i nuovi documenti creati non cadranno nel nuovo indice finché il rollover non avrà successo.
Impostazioni di gestione del ciclo di vita dell'indice in Elasticsearch:Il login del link ipertestuale è visibile.
Visualizza lo stato di ILM
È il 13-03-2022, 2 indici vengono creati automaticamente ogni giorno, puoi già vedere gli indici creatiLe politiche sono automaticamente associate, come mostrato nella figura sottostante:
(Fine)
|