Kibana : Nettoyer les fichiers et indices volumineux dans Elasticsearch

08 Jul 2024 à 09:40 par larevuegeek - 51 vues - 0 com.
OS Linux Dev
Elasticsearch est un moteur de recherche et d’analyse distribué très populaire. Cependant, au fil du temps, les indices peuvent devenir volumineux, occupant beaucoup d’espace disque et potentiellement affectant les performances. Ce tutoriel vous guidera à travers le processus de nettoyage des indices volumineux dans Elasticsearch, comme par exemple avec Kibana qui utilise Elastic Search.
© Elasticsearch

Avant de commencer, il faut vous quelques pré-requis pour pouvoir exectuer les différentes commande.

Pré-requis

- Curl : Pour interagir avec l’API REST d’Elasticsearch.

- Accès à l’instance Elasticsearch : Vous aurez besoin de l’URL, du nom d’utilisateur et du mot de passe pour accéder à votre instance Elasticsearch.

Objectif

L’objectif est de supprimer les indices qui sont soit :

  • Supérieurs à 500 Mo.
  • Supérieurs à 1 Go.

Script d’automatisation

Le script suivant liste les indices de votre instance Elasticsearch et supprime ceux qui dépassent une certaine taille.

for index in $(curl -u "utilisateur:motdepasse" -s -X GET "https://url:9200/_cat/indices?h=index,store.size" --insecure | awk '$2 ~ /gb/ || $2+0 > 500 {print $1}'); do
  echo "Deleting index: $index"
  curl -u "utilisateur:motdepasse" -s -X DELETE "https://url:9200/$index" --insecure
done
Explication étape par étape

1. Lister les indices avec leur taille :
   Utilisez la commande `curl` pour obtenir la liste des indices et leurs tailles.

curl -u "utilisateur:motdepasse" -s -X GET "https://url:9200/_cat/indices?h=index,store.size" --insecure

   Cette commande retourne un tableau des indices et leurs tailles.

2. Filtrer les indices volumineux :
   Utilisez `awk` pour filtrer les indices dont la taille est supérieure à 500 Mo ou 1 Go.

   | awk '$2 ~ /gb/ || $2+0 > 500 {print $1}'

   Cette partie du script vérifie si la taille de l’indice contient « gb » (gigaoctets) ou si elle est supérieure à 500 Mo.

3. Boucle de suppression :
   Pour chaque indice filtré, utilisez `curl` pour envoyer une requête DELETE à l’API d’Elasticsearch.

   for index in $(...); do
     echo "Deleting index: $index"
     curl -u "utilisateur:motdepasse" -s -X DELETE "https://url:9200/$index" --insecure
   done
Explication des paramètres

- `-u "utilisateur:motdepasse"` : Authentification pour accéder à Elasticsearch.
- `-s` : Mode silencieux pour supprimer la barre de progression.
- `-X GET` : Requête GET pour obtenir les informations des indices.
- `--insecure` : Permet de contourner les problèmes de certificat SSL.

Ce script simple et efficace vous permet de nettoyer automatiquement les indices volumineux dans votre instance Elasticsearch. En l’exécutant régulièrement, vous pouvez maintenir une utilisation efficace de l’espace disque et optimiser les performances de votre cluster Elasticsearch.

Pour des tâches plus complexes, vous pouvez étendre ce script ou utiliser des outils de gestion d’Elasticsearch plus avancés comme Curator.

A voir également

Commentaires

Soyez le 1er à commenter !

Ecrire un commentaire

Doit contenir 4 caractères minimum et seulement des caractères alphanumériques - et _
Veuillez préciser une adresse email valide.

Derniers bons plans

HP - PC Souris Silent 280 M sans Fil, Technologie...
15 Jul 2024, 07:59
22.99 € 15.00 €
Synology Serveur NAS DS923+ 4 Baies Extensible
15 Jul 2024, 07:47
634.80 € 579.99 €

Dernières actualités