Inclusion de données dans un cluster OpenSearch avec Fluent Bit

Inclusion de données de journal dans un cluster OpenSearch avec Fluent Bit.

Fluent Bit est un processeur et un transitaire léger de journalisation et de mesures.

Installer et configurer Fluent Bit

  1. Téléchargez Fluent Bit et installez-le sur l'instance de machine virtuelle.
    Pour installer la dernière version sur les instances Linux, reportez-vous à la section Linux Packages. Pour les autres systèmes d'exploitation, reportez-vous à la section Supported Platforms.
  2. Exécutez la commande applicable au système d'exploitation de l'instance de machine virtuelle pour installer l'agent Fluent Bit.
    Par exemple, exécutez la commande suivante pour installer l'agent Fluent Bit sur une instance Linux :
    sudo rpm -i <fluent-bit-rpm file>
  3. Mettez à jour la section OUTPUT du fichier de configuration Fluent Bit, /fluent-bit/fluent-bit.conf, pour diriger le module d'extension de sortie vers le cluster OpenSearch.
    Pour plus d'informations sur cette section, reportez-vous à Configuration File - Output.

    Voici un exemple de code pour cette section du fichier de configuration. Remplacez le texte applicable par les détails de votre cluster. Indiquez l'OCID du cluster OpenSearch pour host. Reportez-vous à Obtention des détails d'un cluster OpenSearch. Pour http_User et http_Passwd, indiquez un utilisateur disposant de droits d'accès suffisants pour ingérer des données pour le cluster OpenSearch. Par exemple, vous pouvez utiliser le compte utilisateur principal pour le contrôle d'accès basé sur les rôles que vous avez indiqué lors de la création du cluster. Reportez-vous à Contrôle d'accès basé sur les rôles dans la recherche avec OpenSearch.

    name - es
    host - <cluster_ID>
    port - 9200
    tls - on
    tls.verify - on
    index - <index_name>
    http_User - <cluster_user>
    http_Passwd - <cluster_password>
    Suppress_Type_Name - On
    Replace_Dots - On
    Retry_Limit - 6
    Buffer_Size - 400MB
  4. Mettez à jour la section INPUT du fichier de configuration Fluent Bit pour indiquer la source des données de journal et la manière dont elles doivent être incluses.
    Pour plus d'informations sur cette section, reportez-vous à la section Configuration File - Input.

    Par exemple :

    Name  tail
    Tag   file_log
    Path  /etc/fluent-bit/project/file.log
    Buffer_Max_Size  600m
    Multiline  On
    Parser_Firstline  multiline
    Buffer_Chunk_Size  2m
    Skip_Long_Lines  Off
    Skip_Empty_Lines  Off
    Mem_Buf_Limit  700m
    DB  /etc/fluent-bit/db/file.db
    DB.Sync  normal
    Refresh_Interval  30
    Rotate_Wait  20
    Exit_On_Eof  Off
    Ignore_Older  5m
    storage.type  filesystem

Tester l'ingestion de données avec le bit fluide

Cette section décrit les étapes de test de l'assimilation des données de journal avec le bit fluide en fonction de la configuration indiquée dans Installation et configuration du bit fluide. Effectuez ces étapes lorsque vous êtes connecté à l'instance de machine virtuelle. Les exemples de commandes inclus sont pour les systèmes d'exploitation Linux, pour les autres systèmes d'exploitation, utilisez les commandes applicables pour ce système d'exploitation.
  1. Exécutez les commandes suivantes pour installer Java et Python :
    sudo yum install python3
    sudo yum install java
  2. Exécutez la commande suivante pour créer le répertoire des données de journal :
    mkdir /etc/fluent-bit/project
  3. Exécutez la commande suivante pour démarrer Fluent Bit :
    sudo fluent-bit -c /etc/fluent-bit/fluent-bit.confb
  4. Créez le fichier de script python generate_log.py dans /etc/fluent-bit/project et copiez le code suivant dans le fichier :
    Import logging
     
    # Configure logging to write to a file
     
    logging.basicConfig(filename='file.log', level=logging.DEBUG)
     
    # Generate some log messages
     
    logging.debug('This is a debug message.')
     
    logging.info('This is an informational message.')
     
    logging.warning('This is a warning message.')
     
    logging.error('This is an error message.')
     
    logging.critical('This is a critical message.')
     
    # Example of logging additional details using formatting
     
    name = 'John'
     
    age = 30
     
    logging.info('User %s, age %d, logged in.', name, age)
     
    # Example of logging an exception stack trace
     
    try:
     
        result = 10 / 0
     
    except Exception as e:
     
     logging.exception('An error occurred: %s', str(e))
  5. Utilisez la commande suivante pour exécuter le script créé à l'étape précédente :
    python3 /etc/fluent-bit/project/generate_log.py

    L'exécution de ce script crée un fichier file.log et ajoute les messages de journalisation indiqués au fichier.

Après avoir exécuté le script python, vous pouvez vérifier que les données de journal ont été incluses dans le cluster OpenSearch en vous connectant au tableau de bord OpenSearch du cluster pour vérifier l'index indiqué dans la section OUTPUT du fichier de configuration Fluent Bit. Reportez-vous à Tâche 6 : connexion aux tableaux de bord OpenSearch et au guide de démarrage rapide pour les tableaux de bord OpenSearch.