ククログ

株式会社クリアコード > ククログ > Fluent Package v6 LTSで利用可能になった OpenTelemetry プラグインを紹介

Fluent Package v6 LTSで利用可能になった OpenTelemetry プラグインを紹介

2025年8月29日に、Fluentd の安定版パッケージ Fluent Package v6 LTS をリリースしました。

この v6 LTS ではいくつかのプラグインを新たに同梱しており、そのひとつが OpenTelemetry プラグイン です。

このプラグインを利用すると、Fluentd から直接 OpenTelemetry Collector や OTLP 対応サービス(Grafana TempoDatadogNew Relic など)へログを転送できます。

本記事では、この OpenTelemetry プラグインの概要と基本的な使い方を紹介します。

OpenTelemetry とは

OpenTelemetry は、アプリケーションやインフラの ログ・メトリクス・トレースを統一的に収集・転送するためのオープンソースプロジェクトです。 CNCF(Cloud Native Computing Foundation)が中心となり開発が進められており、主要なクラウドサービスや監視基盤が広く対応しています。

OpenTelemetry を利用すると、異なる言語やサービス間でも共通の OpenTelemetry Protocol (OTLP) でデータをやり取りできます。 たとえば、アプリケーションのトレース情報や Fluentd が収集したログを同じ Collector に送信し、一元的に可視化・分析することが可能になります。

Fluentd がこの仕組みに対応することで、既存のログ収集パイプラインを保ちながら OpenTelemetry ベースの観測基盤へスムーズに統合できるようになります。

OpenTelemetry プラグインの概要

fluent-plugin-opentelemetry は、現在、以下の 3 つのプラグインで構成されています。

プラグイン名 役割 説明
in_opentelemetry 受信 アプリケーションが OpenTelemetry SDK を使って送信したトレース・メトリクス・ログデータを受信します。Collector の代替入力として利用可能です。
out_opentelemetry 送信 Fluentd 内で処理したイベントを OTLP 形式で Collector や対応サービスに転送します。
in_opentelemetry_metrics メトリクス Fluentd 自身のメトリクス情報を OTLP 形式でイベント入力します。送信プラグインで対応サービスに転送できます。

これにより、Fluentd は OpenTelemetry 対応アプリケーションと Collector の間に立つ中継ノードとして機能します。

OpenTelemetry プラグインを用いた簡単な構成図

Fluent Package v6 LTS ではこのプラグインが標準で同梱されており、追加インストールなしで利用できます。

プラグインの簡単な利用例

アプリケーションが OpenTelemetry SDK を使用している場合、Fluentd を Collector 代わりに利用できます。 アプリケーションのデータを Fluentd で受信し OpenTelemetry Collector に転送する最小構成は次の通りです。

# アプリケーションから OTLP 形式のデータを受信
<source>
  @type opentelemetry
  tag opentelemetry
  <http>
    bind 0.0.0.0
    port 4318
  </http>
</source>

# データを collector へ送信
<match opentelemetry.**>
  @type opentelemetry

  <http>
    endpoint "http://collector:4318"
  </http>
</match>

アプリケーションのSDKの設定で、エンドポイントを Fluentd へ向けます。

Collector 側では、OTLP レシーバーを有効にして受信します。

receivers:
  otlp:
    protocols:
      http:
        endpoint: 0.0.0.0:4318

exporters:
  debug:
    verbosity: detailed

service:
  pipelines:
    metrics:
      receivers: [otlp]
      exporters: [debug]
    traces:
      receivers: [otlp]
      exporters: [debug]
    logs:
      receivers: [otlp]
      exporters: [debug]

exporters を変更することで、任意のサービスに中継できます。

2025年11月時点では、OpenTelemetry SDKで生成されたOTLP形式のデータが送受信でき、Fluentd が扱っている既存のテキストのログデータを OTLP 形式で送信できません。 既存のログを転送する場合には、Fluentd Forward Protocol を利用して Collector に送信する必要があります。 詳しくは サンプル の設定をご覧ください。

CloudNative Days Winter 2025

余談ですが、11月18日・19日に開催されるCloudNative Days Winter 2025の2日目に登壇し Fluentd の話をしてきます。

まとめ

Fluent Package v6 LTS に同梱された fluent-plugin-opentelemetry により、 Fluentd は OpenTelemetry 環境とより密接に統合できるようになりました。 これにより、Fluentd は従来のログ集約だけでなく、OpenTelemetry ベースの観測基盤におけるエージェントやハブとしても活用できます。

クリアコードはTreasure Agent (td-agent)やFluent Packageのアップデートについてサポートしており、 Fluentdサービスをカスタマイズして運用している環境などのアップデート手順について 個別に対応できます。 詳しくはFluentdのサポートサービスをご覧いただき、お問い合わせフォームよりお気軽にお問い合わせください。

日本コミュニティ向けのXアカウントでは、日々、Fluentdに関する情報を発信しております。 ぜひ @fluentd_jp をフォローしてください!