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
2.4k
OpenTelemetry実践 はじめの一歩
taxin
March 25, 2024
Tweet
Share
More Decks by taxin
See All by taxin
ポストモーテム読書会のすすめ
taxin
1
1.7k
カスタムダッシュボードの活用方法とMackerel開発チームでの実践例
taxin
0
1.3k
SREを「続けていく」あなたへ
taxin
1
330
Cloud runユーザーから見たk8s
taxin
0
850
ローカルk8s環境のススメ / k8s-tools-for-local
taxin
0
1.1k
EKS 101
taxin
0
880
Other Decks in Technology
See All in Technology
成果を出しながら成長する、アウトプット駆動のキャッチアップ術 / Output-driven catch-up techniques to grow while producing results
aiandrox
0
220
Turing × atmaCup #18 - 1st Place Solution
hakubishin3
0
470
フロントエンド設計にモブ設計を導入してみた / 20241212_cloudsign_TechFrontMeetup
bengo4com
0
1.9k
C++26 エラー性動作
faithandbrave
2
700
Wvlet: A New Flow-Style Query Language For Functional Data Modeling and Interactive Data Analysis - Trino Summit 2024
xerial
1
110
Wantedly での Datadog 活用事例
bgpat
1
430
コンテナセキュリティのためのLandlock入門
nullpo_head
2
320
TSKaigi 2024 の登壇から広がったコミュニティ活動について
tsukuha
0
160
kargoの魅力について伝える
magisystem0408
0
200
新機能VPCリソースエンドポイント機能検証から得られた考察
duelist2020jp
0
220
サイボウズフロントエンドエキスパートチームについて / FrontendExpert Team
cybozuinsideout
PRO
5
38k
サービスでLLMを採用したばっかりに振り回され続けたこの一年のあれやこれや
segavvy
2
390
Featured
See All Featured
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Art, The Web, and Tiny UX
lynnandtonic
298
20k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
2
290
Thoughts on Productivity
jonyablonski
67
4.4k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
38
1.9k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
8
1.2k
Become a Pro
speakerdeck
PRO
26
5k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
280
13k
Unsuck your backbone
ammeep
669
57k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
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の実践は続く)