トップ OSS紹介 OpenTelemetry

OpenTelemetry

NRIのOpenstandiaが提供するOpenTelemetry最新情報

バージョンアップ情報

OpenTelemetry情報

OpenTelemetryとは

OpenTelemetryは、分散アプリケーションのトレーシングとメトリクス収集のための統一的な規格化とAPIを提供するオープンソースプロジェクトです。クラウドネイティブな環境では、刻一刻と変わる環境内部のアプリケーションやシステムの状態を監視し、情報を収集するObservability(可観測性)が重要になってきます。OpenTelemetryは、これらのシグナルの収集や送信を標準化し、効果的かつ統一的に行うことが可能です。
OpenTelemetryは、分散アプリケーションのトレーシングを提供するOpenTracingと、分散トレーシングとメトリクス収集を統合的に扱うことを目的としていたOpenCensusという2つのプロジェクトの統合によって2020年に発足したプロジェクトです。2021年には、CNCFプロジェクトの一部となり、多くの企業やコントリビューターの支援を受けながら、様々な言語やランタイムに対応するライブラリやエージェントが提供されるなど、プロジェクトは成長を続けています。

主な特徴

OpenTelemetryは以下のような特徴を備えています。

分散トレーシング

分散アプリケーション内の異なるコンポーネント間のリクエストフローを追跡し、それらのリクエストがどのように相互作用しているかを可視化します。これにより、ボトルネックや遅延の原因を特定してトラブルシューティングや最適化を行いやすくします。

メトリクス収集

アプリケーションのパフォーマンスデータやリソース利用率などのメトリクスを収集し、監視することが出来ます。
これにより、アプリケーションの健全性や効率性を評価し、必要に応じて対策を講じることが可能です。

ログ記録

アプリケーション内で発生するログメッセージを取集します。ログはエラーの特定やトラブルシューティングに不可欠な情報であり、OpenTelemetry はその収集と送信をサポートします。

インストルメンテーション

様々な言語で共通のインストルメンテーションを行うことが可能です。また、一部の言語では、自動的にインストルメンテーションを行う機能を提供しています。

API

OpenTelemetryAPIは様々なプログラミング言語に対して一貫したトレースデータやメトリクスデータの生成と収集をするためのインタフェースを提供します。これにより統一的にトレースとメトリクスを扱うことが可能です。

Collector

Collectorは、アプリケーションから収集されたトレースデータやメトリクスデータを受け取り、適切な処理をしてバックエンドに転送する役割を担います。また、Collectorはデータのフィルタ、変換、集約なども行います。

ユースケース

OpenTelemetryは、クラウドコンピューティングやマイクロサービス、分散システムのObservabilityを確保することを目的として利用されます。

動作環境

OpenTelemetryの主な動作環境を下記に記載します。

言語

  • C++
  • .NET
  • Erlang/Elixir
  • Go
  • Java
  • JavaScript
  • PHP
  • Python
  • Ruby
  • Rust
  • Swift

プラットフォーム

  • AWS
  • Google Cloud Platform
  • Microsoft Azure

OpenTelemetryのライセンス

OpenTelemetryのライセンスは、「Apacheライセンスバージョン2」(Apache License version2)というライセンスに基づいて公開され、営利、非営利を問わず、誰でも自由かつ無償で利用・改変・再配布できるようになっています。

オープンソース年間サポートサービス

OpenStandiaではOSSを安心してご利用いただけるように、オープンソース年間サポートサービスをご提供しております。
サポートしているOSSは下記ページをご参照ください。

お気軽にお問い合わせください

関連OSS

  • Prometheus
    サポート対象

    Prometheus

    プロメテウス。GO言語で書かれたオープンソースのモニタリングツールです。

  • Logstash

    Logstash

    ログスタッシュ。Elastic社により開発された、データ収集ツールです。

  • Jaeger

    Jaeger

    イエーガー。GoogleのDapperやOpenZipkinを参考にUber Technologies社によって開発され、その後オープンソース化されたGo言語の分散トレーシングシステムです。

  • Fluentd
    サポート対象

    Fluentd

    フルエントディ。様々なデバイスやシステムからログ収集を行い、NoSQLデータベースやテキストなど様々フォーマットに変換・格納するログコネクタです。

オープンソースに関する様々な課題、OpenStandiaがまるごと解決します。
下記コンテンツも
あわせてご確認ください。