Fluent Bitログの送信
最終更新日: 02 年 2025 月 XNUMX 日Fluent Bit は、ログデータの収集、フィルタリング、配信を目的とした、オープンソースで軽量かつ高性能なログプロセッサおよびフォワーダーです。Fluent Bit は、複数の入力ソース(ファイル、システムログ、Kubernetes ログなど)と、クラウドサービス、データベース、監視ツールなど、多様な出力先をサポートしています。
すでにFluentbitを使用してアプリケーションログとシステムログを収集している場合は、LM Logs Fluentbitプラグインを使用してLogicMonitorにログを転送できます。プラグインをダウンロードするには、 LM Logs Fluentbitプラグイン LogicMonitor Githubリポジトリのページをご覧ください。LogicMonitorが開発したプラグインが提供されており、ログをLogicMonitorに送信するための具体的な手順が記載されています。
Fluent Bit ログの送信にサポートされているオペレーティング システム
- Linux-AMD
- Linux-ARM
- MS-Windows
Fluent Bit プラグインの構成プロパティ
LogicMonitor で Fluent Bit プラグインを構成するには、次のプロパティを使用できます。
プロパティ | 説明 |
お名前 | 出力プラグインの名前は「logicmonitor」です |
lmCompanyName | LogicMonitorの会社名またはアカウント名とドメインをターゲットURLに入力します。例: https://<account>.<domain> |
一致 | タグまたはパターンを使用して、この出力に送信するログを指定します。一般的な値: * (すべてのログ)または特定のタグ my_logs . |
労働者 | (オプション) この出力のワーカー スレッドの数を構成します。 |
アクセスキー | LogicMonitor API トークンのアクセス キー。 見る APIトークン. |
アクセスID | LogicMonitor API トークンのアクセス ID。 API のみのユーザーを作成することをお勧めします。 見る APIトークン. |
ベアラートークン | LogicMonitor APIトークンのベアラートークン。 無記名トークン. |
リソースマッピング | LogicMonitorリソースとログイベントのソースを定義するマッピング。この場合、 <event_key> 着信イベントでは、の値にマップされます <lm_property> . |
メタデータを含める | 日時 true は、ログに追加のメタデータを追加します。デフォルト値は false . |
lmデバッグ | 日時 true は、Fluentbit コンソールに詳細情報を提供します。 |
Fluent Bitログを送信するための要件
Fluent Bit ログを送信するには、次のものが必要です。
- LogicMonitor アカウント。
- LogicMonitor APIトークンは、ログ取り込みAPIへのすべてのリクエストを認証します。詳細については、 APIトークン 製品ドキュメントより。
- LM Logs Fluent Bitプラグイン - プラグインをダウンロードするには、 LM Logs Fluentbitプラグイン LogicMonitor Githubリポジトリのページをご覧ください。LogicMonitorが開発したプラグインが提供されており、ログをLogicMonitorに送信するための具体的な手順が記載されています。
- Fluent Bit構成ファイル(例:
fluent-bit.conf
またはカスタム構成ファイル)。 - この
out_lm.so
プラグイン ファイル。
Fluent Bitプラグインのダウンロード
Fluent Bit プラグインをダウンロードするには、オペレーティング システムのアーキテクチャに応じて次のコマンドを使用します。
- Linux-AMDの場合:
curl -L -o out_lm-linux.so https://github.com/logicmonitor/lm-logs-fluentbit/raw/master/plugins/out_lm-linux.so
- Linux-ARMの場合:
curl -L -o out_lm-linux-arm64.so https://github.com/logicmonitor/lm-logs-fluentbit/raw/master/plugins/out_lm-linux-arm64.so
- MS-Windowsの場合:
curl -L -o out_lm-windows.so https://github.com/logicmonitor/lm-logs-fluentbit/blob/master/plugins/out_lm-windows.so
- その他のOSの場合:
curl -L -o out_lm.so https://github.com/logicmonitor/lm-logs-fluentbit/raw/master/plugins/out_lm.so
Fluent Bitプラグインのインストール
Linux システムに Fluent Bit プラグインをインストールするには、次の手順を実行します。
- Fluent Bit インストール スクリプトを取得するには、次のコマンドを実行します。
curl https://raw.githubusercontent.com/fluent/fluent-bit/master/install.sh | sh
- 以下のコマンドを実行して、マシンに Fluent Bit をインストールします。
sudo apt-get install fluent-bit
- 以下のコマンドで Fluentbit のステータスを確認します。
sudo systemctl status fluent-bit
- アーキテクチャに適したプラグインファイルをコピーします。 LM ログプラグイン LogicMonitor の GitHub のリポジトリ。
Windows システムに Fluent Bit プラグインをインストールするには、次の手順を実行します。
- インストールパッケージを以下からダウンロードします。 インストールパッケージ のセクション 流暢なビット 公式サイトにアクセスし、
.exe
インストールを開始するためのファイル。
Fluent Bitプラグインの設定
- 既存の
fluent-bit.conf
ファイルが存在する場合は、それを探し、存在しない場合は新しいファイルを作成します。
Note: この設定ファイルはFluent Bitのインストールに含まれています。別の場所に保存している場合は、カスタムプラグインを実行する際に.confファイルへのフルパスを指定してください。
- 必要なプラグインパラメータを構成ファイルに追加します。
[SERVICE]
Flush 5
[INPUT]
Name tail
Path <file_path>/tail.txt
[OUTPUT]
Name logicmonitor
lmCompanyName <company_name_with_domain>
Match *
Workers 1
accessKey <accessKey>
accessID <accessID>
bearerToken Bearer <bearerToken>
resourceMapping {"<event_key>": "<lm_property>"}
includeMetadata <boolean_value>
lmDebug <boolean_value> - 適切な形式を使用してログ データを生成するソースをマップし、LogicMonitor Logs によってログが正しく解析されるようにします。
- Fluent Bitイベントのリソースマッピングを定義します。
event_key
受信イベントから取得し、LogicMonitorリソースプロパティにマッピングします。resource_mapping
ディレクティブ。例えば、"hostname"
ログイベントのフィールドをLogicMonitorプロパティに追加system.hostname
、次を追加します。resource_mapping {"hostname": 'system.hostname"}
- これにより、受信ログ イベントが LogicMonitor ポータル内の正しいリソースに関連付けられるようになります。
Note:
LogicMonitorリソースのマッピングが既にわかっている場合は、event_keyをオーバーライドして、 _lm.resourceId
各ログ レコードのフィールド。
out_lm Fluent Bit プラグインの実行
ログ取り込み用の out_lm Fluent Bit プラグインは、次の 2 つの方法で実行できます。
- 直接コマンドでFluent Bitを実行する
- Fluent Bit を実行してカスタム構成ファイルを使用する
直接コマンドでFluent Bitを実行する
- Fluent Bitを実行するには
out_lm
プラグインと設定ファイルをダウンロードするには、次のコマンドを実行します。
<path_to_installed_fluentbit>/fluent-bit -e <path_to_out_lm_plugin>/out_lm.so -c <path_to_file>/fluent-bit.conf
このコマンドの場合:
<path_to_installed_fluentbit>
Fluent Bit実行ファイルへのパスです(例:/opt/fluent-bit/bin/fluent-bit
).<path_to_out_lm_plugin>
へのパスですout_lm.so
プラグイン ファイル。<path_to_file>
Fluent Bit 構成ファイルへのパスです。
Fluent Bit を実行してカスタム構成ファイルを使用する
あるいは、systemd サービスを通じてカスタム構成ファイルを使用して Fluent Bit を実行するには、次のようにします。
- Fluent Bit systemd サービス ファイルを開きます。
sudo nano /etc/systemd/system/fluent-bit.service
- 更新する
ExecStart
カスタム構成ファイルを参照する行:[Service] ExecStart=/opt/fluent-bit/bin/fluent-bit -c /path/to/your/custom.conf
- systemd マネージャーの設定を再読み込みし、Fluent Bit を再起動します。
sudo systemctl daemon-reload sudo systemctl restart fluent-bit
Fluent Bit プラグインの設定例
以下は Fluent Bit プラグインの構成例です。
ホスト情報をリソース属性にマッピングする
この例では、 host
ログソースから system.ips
LogicMonitor の属性。
[SERVICE]
Flush 5
[INPUT]
Name tail
Path /var/log/sample_logs/*.log
Tag application_logs
[OUTPUT]
Name logicmonitor
Match application_logs
Host logs.logicmonitor.com
Port 443
URI /rest/log/ingest
accessKey <accessKey>
accessID <accessID>
bearerToken Bearer <bearerToken>
Format json
tls on
resourceMapping {"host":"system.ips"}
この構成では、次のようになります。
- この
resourceMapping
フィールドは、host
ログのフィールドはsystem.ips
LogicMonitor の属性。
アプリケーション名をLogicMonitor属性にマッピングする
この例では、 app_name
ログメタデータから system.application
LogicMonitor の属性。
[SERVICE]
Flush 10
[INPUT]
Name tail
Path /var/log/app_logs/*.log
Tag app_logs
[FILTER]
Name modify
Match app_logs
Add app_name my_application
[OUTPUT]
Name logicmonitor
Match app_logs
Host logs.logicmonitor.com
Port 443
URI /rest/log/ingest
accessKey <accessKey>
accessID <accessID>
bearerToken Bearer <bearerToken>
Format json
tls on
resourceMapping {"app_name":"system.application"}
ここに:
- この
FILTER
セクションは、app_name
値を持つフィールドmy_application
. - この
resourceMapping
仲間app_name
system.application
LogicMonitor の属性。
メタデータとデバッグを含める
この例では、追加のメタデータを含め、デバッグ ログを有効にする方法を示します。
[SERVICE]
Flush 5
Log_Level debug
[INPUT]
Name tail
Path /var/log/system_logs/*.log
Tag system_logs
[OUTPUT]
Name logicmonitor
Match system_logs
Host logs.logicmonitor.com
Port 443
URI /rest/log/ingest
accessKey <accessKey>
accessID <accessID>
bearerToken Bearer <bearerToken>
Format json
tls on
resourceMapping {"source":"system.type", "host":"system.hostname"}
includeMetadata true
この構成では、次のようになります。
includeMetadata true
タイムスタンプやホスト名などのログ メタデータが転送されることを保証します。resourceMapping
マップsource
〜へのフィールドsystem.type
とhost
〜へのフィールドsystem.hostname
.
HTTP 設定ファイル
この Fluent Bit 構成例では、ログ データを受信するための HTTP 入力を設定し、指定された出力 (LogicMonitor エンドポイント) に転送します。
[INPUT]
name http
listen 0.0.0.0
port 9880
[OUTPUT]
Name logicmonitor
lmCompanyName <company_name_with_domain>
Match test
Workers 1
accessKey <accessKey>
accessID <accessID>
bearerToken Bearer <bearerToken>
resourceMapping {"host":"system.ips"}
includeMetadata <boolean_value>
id <output_id>
lmDebug <boolean_value>
複数の設定ファイル
この Fluent Bit 構成ファイルは、2 つの異なるファイルからログを収集し、指定されたパーサーを使用してログを処理し、LogicMonitor 固有のパラメータを使用してログを出力先に転送するように構成されています。
[SERVICE]
Flush 1
Log_Level info
Parsers_File parsers-multiple-config.conf
[INPUT]
Name tail
Path <file_path>/tail1.log
Parser json
Tag app1.logs
[INPUT]
Name tail
Path <file_path>/tail2.log
Parser json
Tag app2.logs
[OUTPUT]
Name logicmonitor
lmCompanyName <company_name_with_domain>
Match *
Workers 1
accessKey <accessKey>
accessID <accessID>
bearerToken Bearer <bearerToken>
includeMetadata <boolean_value>
id <output_id>
lmDebug <boolean_value>
パーサーの設定も必要になります パーサー.conf Fluent Bit が JSON 形式のログ データを処理する方法を定義します。
[PARSER]
Name json
Format json
Time_Key time
Time_Format %Y-%m-%dT%H:%M:%S
TCP設定ファイル
この Fluent Bit 構成ファイルは、TCP 経由でログ データを収集し、処理して、リソース マッピングや認証などの特定の属性を持つ出力先に転送するように設計されています。
[SERVICE]
Flush 1
Log_Level info
Parsers_File parsers.conf
[INPUT]
Name tcp
Tag tcp_log
Listen 0.0.0.0
Port <port>
[OUTPUT]
Name logicmonitor
lmCompanyName <company_name_with_domain>
Match *
Workers 1
accessKey <accessKey>
accessID <accessID>
bearerToken Bearer <bearerToken>
resourceMapping {"host":"system.ips"}
includeMetadata <boolean_value>
id <output_id>
lmDebug <boolean_value>
この構成では、 パーサー.conf 似ているはずです パーサー.conf 上記で定義されています。
複数行の設定ファイル
この Fluent Bit 構成は、複数行にわたるログ (スタック トレースや長いメッセージなど) を処理し、複数行パーサーを使用して解析し、指定された出力に転送するように設計されています。
[SERVICE]
Flush 5
parsers_file parsers_multiline.conf
[INPUT]
Name tail
Path tail.txt
multiline.parser multiline-regex-test
[OUTPUT]
Name logicmonitor
lmCompanyName <company_name_with_domain>
Match *
Workers 1
accessKey <accessKey>
accessID <accessID>
bearerToken Bearer <bearerToken>
resourceMapping {"host":"system.ips"}
includeMetadata <boolean_value>
id <output_id>
lmDebug <boolean_value>
以下の設定ファイルは、 複数行パーサー 命名 multiline-regex-test
正規表現を使用して関連するログ行をグループ化し、複数行にまたがるログを処理します。
[MULTILINE_PARSER]
name multiline-regex-test
type regex
flush_timeout 1000
#
# Regex rules for multiline parsing
# ---------------------------------
#
# configuration hints:
#
# - first state always has the name: start_state
# - every field in the rule must be inside double quotes
#
# rules | state name | regex pattern | next state
# ------|---------------|--------------------------------------------
rule "start_state" "/([a-zA-Z]+ \d+ \d+\:\d+\:\d+)(.*)/" "cont"
rule "cont" "/^\s+at.*/" "cont"
トラブルシューティング
を設定してデバッグログを有効にします debug
プロパティへ true
in fluent-bit.conf
Fluentdコンソールで追加情報を確認するには、ログのトラブルシューティングを参照してください。ログのトラブルシューティングの詳細については、 トラブルシューティング.