OpenTelemetryとは?分散トレーシングの標準を初心者向けに解説【2026年版】
オープンソースラボ編集部 ・ 2026年6月13日
「マイクロサービスのどこで遅延が発生しているか分からない」——この問題を解決するのが**OpenTelemetry(OTel)**です。本記事でOTelの基礎から実装まで初心者向けに解説します。
OpenTelemetryとは
OpenTelemetryはメトリクス・ログ・トレース(可観測性の三本柱)を収集・送信するためのオープンスタンダードです。Cloud Native Computing Foundation(CNCF)管理プロジェクトで、2026年現在ほぼすべての主要クラウド・APMベンダーが対応しています。
三本柱の違い
| シグナル | 内容 | 例 |
|---|---|---|
| トレース | リクエストの処理経路を可視化 | APIがDB・キャッシュを叩く順序・時間 |
| メトリクス | 時系列の数値データ | レイテンシp99、エラー率、スループット |
| ログ | タイムスタンプ付きテキストイベント | エラースタックトレース、アクセスログ |
OTelのアーキテクチャ
[アプリ]
└── OTel SDK(計装)
└── OTel Collector(集約・変換)
├── Prometheus(メトリクス保存)
├── Grafana Tempo(トレース保存)
└── Grafana Loki(ログ保存)
└── [Grafana](/tools/grafana)(ダッシュボード・クエリ)
Pythonアプリへの計装(自動・手動)
自動計装(コード変更ゼロ)
pip install opentelemetry-distro opentelemetry-exporter-otlp
opentelemetry-bootstrap -a install
# 実行時に計装を注入
opentelemetry-instrument \
--traces_exporter otlp \
--exporter_otlp_endpoint localhost:4317 \
python app.py
手動計装(詳細なスパン追加)
from opentelemetry import trace
tracer = trace.get_tracer(__name__)
def process_payment(order_id: str):
with tracer.start_as_current_span("process_payment") as span:
span.set_attribute("order.id", order_id)
span.set_attribute("payment.method", "credit_card")
# 決済処理
result = charge_card()
span.set_attribute("payment.success", result.ok)
return result
Prometheusでメトリクスを収集し、Grafanaで可視化するフルスタック構成が標準です。DevOps関連OSSはDevOpsカテゴリから探せます。
OTel Collector の設定例
# otel-collector-config.yaml
receivers:
otlp:
protocols:
grpc:
endpoint: 0.0.0.0:4317
http:
endpoint: 0.0.0.0:4318
exporters:
prometheus:
endpoint: "0.0.0.0:8889"
logging:
loglevel: debug
service:
pipelines:
traces:
receivers: [otlp]
exporters: [logging]
metrics:
receivers: [otlp]
exporters: [prometheus]
詳細はOpenTelemetry公式ドキュメント↗を参照。
まとめ
OpenTelemetryはベンダーロックインなしの可観測性標準です。SDKを一度導入すれば、バックエンドをDatadog→Grafana等に切り替えても計装コードを変えなくて済みます。まず自動計装から試してみてください。
よくある質問(FAQ)
Q. OpenTracingやOpenCensusとの違いは?
OpenTelemetryはOpenTracingとOpenCensusを統合・後継するプロジェクトです。2026年現在、OpenTracing・OpenCensusは非推奨でOTelへの移行が推奨されています。
Q. DatadogやNew RelicでもOTelは使えますか?
はい。DatadogもNew RelicもOTLPプロトコルを受け入れています。OTel SDKでの計装→DatadogにOTLP送信、という構成で使えます。
Q. パフォーマンスへの影響はありますか?
サンプリングを適切に設定すれば本番オーバーヘッドは1%未満です。全トレースを100%記録すると負荷増になるため、テールサンプリングで重要トレースのみ保存する運用が一般的です。
関連リンク・公式情報
ここで紹介したツールの一次情報(公式サイト・ソースコード)と、オープンソースラボ内の関連ページをまとめました。導入検討の際にご活用ください。
公式サイト・ソースコード(外部リンク)
オープンソースラボの関連ページ(内部リンク)

