Comment envoyer les journaux de Python vers OpenSearch en utilisant Fluent Bit

Introduction

La gestion efficace des journaux est essentielle pour la surveillance et la maintenance des applications dans le monde actuel axé sur les données. OpenSearch, un moteur de recherche et d’analyse open source, offre des fonctionnalités robustes d’agrégation et d’analyse de journaux. En le combinant avec Fluent Bit, un forwardeur de journaux léger, nous pouvons envoyer efficacement les journaux de Python vers OpenSearch pour la surveillance et l’analyse en temps réel. Ce guide vous guidera à travers l’installation de cette puissante combinaison.

Use Case

Cette configuration est bénéfique pour les développeurs et les administrateurs systèmes qui ont besoin de surveiller des applications Python en temps réel. En envoyant les journaux des applications Python vers OpenSearch, vous pouvez analyser les journaux, créer des tableaux de bord, définir des alertes et obtenir des vues d’ensemble précieuses du comportement et de la performance de vos applications. Cette approche est scalable et adaptable aux petits projets ainsi qu’aux environnements de production à grande échelle.

Prérequis

Avant de commencer, veuillez s’assurer que vous avez en place les prérequis suivants :

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

Étape 1 – Installer Python

Premièrement, 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 le journalisation Python

Configurez votre application Python pour écrire des messages dans un fichier de journalisation. Voici une configuration de base :

import logging

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

# Message de journalisation de test
logging.info('This is a test log message.')

Cette configuration écrit les messages de journal à app.log avec une horodatage, un niveau de journalisation 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. Sinon, vous pouvez également utiliser le tableau de bord de DigitalOcean pour créer un cluster manuellement. Pour les détails sur comment faire, voir ce guide sur la création de clusters OpenSearch via le tableau de bord.

É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 l’hôte de 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 s’assurer que les journaux sont correctement ingérés, vérifiez votre tableau de bord OpenSearch. Vous devraitz voir les journaux transférés depuis Fluent Bit.

Étape 8 – Créer un Modèle d’Index dans les Tableaux de Bord OpenSearch

  1. Connectez-vous au tableau de bord OpenSearch avec vos identifiants.
  2. Étendez le menu latéral de gauche et cliquez sur Gestion des index sous Gestion.
  3. Cliquez sur Créer un index dans le menu Index.
  4. Entrez le nom d’index, configurez les autres paramètres si nécessaire, puis cliquez sur Créer.

Conclusion

En suivant ces étapes, vous avez configuré un système pour envoyer les journaux de Python vers OpenSearch en utilisant Fluent Bit. Cette configuration permet de gérer et d’analyser efficacement les journaux, vous aidant à maintenir et à surveiller vos applications de manière efficace. Avec OpenSearch et Fluent Bit, vous disposez d’une solution puissante pour l’analyse de journaux en temps réel et le monitoring, adaptée aux besoins de toutes les applications basées sur Python.

Source:
https://www.digitalocean.com/community/tutorials/send-python-logs-to-opensearch-using-fluentbit