OpenSearch - Surveillez votre infra (avec Logstash ou Fluent Bit)
Découvrez comment configurer Logstash et Fluent Bit avec vos bases de données OpenSearch
Objectif
OpenSearch est une suite open source de recherche et d'analyse. Pour transmettre des données pertinentes à OpenSearch, plusieurs méthodes sont disponibles. Vous pouvez facilement importer un fichier, mais pour les données en temps réel telles que les métriques et les logs, des collecteurs sont nécessaires.
Ce tutoriel explique comment configurer deux collecteurs réputés, Logstash et Fluent Bit, pour se connecter et transmettre des logs de données à votre service de base de données OpenSearch.
Prérequis
Ce tutoriel nécessite :
- Un accès à l'
- Un projet Public Cloud dans votre compte OVHcloud, exécutant au minimum :
- un service Public Cloud Databases pour OpenSearch en cours d'exécution ;
- une ou plusieurs instances de calcul supplémentaires exécutant Linux, faisant office d'injecteur de données. Il peut également s'agir de votre ordinateur, d'un cluster Kubernetes, etc.
Assurez-vous de disposer d'un compte utilisateur disposant de privilèges suffisants pour écrire dans la base de données OpenSearch, et que les adresses IP que vous utiliserez pour exécuter vos agents (Logstash et Fluent Bit) font partie de la liste autorisée. Consultez notre guide de démarrage pour plus d'informations.
Environnement logiciel
Les principaux composants logiciels utilisés pour créer ce tutoriel sont :
- une instance Public Cloud DB OpenSearch 1.0
- Linux Ubuntu 21.10 / Apache2 2.4.48 pour exécuter :
- Logstash 7.13.2
- Fluent Bit 1.8
Matrice de compatibilité des agents OpenSearch et des outils d'ingestion
En raison du fork depuis ElasticSearch, il est recommandé de vérifier la version du logiciel que vous utiliserez : matrices de compatibilité OpenSearch.
En pratique
Étape 1 : Logstash comme source de logs de données
Installer Logstash sur les sources clientes
Pour collecter des données, vous devez installer l'agent collecteur sur la source de données. Dans notre cas, il s'agit d'une machine virtuelle Linux Ubuntu, mais cela peut être n'importe quoi d'autre.
Reportez-vous à la documentation officielle d'installation de Logstash pour OpenSearch
Comme indiqué dans la matrice de compatibilité, sélectionnez et téléchargez une version compatible depuis ElasticSearch : téléchargez les anciennes versions OSS
Configurer Logstash
La configuration par défaut est suffisante pour ce tutoriel, mais si vous devez revoir la configuration, rendez-vous dans /etc/logstash et consultez les fichiers de configuration (logstash.yml).
Configurer un pipeline
Chaque pipeline repose sur 3 phases : les entrées, les filtres et les sorties. Pour ce tutoriel, supposons qu'un service Apache est en cours d'exécution. Nous allons collecter les logs d'accès Apache pour en configurer un :
- le fichier access.log d'Apache comme entrée ;
- le filtre est basé sur le grok prédéfini ;
- la base de données OpenSearch comme sortie cible. Modifiez avec vos propres valeurs en conséquence.
Fichier de configuration : /etc/logstash/conf.d/apache2.conf
Modèles grok et débogueur
Comme exemple des principaux modèles de correspondance actuellement utilisés, ou pour en tester des plus spécifiques, vous pouvez utiliser des outils comme Grok Debugger :
Étape 2 : Visualiser les données Logstash dans OpenSearch Dashboard
Vérifier que l'index a été créé et est désormais alimenté
Maintenant que Logstash est en cours d'exécution et analyse le fichier de logs d'accès Apache, effectuons une nouvelle connexion au service Apache et vérifions que Logstash transmet bien toutes les données d'accès à OpenSearch. Connectons-nous également à OpenSearch Dashboard pour vérifier que l'index correspondant a été créé et que les premiers documents ont bien été alimentés.
Utilisez les Dev Tools pour interroger les index :
Ensuite, dans la console, exécutez une commande GET /_cat/indices pour obtenir la liste des index avec le nombre de documents pour chacun :
Créer un modèle d'index
Pour agréger tous les index quotidiens correspondants, nous devons créer un modèle d'index depuis le menu Stack Management :
Pour créer le premier modèle d'index :
Comme nous souhaitons consolider tous nos index quotidiens, définissons le modèle comme index_test :
Définissez ensuite l'horodatage :
OpenSearch définira ensuite tous les champs disponibles et leur type directement à partir des documents stockés dans l'index :
Créer un nouveau dashboard
Créer une nouvelle visualisation
Dans OpenSearch Dashboard / Visualize, créez une nouvelle visualisation :
Sélectionnez le type de visualisation :
Sélectionnez ensuite la source de données (le modèle d'index que vous venez de créer) :
Vous devez maintenant définir tous les critères que vous souhaitez visualiser :
- la période (les 7 derniers jours dans notre exemple) ;
- pour les métriques, les données de l'axe Y (agrégation/champ) ;
- et de même pour les Buckets avec l'intervalle de temps en cas d'agrégation par date.
Cliquez sur update si des modifications ont été apportées à la définition des données, ou sur actualiser si vous changez l'échelle temporelle des données.
Enregistrez votre visualisation :
Ajouter des visualisations à un dashboard
Créons un dashboard avec la visualisation que vous venez d'enregistrer.
Créez un nouveau dashboard :
Comme nous avons déjà créé une visualisation, Add an existing object :
Recherchez et sélectionnez celle que nous venons de créer :
Réorganisez vos panneaux, ajoutez-en de nouveaux ou des existants selon vos besoins :
Nous disposons désormais d'un dashboard en temps réel affichant les adresses IP uniques par jour, trouvées dans les logs Apache.
Étape 3 : Fluent Bit comme alternative pour la source de logs de données
Plusieurs agents existent. Fluent Bit est une alternative solide, entièrement open source, à Logstash, et fonctionne nativement avec OpenSearch : site officiel de Fluent Bit.
Nous proposons maintenant d'analyser les logs d'accès Apache et de transmettre ces informations à la base de données OpenSearch pour cet agent.
Installer Fluent Bit
Pour installer Fluent Bit sur notre instance Linux Ubuntu, nous allons installer le paquet td-agent-bit, comme décrit dans le processus d'installation de Fluent Bit depuis la documentation officielle.
Vérifiez que le service est en cours d'exécution et qu'il est activé pour démarrer automatiquement au redémarrage du système :
Configurer Fluent Bit
Modifions le fichier de configuration /etc/td-agent-bit/td-agent-bit.conf pour les sections INPUT et OUTPUT :
Si nécessaire, reportez-vous aux paramètres de la documentation officielle de Fluent Bit.
Tous les logs d'accès Apache seront désormais transmis à la base de données OpenSearch sous l'index "my-fluent".
Étape 4 : Visualiser les données Fluent Bit dans OpenSearch Dashboard
Comme nous l'avons fait pour Logstash, vous pouvez créer un modèle d'index pour agréger toutes les données de logs quotidiennes stockées dans OpenSearch, puis visualiser ces données ou créer des dashboards. Dans cet exemple, les index seront my-fluent-YYYY.MM.DD, vous pouvez donc définir un modèle comme : *my-fluent-**.
Félicitations, vous êtes désormais capable de collecter des données depuis plusieurs sources et de les transmettre à Public Cloud Databases pour Opensearch !
Aller plus loin
Documentation OVHcloud sur les Public Cloud Databases managées
Documentation officielle d'OpenSearch
Documentation officielle d'OpenSearch Dashboard
Documentation officielle de Fluent Bit
Vous êtes sur Discord ? Rejoignez notre chaîne via https://discord.gg/ovhcloud et interagissez directement avec l’équipe qui développe notre service de bases de données !
Si vous avez besoin d'une formation ou d'une assistance technique pour la mise en oeuvre de nos solutions, contactez votre commercial ou cliquez sur ce lien pour obtenir un devis et demander une analyse personnalisée de votre projet à nos experts de l’équipe Professional Services.