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
780
ログから始めるオブザーバビリティ
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.2k
TrivyでAWSセキュリティをシフトレフトしよう
hosht
0
33
Other Decks in Programming
See All in Programming
Vueのバリデーション、結局どれを選べばいい? ― 自作バリデーションの限界と、脱却までの道のり ― / Which Vue Validation Library Should We Really Use? The Limits of Self-Made Validation and How I Finally Moved On
neginasu
3
1.7k
開発組織の戦略的な役割と 設計スキル向上の効果
masuda220
PRO
10
1.9k
エンジニアインターン「Treasure」とHonoの2年、そして未来へ / Our Journey with Hono Two Years at Treasure and Beyond
carta_engineering
0
460
Designing Repeatable Edits: The Architecture of . in Vim
satorunooshie
0
190
ALL CODE BASE ARE BELONG TO STUDY
uzulla
28
6.8k
AIと人間の共創開発!OSSで試行錯誤した開発スタイル
mae616
2
840
ボトムアップの生成AI活用を推進する社内AIエージェント開発
aku11i
0
1.3k
When Dependencies Fail: Building Antifragile Applications in a Fragile World
selcukusta
0
120
퇴근 후 1억이 거래되는 서비스 만들기 | 내가 AI를 사용하는 방법
maryang
1
140
KoogではじめるAIエージェント開発
hiroaki404
1
210
Using Types to Save Your Code's Future
rollbear
0
100
One Enishi After Another
snoozer05
PRO
0
170
Featured
See All Featured
Building an army of robots
kneath
306
46k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
1.7k
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.5k
Bash Introduction
62gerente
615
210k
Into the Great Unknown - MozCon
thekraken
40
2.1k
What’s in a name? Adding method to the madness
productmarketing
PRO
24
3.7k
Learning to Love Humans: Emotional Interface Design
aarron
274
41k
The Cult of Friendly URLs
andyhume
79
6.6k
Mobile First: as difficult as doing things right
swwweet
225
10k
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
[RailsConf 2023 Opening Keynote] The Magic of Rails
eileencodes
31
9.7k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.2k
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.