Bonjour à tous,
Je viens vers vous afin de m'assurer que ma demande est possible ou non.
Actuellement, ma configuration en Hot-Warm me permet d'utiliser curator pour basculer tous mes logs d'un index unique vers une seconde nodes une fois un délais de 7 jours atteint, passant ainsi de hot à warm et stocké ainsi sur un serveur de stockage mais restant accessible.
Après maintes recherche, je me pose la question s'il est possible de pouvoir appliquer différentes règles de rétentions par type de serveurs.
Une façon simple de les identifier sont leurs nom, se terminant respectivement par -dev et -int. Le restant étant les serveurs en exploitation.
Existe-t-il une façon de procéder pour permettre un tel filtre ?
Est ce qu' un regroupement des indexes par famille de serveur et ensuite appliquer ILM (hot/Warn - règle de rétention) pourront répondre à vos besoins ?
Ex: index-xx contenant les logs pour les serveurs de types xx
Oui c'est ce genre de solution à laquelle je pensais, mais techniquement, je ne vois pas de quelle manière configurr pour que mes logs venant de serveur xxx-dev puisse arriver dans index-dev, etc...
Windows et Linux confondus.
Tout simplement depuis ton outil d'ingestion des données (logstash, beats ou autres) définir, en fonction du serveur ( si serveur dev, test ou prod ) le nom de l'indexe.
Exemple :
Sur server dev 1 -- le nom de l'index sera : date-dev
Sur server dev 2 -- le nom de l'index sera : date-dev
Sur server test 1 -- le nom de l'index sera : date-test
Et ainsi les données seront regroupées par environnement
Plutot dans la partie : output.elasticsearch qu'il faut définir le nom de l'index puisque ton filebeat peux indexer directement les données dans ES. Si tu passes par Logstash (c'est à dire filebeat -> logstash -> Elasticsearch) , à ce moment là, tu dois définir les nom des index depuis logstash.
L'idée est de retrouver une structure comme ceci :
2021.03.11-dev qui contient tout les données des serveurs de dev de la journée du 2021.03.11 2021.03.11-test qui contient tout les données des serveurs de test de la journée du 2021.03.11 2021.03.10-dev qui contient tout les données des serveurs de dev de la journée du 2021.03.10 2021.03.09-dev qui contient tout les données des serveurs de dev de la journée du 2021.03.09
etc ...
Je reviens vers vous, pour le moment je transfert la configuration sur les serveurs souhaité.
J'ai bien créé un index avec le même préfix.
Voiçi la conf ajouté à filebeat.yml
J'ai du ajouter le setup.template, une erreur remontait comme celle-ci: Exiting: setup.template.name and setup.template.pattern have to be set if index name is modified
Malgrès tout ça, l'index est toujours vide. Aucune erreur mais je ne reçois rien non plus comme log.
Ah Ah .. il va faloir que tu crée ton propre template de mappings.
Et pour les noms des indexes, si tu souhaites pas avoir un regroupement journalier, ça sera un truc style : index: dev-%{+yyyy.MM.dd}. Et depuis kibana, créé un index pattern dev-* qui pointera du coup sur tous les indexes dev-xxx
Alors maintenant il ne vous reste qu'à désactiver ILM dans le fichier de configuration de filebeat, vu qu'il est activer par défaut, et de créer un template et un index dans l'ongelette dev de Kibana:
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.