Comment faire pivoter et supprimer les anciens enregistrements Elasticsearch après un mois –
Les index Elasticsearch peuvent rapidement se remplir de gigaoctets de données, en particulier si vous vous connectez à partir de plusieurs serveurs plusieurs fois par seconde. Pour gérer les données, Elasticsearch
Suppression à l’aide de l’API « Supprimer par requête »
Elasticsearch propose une API «Supprimer par requête», qui supprimera tous les documents correspondant à une requête. Vous pouvez l’utiliser pour faire correspondre les horodatages supérieurs ou inférieurs à une certaine date, bien qu’un peu grossièrement:
POST indexname/_delete_by_query { "query": { "range" : { "@timestamp" : { "gte" : "09/02/2020", "lte" : "11/02/2020", "format": "dd/MM/yyyy||yyyy" } } } }
Cependant, cette requête est vraiment lent. Il s’adapte linéairement à la taille du document. Si vous avez suffisamment de documents dont vous avez besoin pour les faire pivoter pour éviter que votre instance Elasticsearch ne s’enflamme, vous ne pouvez probablement pas supprimer les enregistrements de cette manière et vous devrez utiliser des index basés sur le temps à la place.
Une meilleure méthode: les indices basés sur le temps
Dans Elasticsearch, vous n’utilisez généralement pas directement les index. Vos tableaux de bord utilisent des modèles d’index, qui peuvent correspondre à plusieurs index à la fois. La raison en est que les index eux-mêmes peuvent agir comme des groupes de données, comme le regroupement par jour ou par mois.
Il est beaucoup plus facile de gérer et de faire pivoter des index entiers, donc si vous avez configuré chaque ingester pour ajouter la date actuelle au nom de l’index,
index: "indexname-%{+yyyy.MM.dd}"
Bien entendu, cela vous oblige à configurer le pipeline d’ingestion pour écrire dans l’index quotidien. Vous devrez configurer vos enregistreurs pour ingérer des données dans ce format.
Une fois que cela est fait, vous pouvez créer une nouvelle politique de cycle de vie de l’index pour gérer le remplacement automatique des données. Cette option est disponible sous «Gestion de la pile» dans le tableau de bord Kibana.
Vous pouvez configurer plusieurs phases de substitution d’index, mais à cette fin, il est plus facile de simplement désactiver la substitution et d’activer la phase de suppression, en la configurant pour supprimer les index de plus de X jours.
Ensuite, pour l’appliquer réellement à un modèle d’index, vous devrez sélectionner «Ajouter une stratégie à un modèle d’index» sous «Actions» dans la liste des stratégies de cycle de vie.
Sélectionnez le modèle d’index que vous souhaitez ajouter, et la stratégie devrait prendre effet immédiatement, et vos anciens index du modèle seront supprimés.