Recherche de site Web

Comment envoyer des logs Python à OpenSearch en utilisant Fluent Bit


Introduction

Une gestion efficace des journaux est essentielle pour surveiller et maintenir les applications dans le monde axé sur les données d'aujourd'hui. OpenSearch, un moteur de recherche et d'analyse open-source, offre de solides capacités d'agrégation et d'analyse des journaux. En le combinant avec Fluent Bit, un forwarder de journaux léger, nous pouvons envoyer efficacement les journaux Python à OpenSearch pour une surveillance et une analyse en temps réel. Ce guide vous expliquera comment configurer cette combinaison puissante.

Cas d'utilisation

Cette configuration bénéficie aux développeurs et aux administrateurs système qui doivent surveiller les applications Python en temps réel. En envoyant des journaux d'applications Python à OpenSearch, vous pouvez analyser les journaux, créer des tableaux de bord, définir des alertes et obtenir des informations précieuses sur les performances et le comportement de votre application. Cette approche est évolutive et convient autant aux petits projets qu'aux environnements de production à grande échelle.

Conditions préalables

Avant de commencer, assurez-vous d'avoir les prérequis suivants en place :

  1. Python installé : Assurez-vous que Python est installé sur votre serveur ou votre machine locale.
  2. Cluster OpenSearch : Vous devez avoir accès à un cluster OpenSearch. Vous pouvez soit créer un nouveau cluster, soit utiliser un existant.
  3. Fluent Bit installé : Fluent Bit doit être installé sur le serveur ou la machine où votre application Python s'exécute.

Étape 1 - Installer Python

Tout d'abord, mettez à jour votre dépôt et installez Python. Exécutez les commandes suivantes :

sudo apt update
sudo apt install python3

Pour vérifier l'installation de Python, exécutez :

python3 --version

Étape 2 - Configurer la journalisation Python

Configurez votre application Python pour enregistrer les messages dans un fichier. Voici une configuration de base :

import logging

Configure logging
logging.basicConfig(
    filename='app.log',
    level=logging.INFO,
    format='%(asctime)s - %(levelname)s - %(message)s'
)

Sample log message
logging.info('This is a test log message.')

Cette configuration écrit des messages de journal dans app.log avec un horodatage, un niveau de journal et un format de message.

Étape 3 - Créer un cluster OpenSearch

Si vous n'avez pas de cluster OpenSearch, vous pouvez en créer un en utilisant l'outil en ligne de commande de DigitalOcean, doctl. Exécutez la commande suivante :

doctl databases create opensearch-doks --engine opensearch --region your-region --size db-s-1vcpu-2gb --num-nodes 1

Remplacez your-region par la région de votre choix. Alternativement, vous pouvez utiliser le panneau de contrôle DigitalOcean pour créer un cluster manuellement. Pour des détails sur la façon de procéder, référez-vous à ce guide sur la création de clusters OpenSearch via le panneau de contrôle.

Étape 4 - Installer Fluent Bit

Pour installer Fluent Bit, utilisez la commande suivante :

curl https://raw.githubusercontent.com/fluent/fluent-bit/master/install.sh | sh

Étape 5 - Configurer Fluent Bit

Créez un fichier de configuration nommé fluent-bit.conf pour définir comment Fluent Bit doit lire et transférer les journaux vers OpenSearch. Voici un exemple de configuration :

[SERVICE]
    Flush         1
    Daemon        Off
    Log_Level     info

[INPUT]
    Name          tail
    Path          /path/to/your/log/file.log
    Tag           python_logs
    Refresh_Interval 5

[OUTPUT]
    Name          opensearch
    Match         python_logs
    Host          your-opensearch-host
    Port          25060
    HTTP_User     your-username
    HTTP_Passwd   your-password
    Index         your-index-name
    tls           On
    Suppress_Type_Name On
  • Chemin : Spécifiez le chemin vers votre app.log.
  • Hôte: Remplacez par votre hôte OpenSearch.
  • HTTP_User: Votre nom d'utilisateur OpenSearch.
  • HTTP_Passwd: Votre mot de passe OpenSearch.
  • Index : Le nom de l'index où les journaux seront stockés.

Étape 6 - Exécuter Fluent Bit

Exécutez Fluent Bit avec le fichier de configuration :

/opt/fluent-bit/bin/fluent-bit -c fluent-bit.conf

Étape 7 - Vérifier les journaux dans OpenSearch

Pour vous assurer que les journaux sont ingérés correctement, vérifiez votre tableau de bord OpenSearch. Vous devriez voir les journaux être transmis par Fluent Bit.

Étape 8 - Créer un modèle d'index dans OpenSearch Dashboards

  1. Connectez-vous à OpenSearch Dashboards avec vos identifiants.
  2. Développez le menu de gauche et cliquez sur Gestion des index sous Gestion.
  3. Cliquez sur Créer un index dans le menu Indexes.
  4. Entrez le nom de l'index, configurez les autres paramètres si nécessaire, puis cliquez sur Créer.

Conclusion

En suivant ces étapes, vous avez mis en place un système pour envoyer des journaux Python à OpenSearch en utilisant Fluent Bit. Cette configuration vous permet de gérer et d'analyser efficacement les journaux, vous aidant ainsi à maintenir et surveiller vos applications de manière efficace. Avec OpenSearch et Fluent Bit, vous disposez d'une solution puissante pour l'analyse et la surveillance en temps réel des journaux, adaptée aux besoins de toute application basée sur Python.