Ingestion de données dans une grappe OpenSearch avec Fluent Bit

Ingérer des données de journal dans une grappe OpenSearch avec Fluent Bit.

Fluent Bit est un processeur et un transmetteur léger pour la journalisation et les 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 des instances Linux, voir Ensembles Linux. Pour les autres systèmes d'exploitation, voir Plate-formes prises en charge.
  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 plugiciel de sortie vers la grappe OpenSearch.
    Pour plus d'informations sur cette section, voir Fichier de configuration - Sortie.

    Voici un exemple de code pour cette section du fichier de configuration. Remplacez le texte applicable par les détails de votre grappe. Spécifiez l'OCID de la grappe OpenSearch pour host, voir Obtention des détails d'une grappe OpenSearch. Pour http_User et http_Passwd, spécifiez un utilisateur disposant des autorisations suffisantes pour ingérer des données pour la grappe OpenSearch. Par exemple, vous pouvez utiliser le compte d'utilisateur principal pour le contrôle d'accès basé sur le rôle que vous avez spécifié lors de la création de la grappe. Voir Contrôle d'accès basé sur le rôle 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 spécifier la source des données de journal et la façon dont elles doivent être ingérées.
    Pour plus d'informations sur cette section, voir Fichier de configuration - Entrée.

    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 Fluent Bit

Cette section décrit les étapes pour tester l'ingestion des données de journal avec Fluent Bit en fonction de la configuration que vous avez spécifiée dans Installer et configurer Fluent Bit. Effectuez ces étapes lorsque vous êtes connecté à l'instance de machine virtuelle. Les exemples de commandes inclus sont pour les systèmes d'exploitation basés sur 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 spécifiés au fichier.

Après avoir exécuté le script python, vous pouvez vérifier que les données de journal ont été ingérées dans la grappe OpenSearch en vous connectant au tableau de bord OpenSearch de la grappe pour vérifier l'index que vous avez spécifié dans la section OUTPUT du fichier de configuration Fluent Bit. Voir Tâche 6 : Se connecter aux tableaux de bord OpenSearch et Guide de démarrage rapide pour les tableaux de bord OpenSearch.