「OpenTelemetry」とは――「Observability」(可観測性:オブザーバビリティ)とテレメトリーの基礎知識Cloud Nativeチートシート(24)

Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する連載。今回は、ObservabilityとOpenTelemetryについて、概要や使い方を簡単に紹介する。

» 2023年02月06日 05時00分 公開
[逆井啓佑, 岡本隆史, 正野勇嗣株式会社NTTデータ]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Kubernetesやクラウドネイティブをより便利に利用する技術やツールの概要、使い方を凝縮して紹介する本連載「Cloud Nativeチートシート」。今回は、ObservabilityとOpenTelemetryについて、概要や使い方を簡単に紹介します。

「OpenTelemetry」とは

 劇的な勝利を収めたFIFAワールドカップカタール2022 日本対スペイン戦。肉眼では到底捉え切ることができなかった、ビデオアシスタントレフェリー(VAR)による勝利を裏付ける1枚の写真が全世界で注目されたことは記憶に新しいですね。

 クラウドネイティブなシステムも動的に変化を続けています。プラットフォームには回復力や管理力、自動化といった特徴が備えられているからです。刻一刻と変わり続ける環境において「Observability」(可観測性:オブザーバビリティ)は重要な概念です。

 OpenTelemetryは、Observabilityには欠くことができない、システムの状態を示すさまざまなシグナル(ログやCPU、メモリなどのメトリクス)の収集や送信を標準化する、Cloud Native Computing Foundation(CNCF)プロジェクトです。

Observabilityとテレメトリー

 Observabilityは、システムの状態を可視化するさまざまなシグナル「テレメトリー」によって実現されます。Observabilityを考える上で、各テレメトリーについて理解することが重要です。

テレメトリー

 テレメトリーについてはObservabilityの3本柱として「ログ」「トレース」「メトリクス」が有名です。「CNCF TAG Observability」のホワイトペーパーでは現在、「プロファイル」「ダンプ」も含めて「Primary Signals」と呼んでいます。

 本稿では、基本となる「ログ」「トレース」「メトリクス」に着目し、テレメトリーやその収集方法について簡単に説明します。

  • ログ
    アプリやサーバで発生している個別のイベント(エラーログ、アクセスログなど)
  • トレース
    複数コンポーネントにまたがるリクエスト全体の流れ、依存関係の情報
  • メトリクス
    サーバのリソース状況(CPU使用率など)やサービス状況(レイテンシ、トランザクション量、エラーレートなど)といった、特定の時間間隔で測定された数値データ

 テレメトリーの詳細については、本連載第13回で詳しく解説しているので併せてご覧ください。

 これらのテレメトリー情報を収集し、可視化、解析することでシステムの状態を観測できます。

テレメトリー取得の課題とOpenTelemetry

 ここからは下図を見ながら、OpenTelemetryを利用しない場合(左:Separate Collection)と、利用した場合(右:OpenTelemetry Collection)を比較しながら、テレメトリー取得の課題とOpenTelemetryの特徴を紹介します。

出典:OpenTelemetry Docsの「Limitations of non-OpenTelemetry Solutions」(左図)と「OpenTelemetry Solution」(右図)

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。