AI

ログストリーミング比較:Vector vs Fluent Bit vs OpenTelemetry Collector でログを収集する

オープンソースラボ編集部2026年6月14日

ログストリーミング比較:Vector vs Fluent Bit vs OpenTelemetry Collector でログを収集する

📊 モダンな可観測性基盤でのログ・メトリクス・トレース収集。Vector・Fluent Bit・OpenTelemetry Collectorの特徴を徹底比較します。

オブザーバビリティパイプラインとは

アプリケーション・インフラから発生するログ・メトリクス・トレースを収集・変換・転送するデータパイプラインコンポーネントです。

主要ツール比較表

項目VectorFluent BitOTel Collector
ライセンスMPL 2.0Apache 2.0Apache 2.0
言語RustCGo
データ種類ログ/メトリクス/トレースログ/メトリクスログ/メトリクス/トレース
メモリ使用超軽量(<1MB)
変換処理◎(VRL)○(Lua)◎(Processors)
パフォーマンス
エコシステム独自CNCF◎ CNCF
設定形式TOMLYAML/ConfYAML
K8s向き

各ツールの特徴

Vector

Datadog社(旧Timber Technologies)が開発したRust製の高性能可観測性パイプライン。VRL(Vector Remap Language)という独自DSLで変換処理が強力です。

主な特徴:

  • ログ・メトリクス・トレースを1ツールで統一処理
  • VRL(Vector Remap Language)で型安全な変換処理
  • バックプレッシャー対応でデータロスを防止
  • プロセス負荷が低く高スループット
# vector.toml
[sources.nginx_logs]
type = "file"
include = ["/var/log/nginx/access.log"]

[transforms.parse_nginx]
type = "remap"
inputs = ["nginx_logs"]
source = '''
  . = parse_nginx_log!(string!(.message), "combined")
  .env = "production"
'''

[sinks.loki]
type = "loki"
inputs = ["parse_nginx"]
endpoint = "http://loki:3100"
labels.app = "nginx"

[sinks.elasticsearch]
type = "elasticsearch"
inputs = ["parse_nginx"]
endpoints = ["http://elasticsearch:9200"]

向いているケース: 統合観測性・複雑な変換処理

Fluent Bit

C言語で書かれた超軽量コレクター。Kubernetesのデファクトスタンダードとしてほぼ全てのK8s環境で使われています。

主な特徴:

  • メモリ1MB以下で動作
  • ARM対応で組み込み・エッジにも適用
  • Fluent dプロトコルとの互換性
  • Kubernetes DaemonSetとして標準的に利用
# fluent-bit.conf(YAML形式)
pipeline:
  inputs:
    - name: tail
      tag: kube.*
      path: /var/log/containers/*.log
      multiline.parser: docker, cri

  filters:
    - name: kubernetes
      match: kube.*
      kube_url: https://kubernetes.default.svc:443

    - name: nest
      match: kube.*
      operation: lift
      nested_under: kubernetes

  outputs:
    - name: loki
      match: kube.*
      host: loki
      port: 3100
      labels: job=fluentbit,namespace=$kubernetes_namespace_name

    - name: s3
      match: kube.*
      bucket: my-log-bucket
      region: ap-northeast-1
      total_file_size: 50M

向いているケース: Kubernetes・エッジ・IoT・超軽量

OpenTelemetry Collector

OTel標準プロトコル(OTLP)のハブとして機能するCNCFプロジェクト。ベンダー非依存で将来性が最も高いです。

主な特徴:

  • OpenTelemetry標準(OTLP)で統一
  • 豊富なExporter(Prometheus/Jaeger/Grafana Cloud等)
  • Agent/Gateway/Sidecarの3モードで展開
  • contrib版で100以上のコンポーネント
# otel-collector-config.yaml
receivers:
  otlp:
    protocols:
      grpc:
        endpoint: 0.0.0.0:4317
      http:
        endpoint: 0.0.0.0:4318
  prometheus:
    config:
      scrape_configs:
        - job_name: 'my-app'
          scrape_interval: 30s
          static_configs:
            - targets: ['my-app:8080']

processors:
  batch:
    timeout: 5s
  resource:
    attributes:
      - key: environment
        value: production
        action: insert

exporters:
  otlp:
    endpoint: https://jaeger:4317
  prometheus:
    endpoint: "0.0.0.0:8889"
  loki:
    endpoint: http://loki:3100/loki/api/v1/push

service:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [batch, resource]
      exporters: [otlp]
    metrics:
      receivers: [otlp, prometheus]
      processors: [batch]
      exporters: [prometheus]

向いているケース: OpenTelemetry標準・ベンダー非依存・将来性重視

選択ガイド

状況推奨
統合観測性・複雑な変換Vector
Kubernetes標準・超軽量Fluent Bit
OTel標準・ベンダー非依存OTel Collector

内部リンク

外部リソース

FAQ

Q. FluentdとFluent Bitはどう違いますか?

Fluentdはフル機能のRuby製コレクターでメモリを多く使います。Fluent BitはC言語で書かれた軽量版で、K8sのDaemonSetとして最適です。

Q. OpenTelemetryを使い始める場合、SDKとCollectorどちらから?

アプリケーションにSDKを組み込んでOTLPでCollectorに送るのが標準的なフローです。CollectorからベンダーのバックエンドへはCollectorで設定します。

Q. Vectorのバックプレッシャーとは何ですか?

下流(送信先)が遅くなったとき、上流の取り込みも自動的に遅くしてデータロスを防ぐ機能です。Kafkaのようなバッファリングも可能です。

Q. コンテナログをどのツールで集めるのが一般的ですか?

KubernetesではFluent Bitが最もシェアが高いです。OTel Collectorも急速に普及しています。

他の記事も読む

Let's Build Together

OSS導入、自社だけで悩まない。

ツール選定から構築・運用・AI活用まで、オープンソースラボ運営元のClasslessが伴走します。初回のご相談は無料です。