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
880
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
ログから始めるオブザーバビリティ
Japan Datadog User Group Meetup#4
https://datadog-jp.connpass.com/event/317091/
Takanobu Hoshino
May 29, 2024
More Decks by Takanobu Hoshino
See All by Takanobu Hoshino
事業フェーズの変化を乗り越えるEnabling/Platform SREへの転換
hosht
1
4.6k
TrivyでAWSセキュリティをシフトレフトしよう
hosht
0
79
Other Decks in Programming
See All in Programming
仕様駆動開発へのトライを機に チームに適合する手法を模索し続けている話
freee
PRO
0
430
為什麼你並不需要ViewModel / No, you don't need a ViewModel
lovee
1
480
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
660
React本体のコードリーディング
high_g_engineer
1
140
GDG Korea Android: 2026 I/O Extended ~ What's new in Android development tools
pluu
0
210
テーブルをDELETEした
yuzneri
0
140
これって Effect でできたのでは? / TSKaigi Mashup Kansai #2
susisu
0
140
2年かけて Deno に DOMMatrix を実装した話 / How I implemented DOMMatrix in Deno over two years
petamoriken
0
210
PHP に部分適用が来るぞ!……ところで何それ?おいしいの? #phpcon / phpcon-2026
shogogg
0
580
プロポーザルを書いてもらう
pvcresin
0
250
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
komatsuna「分散システムにおけるバグ分析手法」
komatsunaqa
0
240
Featured
See All Featured
Designing Experiences People Love
moore
143
24k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.5k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.5k
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
200
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.9k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
10k
Context Engineering - Making Every Token Count
addyosmani
9
1k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
230
Typedesign – Prime Four
hannesfritz
42
3.1k
Mind Mapping
helmedeiros
PRO
1
300
Building an army of robots
kneath
306
46k
Leo the Paperboy
mayatellez
8
2.1k
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.