PR

Obervability Conference 2022、OpenTelemetryの概要をGoogleのアドボケイトが解説

2022年5月24日(火)
松下 康之 - Yasuyuki Matsushita
Observability Conference 2022から、Googleのアドボケイトが行ったOpenTelemetry全般に関するセッションを紹介する。

Observability Conference 2022から、Googleのデベロッパーアドボケイトである山口 能迪氏がOpenTelemetryの歴史、概要、現状を解説する「OpenTelemetryのこれまでとこれから」と題されたセッションを紹介する。

動画:OpenTelemetryのこれまでとこれから

セッションを行う山口氏

セッションを行う山口氏

山口氏はOpenTelemetryやGo言語のコミュニティ活動を行っているエンジニアであるとともに、GoogleではオブザーバビリティやSRE(Site Reliability Engineering)を担当領域としてデベロッパー向け支援を行っている。40分の講演時間のうち、約半分の時間を使ってオブザーバビリティの基本、OpenTelemetryの生い立ちなどを解説した。

オブザーバビリティの基本は計装と送信

オブザーバビリティの基本は計装と送信

システムの動きを観測するためには、そのシステムの動きをデータとして取り込むための計装(インスツルメンテーション)とデータの送信(エクスポート)が必要と解説。そもそもテレメトリーとは遠隔測定法と日本語では解説されている通り、ある機械、装置に対して遠隔からデータを獲得することであり、人工衛星から原子力発電、はてはフォーミュラ1まで多くの産業、業界で使われている技術であり、コンピュータシステムにおいてもその歴史は古い。

そしてテレメトリーにおける要点としてインスツルメンテーション、エクスポートがテーマであるとして、主に3つの形態で実施されていることを紹介した。その3つとしてログ、メトリクス、分散トレーシングが挙げられており、これは現在のIT業界では定説と言えるだろう。

クラウドコンピューティングにおけるオブザーバビリティとしては、Googleが社内で利用するコンテナオーケストレーションツールでありKubernetesのベースとなったBORG、gRPCの元となったStubby、そしてBORGMONを紹介した。そしてその関連として分散トレースのためのDapper、Twitterが開発したZipkin、Uberが開発したJeager、BORGMONを参考にしてSoundCloudが開発したPrometheusなどについても紹介を行った。OpenCensusについては、Dapperのためのライブラリーをオープンソースにしたものだと説明した。この辺りはGoogle社内のエンジニアならでは情報と言えるだろう。

テレメトリーの要点を紹介

テレメトリーの要点を紹介

今回の焦点であるOpenTelemetryについて、アプリケーションからデータを取り込むためのライブラリーであるOTel Library、データを収集するOTel Collectorが対象となると説明。ここではバックエンドを受け持つ監視ツールは含まないと解説した。

OpenTelemetryのコンポーネント

OpenTelemetryのコンポーネント

またOpenTelemetryそのものについて「ログ、トレース、メトリクスの計装と送信の標準仕様、及びライブラリー群とエージェントを提供するプロジェクト」と定義している。

OpenTelemetryの定義

OpenTelemetryの定義

コンポーネントを説明したスライドでは標準仕様を定めるという部分が読み取れないため、ここではオープンソースプロジェクトとして標準を定める役割を担っていることを強調した形となった。

OpenMetricsとOpenCensusの経緯を説明

OpenMetricsとOpenCensusの経緯を説明

ここでOpenTelemetryの前身であるOpenMetricsとOpenCensusについても言及した。それぞれ個別のプロジェクトだったものが、コミュニティのリーダーたちの合議によってマージされることになったと語った。

OpenMetricsとOpenCensusのマージは2019年3月

OpenMetricsとOpenCensusのマージは2019年3月

2つのプロジェクトがマージされ、2019年に登場したOpenTelemetryだが、プロジェクトとしてはAPI、プログラミング言語から利用するためのSDK、そしてデータを送信するためのフォーマットであるOTLP(OpenTelemetry Protocol)に分けられている。ログ、メトリクス、トレーシングについての進捗を解説したのが次のスライドだ。

プロジェクトのステータスを解説

プロジェクトのステータスを解説

ここではトレーシング、メトリクス、そしてログについての現状が解説されている。また各プログラミング言語の対応などについても解説を行った。トレーシングと分散メトリクスについては元のプロジェクトであるOpenTracingとOpenCensusから引き継いでいるが、ログに関しては2021年1月にベンチャー企業であるObservIQからログ収集のエージェントであるStanzaの寄贈を受けたばかりであるためか、進捗が遅いことが分かる。StanzaはFluentdやFluent Bitの代替として開発されたログ収集エージェントであると公式GitHubには記載されており、今後の進捗に期待したい。

Stanza公式GitHub:https://github.com/observIQ/stanza

ここからはOpenTelemetryの内部の仕組みについて解説を行った。

OpenTelemetryのTracingの概要

OpenTelemetryのTracingの概要

またトレーシングの基本となるSpanやExporterなどについて図を用いて解説。ここでは分散されたサービスがバックエンドにデータを送信する概要が説明された。

分散トレーシングの概要

分散トレーシングの概要

メトリクスについてもExporterやMeterProviderなどのコンポーネントについて概要を説明。

OpenTelemetryのMetricsの概要

OpenTelemetryのMetricsの概要

特にメトリクスのタイプであるCount(カウント)とGuage(ゲージ)の具体的な違いについて解説した。一定時間内でのデータの件数をカウントする場合と、データの値の変化に注目する場合などについて説明を行った(GuageはGaugeのタイポと思われるが、スライドの記述のままとした)。

CountとGuageの違いを解説

CountとGuageの違いを解説

最後のログについては、ログだけに注目するのではなくトレーシングと連携した形でログを利用することが必要だとして、時間などのデータに加えてトレーシングのIDを含む形のログデータが検討されていることを紹介。オブザーバビリティの基本であるログとトレーシング、メトリクスが連携することの必要性を説明した。

OpenTelemetryのLogsの概要

OpenTelemetryのLogsの概要

またGoogleが企画しているオンラインカンファレンスでより詳細なOpenTelemetryの情報が公開されるとして、カンファレンスへの参加を促した。OpenTelemetryに特化したGoogle OpenSource Liveについては以下を参照されたい。

OpenTelemetry Day on Google Open Source Live

OpenTelemetryの生い立ちや他のオープンソースソフトウェアとの関係など、Google社内の情報にアクセスできるエンジニアならではの情報が含まれたセッションとなった。Googleのオンラインカンファレンスで、より詳細な開発方法などを学ぶためのイントロダクションと言ったところだろう。過去のKubeCon等で発表されたOpenTelemetry関連のセッションについては以下の記事を参照されたい。

OpenTelemetry関連記事:ベンダーニュートラルな可視化ツールOpenTelemetryの最新情報を紹介

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

運用・管理イベント
第6回

Observability Conference 2022、利用者目線のオブザーバビリティ実装をドコモのSREが解説

2022/6/21
Observability Conference 2022から、利用者目線でのオブザーバビリティをドコモのSREが解説したセッションを紹介する。
運用・管理イベント
第5回

Observability Conference 2022、Splunkのエンジニアが説明するOpenTelemetryの入門編

2022/6/15
Observability Conference 2022から、Splunkのエンジニアが解説するOpenTelemetryの入門編を紹介する。
運用・管理イベント
第4回

Observability Conference 2022、日本ユニシスのエンジニアが解説するデベロッパーにとってのオブザーバビリティ

2022/6/2
Observability Conference 2022から、デベロッパー目線でオブザーバビリティを解説するセッションを紹介する。

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています