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
ログから始めるオブザーバビリティ
Search
Takanobu Hoshino
May 29, 2024
Programming
1
760
ログから始めるオブザーバビリティ
Japan Datadog User Group Meetup#4
https://datadog-jp.connpass.com/event/317091/
Takanobu Hoshino
May 29, 2024
Tweet
Share
More Decks by Takanobu Hoshino
See All by Takanobu Hoshino
事業フェーズの変化を乗り越えるEnabling/Platform SREへの転換
hosht
1
4.1k
TrivyでAWSセキュリティをシフトレフトしよう
hosht
0
32
Other Decks in Programming
See All in Programming
🔨 小さなビルドシステムを作る
momeemt
4
690
Tool Catalog Agent for Bedrock AgentCore Gateway
licux
7
2.5k
Compose Multiplatform × AI で作る、次世代アプリ開発支援ツールの設計と実装
thagikura
0
170
ぬるぬる動かせ! Riveでアニメーション実装🐾
kno3a87
1
230
@Environment(\.keyPath)那么好我不允许你们不知道! / atEnvironment keyPath is so good and you should know it!
lovee
0
130
Namespace and Its Future
tagomoris
6
710
今だからこそ入門する Server-Sent Events (SSE)
nearme_tech
PRO
3
260
詳解!defer panic recover のしくみ / Understanding defer, panic, and recover
convto
0
250
250830 IaCの選定~AWS SAMのLambdaをECSに乗り換えたときの備忘録~
east_takumi
0
400
RDoc meets YARD
okuramasafumi
4
170
Testing Trophyは叫ばない
toms74209200
0
890
Improving my own Ruby thereafter
sisshiki1969
1
160
Featured
See All Featured
We Have a Design System, Now What?
morganepeng
53
7.8k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
667
120k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
231
53k
Scaling GitHub
holman
463
140k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.6k
The Art of Programming - Codeland 2020
erikaheidi
56
13k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
229
22k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.1k
A better future with KSS
kneath
239
17k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
17k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
358
30k
Transcript
Copyright © 2024 Bitkey Inc. All right reserved. ログから始めるオブザーバビリティ Japan
Datadog User Group Meetup#4 株式会社ビットキー 星野貴信 2024/05/29
2 Copyright © 2024 Bitkey Inc. All right reserved. Outline
1. オブザーバビリティのおさらい 2. Datadogのメトリクス 3. Datadogのログ 4. Datadogのトレース 5. まとめ
3 Copyright © 2024 Bitkey Inc. All right reserved. 株式会社ビットキー
SREとして入社。主にオブザーバビリティ、CI/CDを担 当する。SETとしてサービス品質向上の活動もしてい る 自己紹介 星野 貴信 Hoshino Takanobu 2020.01 2022.11~ 株式会社LCL バックエンドエンジニアとしてサービス運用改善を中 心にAWS、Terraform、GitHub Actions、Mackerelの 活用をリード
4 Copyright © 2024 Bitkey Inc. All right reserved. 1.
オブザーバビリティのおさらい
5 Copyright © 2024 Bitkey Inc. All right reserved. 1.
オブザーバビリティのおさらい APM ≠ o11y オブザーバビリティはトレースを中心に語られる印象 (n=1の感想です) つまり、DatadogのオブザーバビリティはApplication Performance Monitoring(APM)ってコト?
6 Copyright © 2024 Bitkey Inc. All right reserved. 1.
オブザーバビリティのおさらい APM ≠ o11y オブザーバビリティはトレースを中心に語られる印象 (n=1の感想です) つまり、DatadogのオブザーバビリティはApplication Performance Monitoring(APM)ってコト? 🙅
7 Copyright © 2024 Bitkey Inc. All right reserved. 1.
オブザーバビリティのおさらい オブザーバビリティとは? 「ソフトウェアアプリケーションにオブザーバビリティを持たせるためには、次のことができなければなり ません。 アプリケーションの内部構造を理解する 今まで見たことのない、予測できないことが起こったとしても、アプリケーションがどのようなシステム状 態に陥っているかを理解する 外部ツールを使って観測し、調査することで、内部動作とシステム状態を理解する 新たにコードを改修 することなく 、内部状態を理解する (コードを改修するには何が起こるかをあらかじめ知っている必要があるため)」 『オブザービリティ・エンジニアリング』 1.2 オブザーバビリティのソフトウェアシステムへの適用
8 Copyright © 2024 Bitkey Inc. All right reserved. 1.
オブザーバビリティのおさらい オブザーバビリティとは? 「今まで見たことのない、予測できないことが起こったとしても、アプリケーションがどのようなシステム 状態に陥っているかを理解する」 「外部ツールを使って観測し、調査することで、内部動作とシステム状態を理解する」 こちらの2点についてDatadogのメトリクス、ログ、トレースにオブザーバビリティの特性が備わっている かそれぞれ見ていきます 特に、探索的にアプリケーションを調査できるかの観点をチェックします
9 Copyright © 2024 Bitkey Inc. All right reserved. 2.
Datadogのメトリクス
10 Copyright © 2024 Bitkey Inc. All right reserved. 2.
Datadogのメトリクス • Metric Explorerから探索的にクエリが可能 • パブリッククラウドとのインテグレーションや dd-agentの機能でメトリクスの取得は非常に容易 • DogStatsDなどを活用してカスタムメトリクスを 送信すればアプリケーションの内部情報も取得できる • メトリクス選択にワイルドカードが 利用できないため大量のメトリクスを 一気に調べることは難しい 所感: メトリクス単体ではオブザーバビリティの獲得は難しい オブザーバビリティの観点からみたメトリクス
11 Copyright © 2024 Bitkey Inc. All right reserved. 3.
Datadogのログ
12 Copyright © 2024 Bitkey Inc. All right reserved. 3.
Datadogのログ オブザーバビリティの観点からみたログ • Logs Explorerから探索的にクエリすることが可能 • ログを時系列で並べるだけでなくフィールド毎や メッセージパターン毎のように集計クエリで 強力に可視化をサポートできる • 左カラムのFacetsを展開してメタデータ毎に 出現回数を俯瞰したり、絞り込みに利用可能 • Reference TableとJoinすることでさらに 外部データを結合して情報量を増やせる • 構造化ログや例外キャッチなど事前の準備が多め • 欲しいログ出力のためにアプリケーション改修が必要になることもある 所感: 構造化ログを意識してログを送信することで、Datadogの機能を活かしたクエリが可能
13 Copyright © 2024 Bitkey Inc. All right reserved. 4.
Datadogのトレース
14 Copyright © 2024 Bitkey Inc. All right reserved. 4..
Datadogのトレース • Trace Queryによるしたサービス全体の俯瞰と Span単位の詳細分析が利用できる • 複数Traceを紐づけることでサービス間の関係を 可視化してボトルネックを分析できる • dd-traceやOpenTelemetry Collectorを利用して 少ない実装コストでデータの収集が可能 • 集計機能はログと比較してやや弱めか • Flame Graphの表示はSpan数の増大とDurationが 長い場合にスクロールが煩雑になる印象 所感: トレースはマイクロサービスのように、複数サービスをまたがるアプリケーションの俯瞰に強い一方、 探索的にクエリする際に、UIがログと比較してやや弱い印象 オブザーバビリティの観点からみたトレース
15 Copyright © 2024 Bitkey Inc. All right reserved. 5.
まとめ
16 Copyright © 2024 Bitkey Inc. All right reserved. 5.
まとめ 探索的な調査の能力でみたDatadogのオブザーバビリティ • オブザーバビリティの獲得に重要な、探索的なクエリによるアプリケーションの調査において、 Datadogではメトリクスとログとトレースを比較した際に、ログが使いやすい感触を得た • まずはログの収集に力を入れてから、トレースに進むとログとトレースの紐付けで隙がなくなる 未解決の課題: サンプリングによるログに紐づいていて欲しいトレースが無い問題 • ログデータ増加に耐えるコスト面の工夫は、またの機会があれば紹介したい
17 End of File Copyright © 2024 Bitkey Inc. All
right reserved.