Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
OpenTelemetry実践 はじめの一歩
Search
taxin
March 25, 2024
Technology
3.5k
0
Share
OpenTelemetry実践 はじめの一歩
taxin
March 25, 2024
More Decks by taxin
See All by taxin
Mackerelにおけるインシデント対応とポストモーテム - 現場での工夫と学び
taxin
0
180
監視SaaSの運用におけるObservability改善の歩み
taxin
4
6.1k
ポストモーテム読書会のすすめ
taxin
1
3k
カスタムダッシュボードの活用方法とMackerel開発チームでの実践例
taxin
0
1.9k
SREを「続けていく」あなたへ
taxin
1
390
Cloud runユーザーから見たk8s
taxin
0
940
ローカルk8s環境のススメ / k8s-tools-for-local
taxin
0
1.3k
EKS 101
taxin
0
1k
Other Decks in Technology
See All in Technology
Oracle AI Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
6
1.4k
ふりかえりがなかった職能横断チームにふりかえりを導入してみて学んだこと 〜チームのふりかえりを「みんなで未来を考える場」にするプロローグ設計〜
masahiro1214shimokawa
0
330
数案件を同時に進行するためのコンテキスト整理術
sutetotanuki
1
110
ASTのGitHub CopilotとCopilot CLIの現在地をお話しします/How AST Operates GitHub Copilot and Copilot CLI
aeonpeople
1
210
Proxmox超入門
devops_vtj
0
160
Kubernetes基盤における開発者体験 とセキュリティの両⽴ / Balancing developer experience and security in a Kubernetes-based environment
chmikata
0
220
暗黙知について一歩踏み込んで考える - 暗黙知の4タイプと暗黙考・暗黙動へ
masayamoriofficial
0
1.1k
Claude Teamプランの選定と、できること/できないこと
rfdnxbro
1
1.9k
Babylon.js を使って試した色々な内容 / Various things I tried using Babylon.js / Babylon.js 勉強会 vol.5
you
PRO
0
270
バックオフィスPJのPjMをコーポレートITが担うとうまくいく3つの理由
yueda256
1
300
試されDATA SAPPORO [LT]Claude Codeで「ゆっくりデータ分析」
ishikawa_satoru
0
340
プロンプトエンジニアリングを超えて:自由と統制のあいだでつくる Platform × Context Engineering
yuriemori
0
150
Featured
See All Featured
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
120
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.4k
Test your architecture with Archunit
thirion
1
2.2k
The SEO identity crisis: Don't let AI make you average
varn
0
440
Optimizing for Happiness
mojombo
378
71k
Producing Creativity
orderedlist
PRO
348
40k
brightonSEO & MeasureFest 2025 - Christian Goodrich - Winning strategies for Black Friday CRO & PPC
cargoodrich
3
670
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Facilitating Awesome Meetings
lara
57
6.8k
The Spectacular Lies of Maps
axbom
PRO
1
680
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
220
AI Search: Implications for SEO and How to Move Forward - #ShenzhenSEOConference
aleyda
1
1.2k
Transcript
OpenTelemetry実践 はじめの一歩 id:taxintt / @taxin_tt 2024/03/25 OpenTelemetry Casual Talk 1
自己紹介 • 西川 拓志 ◦ id: taxintt / @taxin_tt •
Mackerel開発チーム SRE 2
今日の話 • OpenTelemetry 入門 • 自社サービスでのOpenTelemetry実践について ◦ OpenTelemetry 導入の進め方 ◦
導入にあたっての考慮事項 3
4 1.OpenTelemetry 入門
OpenTelemetryとは? • テレメトリデータの計装・収集の標準化を 目的としたプロジェクト ◦ e.g.) Log, Trace, Metric •
特定のベンダーに依存しないAPI、SDK、 ツール群を提供している 5
6 🧐
OpenTelemetry “以前” の世界 • シンプルで少ないコンポーネントで構成 されたシステム • Known-unknowns ◦ 既知の
(もしくは予期できる) 問題に対して 監視を設定していた 7
世界の変化 • ビジネス要件の複雑化に比例して、システム / アプリケーションの複雑度が高まる • “Unknown”-unknowns ◦ 未知の (予期できない)
問題に向き合う必要がある 8
世界の変化 9 https://blog.twitter.com/engineering/en_us/a/2013/observability-at-twitter
OpenTelemetry のコンセプト • make a system observable ◦ システムの内部状態を理解・把握する能力 =
Observability ◦ 「動いている / 動いていない」 ◦ 「何がどのように動いてるのか」 テレメトリを活用しObservabilityを高める 10
OpenTelemetry のコンセプト • “Unknown”-unknownsへの対応 ◦ システムの内部状態を表現するテレメトリデータを 生成すること= 計装 (Instrumentation) ◦
「どう動いている」がわかると未知の事象に対する 解像度があがる テレメトリを計装し内部状態を表現する 11
OpenTelemetry のコンセプト 12 https://opentelemetry.io/docs/what-is-opentelemetry/#what-is-observability
OpenTelemetry のコンセプト • vendor-neutral ◦ テレメトリごとに仕様が定義 ▪ ツールごとに異なるフォーマットのデータを突き合わせて... みたいなことを避けられる ◦
学習コストも抑えられる 共通フォーマットのテレメトリを扱う 13
14 「勘と経験」 から脱却する
OpenTelemetry のコンセプト 15 https://opentelemetry.io/community/mission/
16 2.自社サービスでの OpenTelemetry実践について
概要 • MackerelではOTel対応を進めています ◦ Mackerel = テレメトリ (Metric) の送信先の一つ •
社内検証(dogfooding)の一環でブックマーク チームのシステムにOTelを導入する ◦ ブックマークチームのSREと共同で実施 17
18 OpenTelemetry 導入の進め方
OpenTelemetry 導入の進め方 • 小さく実装のサイクルを回す ◦ 監視 ≠ Observability ▪ 「既存のアラート設定をただ移行する」では不十分
◦ 最小構成でOTelの登場人物や全体像を把握する ▪ 初手でテレメトリ送信のための仕組みを整備する ▪ その上で、計装やテレメトリ間の連携に 19
OpenTelemetry 導入の進め方 • 実際の進め方 ◦ 1. 事前準備 ▪ テレメトリの取得対象であるシステムの確認 ▪
テレメトリの取得方法を決める ▪ OpenTelemetry Collector / maprobeのデプロイ (ECS sidecar / stand-alone) ◦ 2. テレメトリデータ (Metric) の確認 ◦ 3. アラート・ダッシュボードの作成 20
21 https://opentelemetry.io/docs/
OpenTelemetry Collector • データの受信、加工、送信を行うproxy ◦ アプリケーションはCollectorにデータを送る = 送信先を意識せずに済む ◦ コンテナとしてデプロイもできるので、ECSなら
sidecar構成にできる 22
23
24 導入にあたっての考慮事項
導入にあたっての考慮事項 • とにかく小さく始める ◦ 小さく始めるための方法を調べる ▪ OpenTelemetry Collector (w/ ECS
sidecar) ▪ 自動計装 (Auto Instrumentation) ◦ 徐々にテレメトリでカバーする範囲を増やす ▪ Collectorで取得するMetricを増やす → receiverを調べる 25
自動計装 (Auto Instrumentation) • 自動計装用の Java-Agent を導入 ◦ アプリケーションを触らずに、response timeやDB
へのクエリ時間、 JVMの情報などを計装できた 26
receiver • テレメトリデータを 受信するためのコン ポーネント e.g.) OTLP receiver, awsecscontainermetr ics,
redis, mysql etc… 27
28 OpenTelemetry導入後の変化
導入後の変化 • 原因調査が低コストで解像度高くできる ◦ ラベルを利用した絞り込み、集計ができる ▪ e.g.) request path, zone
etc… ◦ 「どのリクエストがどう遅いか」のような粒度で見れる ▪ ALBのログをAthenaでクエリ叩かなくても良い ◦ 逆にラベルの数が多く、有用なラベルを見つけて絞る際 には苦労した 29
実践できていないこと • Traceなど他のテレメトリも計装する ◦ “connect metrics to other signals” •
OTel Collectorも自前でビルドしたい ◦ ref: OpenTelemetry Collector Antipatterns • OTel Collector自体の監視も考える必要がある 30
31 終わり (OTelの実践は続く)