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
0
3.4k
OpenTelemetry実践 はじめの一歩
taxin
March 25, 2024
Tweet
Share
More Decks by taxin
See All by taxin
Mackerelにおけるインシデント対応とポストモーテム - 現場での工夫と学び
taxin
0
170
監視SaaSの運用におけるObservability改善の歩み
taxin
4
6k
ポストモーテム読書会のすすめ
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
形式手法特論:SMT ソルバで解く認可ポリシの静的解析 #kernelvm / Kernel VM Study Tsukuba No3
ytaka23
1
790
Agent Skill 是什麼?對軟體產業帶來的變化
appleboy
0
230
スピンアウト講座06_認証系(API-OAuth-MCP)入門
overflowinc
0
1.1k
Phase03_ドキュメント管理
overflowinc
0
2.5k
「お金で解決」が全てではない!大規模WebアプリのCI高速化 #phperkaigi
stefafafan
5
2.3k
Phase05_ClaudeCode入門
overflowinc
0
2.1k
Phase12_総括_自走化
overflowinc
0
1.5k
How to install a gem
indirect
0
1.4k
20260323_データ分析基盤でGeminiを使う話
1210yuichi0
0
180
Phase08_クイックウィン実装
overflowinc
0
1.7k
BFCacheを活用して無限スクロールのUX を改善した話
apple_yagi
0
120
俺の/私の最強アーキテクチャ決定戦開催 ― チームで新しいアーキテクチャに適合していくために / 20260322 Naoki Takahashi
shift_evolve
PRO
1
440
Featured
See All Featured
What Being in a Rock Band Can Teach Us About Real World SEO
427marketing
0
200
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
0
170
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.5k
The Limits of Empathy - UXLibs8
cassininazir
1
270
A better future with KSS
kneath
240
18k
Code Reviewing Like a Champion
maltzj
528
40k
Ten Tips & Tricks for a 🌱 transition
stuffmc
0
91
The untapped power of vector embeddings
frankvandijk
2
1.6k
End of SEO as We Know It (SMX Advanced Version)
ipullrank
3
4.1k
Principles of Awesome APIs and How to Build Them.
keavy
128
17k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Mobile First: as difficult as doing things right
swwweet
225
10k
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の実践は続く)