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 :
- Python installé : Assurez-vous que Python est installé sur votre serveur ou votre machine locale.
- Cluster OpenSearch : Vous devez avoir accès à un cluster OpenSearch. Vous pouvez soit créer un nouveau cluster, soit utiliser un existant.
- 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
- Connectez-vous à OpenSearch Dashboards avec vos identifiants.
- Développez le menu de gauche et cliquez sur Gestion des index sous Gestion.
- Cliquez sur Créer un index dans le menu Indexes.
- 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.
