| 開発元 | OpenTelemetry Authors / Cloud Native Computing Foundation |
|---|---|
| 初版 | 2019年5月 |
| リポジトリ |
github |
| プログラミング 言語 | 多言語 (言語ごとに API・SDK を提供) |
| 対応OS | クロスプラットフォーム |
| 種別 | オブザーバビリティ用計装フレームワーク |
| ライセンス | Apache License 2.0 |
| 公式サイト |
opentelemetry |
OpenTelemetry(オープンテレメトリー、略称: OTel)は、ソフトウェアシステムのオブザーバビリティ(可観測性)を実現するために、テレメトリーデータ(動作中のシステムから得られるトレース・メトリクス・ログなどの計測データ)の生成・収集・処理・エクスポート(外部への送出)を標準化するオープンソースの計装フレームワークである。ここでいう計装(instrumentation)とは、アプリケーションの動作を計測するためのコードやライブラリをソフトウェアに組み込むことを指す。
特定の監視ベンダーに依存しない(ベンダーニュートラルな)単一の標準を提供することが特徴で、利用者は監視・分析ツールを乗り換える際にアプリケーション側の計装コードを書き直す必要がなくなる。Cloud Native Computing Foundation(CNCF)がホストするプロジェクトであり、2019年に先行プロジェクトのOpenTracingとOpenCensusの統合により発足した。2026年5月にはCNCFの成熟度区分の最上位である「Graduated」(卒業)に認定された。
OpenTelemetryの前身は、いずれも分散システムの計装を目的とした2つのオープンソースプロジェクトである。OpenTracingは分散トレーシング用のAPIを標準化するプロジェクトで、2016年10月にCNCFへ受け入れられた。OpenCensusはGoogleが社内の計測ライブラリを基に2018年1月にオープンソース化したもので、メトリクス収集と分散トレーシングの両方を扱った。両者は目的が重なる競合プロジェクトであり、利用者やライブラリ開発者がどちらを選ぶべきかという分断を生んでいた。
2019年5月、両プロジェクトを統合した新プロジェクトとしてOpenTelemetryが発表され、同年5月7日にCNCFのプロジェクトとして受け入れられた。統合の目標は、トレース・メトリクス等のテレメトリーデータについて高品質で移植性の高い単一の計装手段を提供することとされた。OpenTracingは役割をOpenTelemetryへ引き継ぎ、2021年8月にCNCFのアーカイブ(活動終了)プロジェクトとなった。
分散トレーシングの文脈情報(トレースコンテキスト)をサービス間で受け渡すためのHTTPヘッダー形式は、World Wide Web Consortium(W3C)が勧告「Trace Context」として標準化しており、OpenTelemetryは既定のコンテキスト伝搬方式としてこのW3C Trace Contextを採用している。
2021年2月には仕様のバージョン1.0.0が公開され、トレースに関する仕様が安定版となった。同年8月26日、CNCFの成熟度区分で「Incubating」(インキュベーティング)に昇格した。その後、トレースに加えてメトリクス・ログの仕様も安定版に到達している。
2026年5月、CNCFはOpenTelemetryが成熟度区分の最上位である「Graduated」(卒業)に達したと発表した。CNCFはこの時点で、プロジェクト発足以来2,800社を超える企業から12,000人超のコントリビューター(貢献者)が参加したとしている。@ITは、OpenTelemetryがCNCFの240超のプロジェクトの中でKubernetesに次ぐ2番目に高いプロジェクトベロシティー(開発活動の勢い)を達成し、異例の速さで卒業に至ったと報じた。
OpenTelemetryはシグナル(信号)と呼ばれる単位でテレメトリーデータを扱う。主要なシグナルは、リクエストが複数のサービスをまたいで処理される経路を記録するトレース、システムの状態を数値として測るメトリクス、出来事の記録であるログの3種類である。各シグナルは次の共通コンポーネントの上に構築される。
このほか、テレメトリーデータの名前や属性の付け方を統一するセマンティック規約(semantic conventions)や、コードを書き換えずに計装を有効化する自動計装(ゼロコード計装)の仕組みが提供される。
OpenTelemetryのAPI・SDKは多数のプログラミング言語向けに開発されている。公式ドキュメントにはC++・C#/.NET・Erlang/Elixir・Go・Java・JavaScript・PHP・Python・Ruby・Rust・Swift等の実装が掲載されている。成熟度は言語とシグナルの組み合わせごとに異なり、2026年8月時点でJava・C++・C#/.NET・PHPはトレース・メトリクス・ログの3シグナル全てが安定版である一方、Goのログ対応はベータ版であるなど差がある。
主要な監視・オブザーバビリティ製品の多くがOpenTelemetryによるデータの取り込みに対応している。
DatadogはOpenTelemetryと自社製品の相互運用を複数の経路で提供しており、Datadog AgentはOTLPによるトレース・メトリクスの直接取り込みに対応するほか、OpenTelemetry CollectorからDatadogへデータを送出するDatadog Exporterを提供する。また、同社の計装ライブラリ(Datadog SDK)はOpenTelemetry APIによる計装の取り込みに対応する。
このほか、Amazon Web Servicesはディストリビューション「AWS Distro for OpenTelemetry」を提供し、Google CloudはGoogle Cloud ObservabilityでのOTLP受信に対応、AzureはAzure Monitor Application InsightsでOpenTelemetryを利用できる。New Relic・Dynatrace・Grafana Labsなども自社製品でのOpenTelemetry対応を提供している。
CNCFは2026年5月の卒業発表で、OpenTelemetryを「事実上のオブザーバビリティ標準」(de facto observability standard)と位置付けた。@ITによれば、直近12か月のJavaScript版APIパッケージのダウンロード数は13億6,000万回以上、Python版は13億回以上に達し、2026年4月にはいずれも月間最多記録を更新した。
日本語圏でも、技術メディアによる解説記事や技術カンファレンスのレポートが継続的に公開されているほか、オブザーバビリティの解説書でも取り上げられている。