クラウド
上級

OpenTelemetry (OTel・2019)(オープンテレメトリ)

CNCF 2019年公開のObservability 統一規格。OpenCensus + OpenTracing 統合、Traces / Metrics / Logs を統一APIで収集、ベンダロックイン回避の業界標準。

0 回閲覧
0 いいね
2026/5/15 更新
関連タグ
Observability
OpenTelemetry
CNCF

概要

OpenTelemetry (OTel) はCNCF (Cloud Native Computing Foundation) が2019年5月にOpenCensus (Google 2017) + OpenTracing (CNCF 2016) を統合して公開したObservability 統一規格。Traces (分散トレーシング) / Metrics (時系列) / Logs (ログ) の3 Pillars を統一APIで収集する規格 + SDK・Collector (OTLP プロトコル)・OTel-Collector (中継 / 加工)。Datadog / New Relic / Honeycomb / Grafana / AWS X-Ray / Azure Monitor 等の主要Observability 製品が対応、ベンダロックイン回避でObservability の業界標準に。

OpenTelemetry 主要マイルストーン

年月出来事
2016OpenTracing (CNCF) 公開
2017OpenCensus (Google) 公開
2019-05両者合併 → OpenTelemetry 発表
2021-02OpenTelemetry Tracing 1.0
2021-12OpenTelemetry Metrics 1.0
2023-05OpenTelemetry Logs 1.0
2023-11CNCF Incubating → Graduated (2024-09 議論中)
2024OTel Profile Signal Working Group

3 Pillars of Observability

Signal内容
Traces分散トレーシング (Request flow 跨ぎ Service)
Metrics時系列メトリクス (CPU / Memory / Latency)
Logsログイベント (構造化 / 非構造化)
Profiles (将来)CPU/Memory プロファイル

OTel は全Signal を統一API で扱える唯一の規格。

OpenTelemetry コンポーネント

コンポーネント役割
API言語別Standard API
SDKAPI 実装 (Auto-instrumentation 含)
Auto-instrumentationライブラリ自動計測 (Java Agent / Python等)
CollectorOTel-Collector (中継 / 加工 / Export)
OTLPOTLP Protocol (Wire Format・gRPC/HTTP)
Semantic ConventionsStandard Attribute 名 (http.url 等)
ExportersBackend 別出力 (Jaeger / Zipkin / Prometheus / Datadog等)

OTLP (OpenTelemetry Protocol)

OTel データの転送プロトコル:

  • gRPC / HTTP/Protobuf / HTTP/JSON
  • Trace / Metric / Log 全Signal 対応
  • Protobuf スキーマ統一
  • Streaming 対応
  • 2021年安定化

サポート言語 (Auto-instrumentation)

言語サポート
Java◎ Auto-Agent (-javaagent)
Python◎ opentelemetry-bootstrap
Node.js◎ Auto-instrumentation Library
Go◎ (Manual + 限定Auto)
Rust◎
C++◎
C# / .NET◎ Auto-instrumentation
Ruby◎
PHP◎
Swift◎
JavaScript (Browser)Beta

主要 Backend 対応

BackendOTel サポート
Jaeger◎
Zipkin◎
Prometheus (Metrics)◎
Grafana Tempo◎
Grafana Mimir◎
Grafana Loki◎
Datadog◎
New Relic◎
Honeycomb◎
Lightstep / ServiceNow◎
AWS X-Ray◎
Azure Monitor◎
Google Cloud Trace◎
Elastic APM◎
Dynatrace◎
Splunk◎

ほぼ全Observability 製品がOTLP 受信対応・既存資産活用可能。

Auto-Instrumentation 例 (Java)

# Java Agent ダウンロード
wget https://github.com/open-telemetry/opentelemetry-java-instrumentation/releases/latest/download/opentelemetry-javaagent.jar

# JVM オプションで起動
java -javaagent:opentelemetry-javaagent.jar \
     -Dotel.service.name=my-service \
     -Dotel.exporter.otlp.endpoint=http://collector:4317 \
     -jar my-app.jar

コード変更不要・Spring / HTTP Client / DB Client 等の主要ライブラリを自動計測。

OTel Collector アーキテクチャ

[Application]
   ↓ OTLP
[OTel Collector]
   ├── Receivers: OTLP / Jaeger / Zipkin / Prometheus
   ├── Processors: Batch / Attribute / Filter / Sampling
   └── Exporters: Datadog / NewRelic / Grafana / etc

中央Collector で:

  • 認証 / 暗号化
  • データ加工 (PII Masking)
  • Sampling (大量Trace から1%抜粋)
  • Multi-Backend 並列送信
  • バッファリング (Backend 障害時)

Semantic Conventions

OTel の Attribute Naming 規約 (Standard 化):

http.url, http.method, http.status_code
db.system, db.statement
messaging.system, messaging.destination
service.name, service.version
host.name, host.arch, os.type

ベンダ間で Attribute 名統一・Dashboard / Query 共通化。

関連用語との違い

  • vs OpenTracing / OpenCensus: 統合後継
  • vs Datadog APM / New Relic: OSS 規格 / 商用製品
  • vs Jaeger / Zipkin: Tracing 実装 / 規格

FAQ

Q1: OTel + Prometheus? A: OTel Metrics を Prometheus と互換に出力可・「OTel SDK で計装 + Prometheus 形式でExport」が一般的構成。

Q2: 既存Jaeger / Zipkin 移行? A: OTel Collector で「Jaeger / Zipkin Receiver」を有効化・既存資産をそのままOTel エコシステム内で活用可。

Q3: Datadog / New Relic 投資保護? A: OTel SDK で計装 → OTLP で送信 → Datadog / New Relic 受信。将来ベンダ切替時もコード変更不要・ベンダロックイン解消。

この記事について
カテゴリークラウド
難易度上級
作成日2026/5/15