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
810
ログから始めるオブザーバビリティ
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.3k
TrivyでAWSセキュリティをシフトレフトしよう
hosht
0
52
Other Decks in Programming
See All in Programming
Rust 製のコードエディタ “Zed” を使ってみた
nearme_tech
PRO
0
110
Fragmented Architectures
denyspoltorak
0
140
MDN Web Docs に日本語翻訳でコントリビュート
ohmori_yusuke
0
630
TerraformとStrands AgentsでAmazon Bedrock AgentCoreのSSO認証付きエージェントを量産しよう!
neruneruo
4
2.7k
ZJIT: The Ruby 4 JIT Compiler / Ruby Release 30th Anniversary Party
k0kubun
1
390
公共交通オープンデータ × モバイルUX 複雑な運行情報を 『直感』に変換する技術
tinykitten
PRO
0
200
Smart Handoff/Pickup ガイド - Claude Code セッション管理
yukiigarashi
0
110
20260127_試行錯誤の結晶を1冊に。著者が解説 先輩データサイエンティストからの指南書 / author's_commentary_ds_instructions_guide
nash_efp
0
830
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.2k
CSC307 Lecture 01
javiergs
PRO
0
680
なるべく楽してバックエンドに型をつけたい!(楽とは言ってない)
hibiki_cube
0
140
Patterns of Patterns
denyspoltorak
0
1.3k
Featured
See All Featured
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
110
The Spectacular Lies of Maps
axbom
PRO
1
500
Mobile First: as difficult as doing things right
swwweet
225
10k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
B2B Lead Gen: Tactics, Traps & Triumph
marketingsoph
0
52
Imperfection Machines: The Place of Print at Facebook
scottboms
269
14k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.2k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Code Review Best Practice
trishagee
74
20k
SERP Conf. Vienna - Web Accessibility: Optimizing for Inclusivity and SEO
sarafernandez
1
1.3k
The Organizational Zoo: Understanding Human Behavior Agility Through Metaphoric Constructive Conversations (based on the works of Arthur Shelley, Ph.D)
kimpetersen
PRO
0
230
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.