For AI agents: the complete documentation index is available at https://docs.ovhcloud.com/fr/llms.txt, the full documentation bundle is available at https://docs.ovhcloud.com/fr/llms-full.txt, and this page is available as Markdown at https://docs.ovhcloud.com/fr/guides/public-cloud/databases/opensearch-logstash.md.

OpenSearch - Surveillez votre infra (avec Logstash ou Fluent Bit)

Voir en Markdown

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.
Warning

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

input {
  file {
    path => "/var/log/apache2/access.log"
  }
}
filter { 
  grok {
    match => { "message" => "%{COMBINEDAPACHELOG}" }
  }
  date {
    match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
  }
}
output {
  opensearch { 
    hosts => ["https://opensearch-682faf00-682faf00.database.cloud.ovh.net:20184"]
    index => "index_test-%{+YYYY.MM.dd}"
    user => "admin"
    password => "2fakeSVV5wvyPykF"
  }
}

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 :

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 :

Dev Tools dans OpenSearch Dashboard

Ensuite, dans la console, exécutez une commande GET /_cat/indices pour obtenir la liste des index avec le nombre de documents pour chacun :

Requête GET pour la liste des index et le nombre de documents

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 :

Stack Management

Pour créer le premier modèle d'index :

Premier modèle d'index

Comme nous souhaitons consolider tous nos index quotidiens, définissons le modèle comme index_test :

Modèle index_test

Définissez ensuite l'horodatage :

Horodatage index_test

OpenSearch définira ensuite tous les champs disponibles et leur type directement à partir des documents stockés dans l'index :

index_test prêt

Créer un nouveau dashboard

Créer une nouvelle visualisation

Dans OpenSearch Dashboard / Visualize, créez une nouvelle visualisation :

index_test prêt

Sélectionnez le type de visualisation :

index_test prêt

Sélectionnez ensuite la source de données (le modèle d'index que vous venez de créer) :

index_test prêt

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.

index_test prêt

Enregistrez votre visualisation :

Enregistrer la visualisation
Ajouter des visualisations à un dashboard

Créons un dashboard avec la visualisation que vous venez d'enregistrer.

Créez un nouveau dashboard :

Créer un nouveau dashboard

Comme nous avons déjà créé une visualisation, Add an existing object :

Créer un nouveau dashboard

Recherchez et sélectionnez celle que nous venons de créer :

Réutiliser la visualisation créée

Réorganisez vos panneaux, ajoutez-en de nouveaux ou des existants selon vos besoins :

Dashboard enregistré

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.

Fluent Bit

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 :

sudo systemctl enable td-agent-bit.service
sudo systemctl status td-agent-bit.service 

Configurer Fluent Bit

Modifions le fichier de configuration /etc/td-agent-bit/td-agent-bit.conf pour les sections INPUT et OUTPUT :

[INPUT]
    Name              tail
    Tag               test.file
    Path              /var/log/apache2/access.log
    DB                /var/log/apache2_access.db
    Path_Key          filename
    Parser            apache2
    Mem_Buf_Limit     8MB
    Skip_Long_Lines   On
    Refresh_Interval  30

[OUTPUT]
    Name es
    Match *
    Host opensearch-682faf00-682faf00.database.cloud.ovh.net
    Port 20184
    tls On
    tls.verify off
    HTTP_user admin
    HTTP_Passwd 2FakeSVV5wvyPykF
    Logstash_Format True
    Logstash_Prefix my-fluent

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

Capacités d'OpenSearch

Documentation officielle d'OpenSearch

Documentation officielle d'OpenSearch Dashboard

GitHub du projet OpenSearch

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.

Cette page vous a-t-elle aidé ?