Fluentビットを使用したOpenSearchクラスタへのデータの取込み

Fluent Bitを使用してOpenSearchクラスタにログ・データを取り込みます。

Fluent Bitは、軽量ロギングおよびメトリックプロセッサとフォワーダです。

前提条件

このトピックで説明するステップに進む前に、次のタスクを完了してください。

Fluentビットのインストールおよび構成

  1. Fluent Bitをダウンロードし、VMインスタンスにインストールします。Linuxベースのインスタンスに最新バージョンをインストールするには、Linuxパッケージを参照してください。その他のオペレーティング・システムについては、サポートされているプラットフォームを参照してください。

  2. VMインスタンスのオペレーティング・システムに適用可能なコマンドを実行して、Fluent Bitエージェントをインストールします。たとえば、次のコマンドを実行して、LinuxインスタンスにFluent Bitエージェントをインストールします。

    sudo rpm -i <fluent-bit-rpm file>
  3. Fluent Bit構成ファイル/fluent-bit/fluent-bit.confOUTPUTセクションを更新して、出力プラグインをOpenSearchクラスタに送信します。このセクションの詳細については、Configuration File - Outputを参照してください。

    次に、構成ファイルのこのセクションのサンプル・コードを示します。該当するテキストをクラスタの詳細に置き換えます。hostのOpenSearchクラスタのOCIDを指定します。OpenSearchクラスタの詳細の取得を参照してください。http_Userおよびhttp_Passwdには、OpenSearchクラスタのデータを収集するための十分な権限を持つユーザーを指定します。たとえば、クラスタの作成時に指定したロールベースのアクセス制御にプライマリ・ユーザー・アカウントを使用できます。「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. Fluent Bit構成ファイルのINPUTセクションを更新して、ログ・データのソースとその取込み方法を指定します。このセクションの詳細は、「構成ファイル- 入力」を参照してください。

    たとえば:

    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

Fluentビットによるデータ収集のテスト

この項では、「Fluent Bitのインストールおよび構成」で指定した構成に基づいて、Fluent Bitを使用したログ・データの取込みをテストするステップを説明します。VMインスタンスに接続しているときに、次のステップを実行します。含まれるサンプル・コマンドは、Linuxベースのオペレーティング・システム用であり、他のオペレーティング・システムでは、そのオペレーティング・システムに適用可能なコマンドを使用します。

  1. 次のコマンドを実行して、JavaおよびPythonをインストールします:

    sudo yum install python3
    sudo yum install java
  2. 次のコマンドを実行して、ログ・データのディレクトリを作成します。
    mkdir /etc/fluent-bit/project
  3. 次のコマンドを実行して、Fluent Bitを起動します。

    sudo fluent-bit -c /etc/fluent-bit/fluent-bit.confb
  4. /etc/fluent-bit/projectにpythonスクリプト・ファイルgenerate_log.pyを作成し、次のコードをファイルにコピーします:

    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. 次のコマンドを使用して、前のステップで作成したスクリプトを実行します。

    python3 /etc/fluent-bit/project/generate_log.py

    このスクリプトを実行すると、ファイルfile.logが作成され、指定したロギング・メッセージがファイルに追加されます。

pythonスクリプトを実行した後、クラスタのOpenSearchダッシュボードに接続してログ・データがOpenSearchクラスタに取り込まれたことを確認し、Fluent Bit構成ファイルのOUTPUTセクションで指定した索引をチェックできます。タスク6: OpenSearchダッシュボードへの接続およびOpenSearchダッシュボードのクイックスタート・ガイドを参照してください。