SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

「OpenTelemetry」で始めるオブザーバビリティ入門

OpenTelemetry入門【実践編】~OpenTelemetry Collectorでテレメトリーデータを扱う~


  • X ポスト
  • このエントリーをはてなブックマークに追加

 この連載は、オブザーバビリティという言葉を聞いたことはあるが具体的なイメージを持っていないエンジニア向けにOpenTelemetryについて紹介するものです。概要理解から導入方法まで一通り理解いただける連載となります。第3回目は、テレメトリーデータの収集と送信のためのOpenTelemetry Collectorについて扱います。

  • X ポスト
  • このエントリーをはてなブックマークに追加

対象読者

 この連載では以下の読者を想定しています。

  • オブザーバビリティやOpenTelemetryに興味がある人
  • SREやDevOps、Platform Engineeringに取り組んでいるエンジニア
  • バックエンド開発者、クラウドエンジニア、インフラエンジニア

OpenTelemetryによるデータ収集

 前回まではオブザーバビリティとOpenTelemetryとの関係性(第一回)、そしてオブザーバビリティのためのテレメトリーデータ(第二回)について解説してきました。

 今回からは具体的なデータの取得方法について解説します。

 第一回で「OpenTelemetryはオブザーバビリティフレームワーク」と紹介しました。

 OpenTelemetryには、主にアプリケーションからトレースやメトリクスを取得するためのSDK、APIに加え、それらのデータやその他のメトリクスやログの収集、処理、送信を担うOpenTelemetry Collectorというコンポーネントが提供されています。

 今回はこのOpenTelemetry Collectorについて解説します。

OpenTelemetry Collectorとは

 OpenTelemetry Collector(以下、OTel Collector)は、Receiver、Processor、Exporterという3つの主要コンポーネントからなるテレメトリーデータのパイプラインを構成します。その他にもExtension、Connectorという拡張機能もあります。

 概念図は以下の通りです。さまざまなデータソースをReceiverで受信し、Processorで処理、Exporterでバックエンド(オブザーバビリティツールなど)に送信することができます。

https://opentelemetry.io/ja/docs/collector/
https://opentelemetry.io/ja/docs/collector/

OpenTelemetry Collectorのメリット

 何と言ってもテレメトリーデータの取得と送信がベンダー独自のデータモデルに縛られないことでしょう。

 つまりベンダーロックインの回避です。

 OTel Collectorを使うことでさまざまな事情によりオブザーバビリティツールを切り替えたい場合でも宛先を変更するだけで済みます。

 その他にもデータ処理の柔軟性も挙げられます。こちらも後ほど詳しく見ていきたいと思います。

 組織内のあらゆる環境のシステムにOTel Collectorに導入することでテレメトリーデータが標準化されエンジニア間のノウハウも共有可能になります。

 エージェントを探す旅はこれで終わるのです。

OpenTelemetry Collectorのパイプラインの構造

 各コンポーネントとパイプラインは設定ファイルのyamlで構成します。

 最もシンプルな例は以下の通りです。これはアプリから取得したトレースをOTLP(OpenTelemetry Protocol)で受信し、バックエンドへOTLPで送信する処理になっています。

receivers:
  otlp:
    protocols:
      grpc:

exporters:
  otlp:
    endpoint: <バックエンドのエンドポイント>

service:
  extensions: []
  pipelines:
    traces:
      receivers: [otlp]
      processors: []
      exporters: [otlp]

 それでは各コンポーネントにはどのようなものがあるでしょうか?

 次のページで簡単に見ていきたいと思います。

次のページ
OpenTelemetry Collectorのコンポーネント一覧

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
「OpenTelemetry」で始めるオブザーバビリティ入門連載記事一覧

もっと読む

この記事の著者

山村 悟史(Splunk Services Japan合同会社)(ヤマムラ サトシ)

 Splunk Services Japan合同会社でオブザーバビリティソリューションを担当するエンジニア。 アプリ、サーバー、ネットワーク、セキュリティ運用の経験をバックグランドにオブザーバビリティの布教やツール導入のコンサルティング活動を行う。

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/20081 2024/09/30 12:50

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング