Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OpenTelemetry実践 はじめの一歩

taxin
March 25, 2024

OpenTelemetry実践 はじめの一歩

taxin

March 25, 2024
Tweet

More Decks by taxin

Other Decks in Technology

Transcript

  1. OpenTelemetry のコンセプト • make a system observable ◦ システムの内部状態を理解・把握する能力 =

    Observability ◦ 󰢄「動いている / 動いていない」 ◦ 󰢐「何がどのように動いてるのか」 テレメトリを活用しObservabilityを高める 10
  2. OpenTelemetry のコンセプト • “Unknown”-unknownsへの対応 ◦ システムの内部状態を表現するテレメトリデータを 生成すること= 計装 (Instrumentation) ◦

    「どう動いている」がわかると未知の事象に対する 解像度があがる テレメトリを計装し内部状態を表現する 11
  3. 概要 • MackerelではOTel対応を進めています ◦ Mackerel = テレメトリ (Metric) の送信先の一つ •

    社内検証(dogfooding)の一環でブックマーク チームのシステムにOTelを導入する ◦ ブックマークチームのSREと共同で実施 17
  4. OpenTelemetry 導入の進め方 • 小さく実装のサイクルを回す ◦ 監視 ≠ Observability ▪ 「既存のアラート設定をただ移行する」では不十分

    ◦ 最小構成でOTelの登場人物や全体像を把握する ▪ 初手でテレメトリ送信のための仕組みを整備する ▪ その上で、計装やテレメトリ間の連携に 19
  5. OpenTelemetry 導入の進め方 • 実際の進め方 ◦ 1. 事前準備 ▪ テレメトリの取得対象であるシステムの確認 ▪

    テレメトリの取得方法を決める ▪ OpenTelemetry Collector / maprobeのデプロイ (ECS sidecar / stand-alone) ◦ 2. テレメトリデータ (Metric) の確認 ◦ 3. アラート・ダッシュボードの作成 20
  6. 23

  7. 導入にあたっての考慮事項 • とにかく小さく始める ◦ 小さく始めるための方法を調べる ▪ OpenTelemetry Collector (w/ ECS

    sidecar) ▪ 自動計装 (Auto Instrumentation) ◦ 徐々にテレメトリでカバーする範囲を増やす ▪ Collectorで取得するMetricを増やす → receiverを調べる 25
  8. 導入後の変化 • 原因調査が低コストで解像度高くできる ◦ ラベルを利用した絞り込み、集計ができる ▪ e.g.) request path, zone

    etc… ◦ 「どのリクエストがどう遅いか」のような粒度で見れる ▪ ALBのログをAthenaでクエリ叩かなくても良い ◦ 逆にラベルの数が多く、有用なラベルを見つけて絞る際 には苦労した 29
  9. 実践できていないこと • Traceなど他のテレメトリも計装する ◦ “connect metrics to other signals” •

    OTel Collectorも自前でビルドしたい ◦ ref: OpenTelemetry Collector Antipatterns • OTel Collector自体の監視も考える必要がある 30