Fluentビットを使用したOpenSearchクラスタへのデータの取込み
Fluent Bitを使用してOpenSearchクラスタにログ・データを取り込みます。
Fluent Bitは、軽量ロギングおよびメトリックプロセッサとフォワーダです。
前提条件
このトピックで説明するステップに進む前に、次のタスクを完了してください。
-
OpenSearchクラスタを作成し、接続情報をノートにとります。「OpenSearchクラスタの作成」および「OpenSearchクラスタの詳細の取得」を参照してください。
-
ローカル・マシンからコンピュート・インスタンスを作成して接続します。インスタンスは、OpenSearchクラスタと同じVCN内にある必要があります。VMインスタンスの作成(オプション)およびインスタンスへの接続を参照してください。
Fluentビットのインストールおよび構成
Fluent Bitをダウンロードし、VMインスタンスにインストールします。Linuxベースのインスタンスに最新バージョンをインストールするには、Linuxパッケージを参照してください。その他のオペレーティング・システムについては、サポートされているプラットフォームを参照してください。
VMインスタンスのオペレーティング・システムに適用可能なコマンドを実行して、Fluent Bitエージェントをインストールします。たとえば、次のコマンドを実行して、LinuxインスタンスにFluent Bitエージェントをインストールします。
sudo rpm -i <fluent-bit-rpm file>
Fluent Bit構成ファイル
/fluent-bit/fluent-bit.conf
のOUTPUT
セクションを更新して、出力プラグインを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
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ベースのオペレーティング・システム用であり、他のオペレーティング・システムでは、そのオペレーティング・システムに適用可能なコマンドを使用します。
次のコマンドを実行して、JavaおよびPythonをインストールします:
sudo yum install python3
sudo yum install java
- 次のコマンドを実行して、ログ・データのディレクトリを作成します。
mkdir /etc/fluent-bit/project
次のコマンドを実行して、Fluent Bitを起動します。
sudo fluent-bit -c /etc/fluent-bit/fluent-bit.confb
/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))
次のコマンドを使用して、前のステップで作成したスクリプトを実行します。
python3 /etc/fluent-bit/project/generate_log.py
このスクリプトを実行すると、ファイル
file.log
が作成され、指定したロギング・メッセージがファイルに追加されます。
pythonスクリプトを実行した後、クラスタのOpenSearchダッシュボードに接続してログ・データがOpenSearchクラスタに取り込まれたことを確認し、Fluent Bit構成ファイルのOUTPUT
セクションで指定した索引をチェックできます。タスク6: OpenSearchダッシュボードへの接続およびOpenSearchダッシュボードのクイックスタート・ガイドを参照してください。