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
0
570
ログから始めるオブザーバビリティ
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
3.2k
TrivyでAWSセキュリティをシフトレフトしよう
hosht
0
9
Other Decks in Programming
See All in Programming
Boost Performance and Developer Productivity with Jakarta EE 11
ivargrimstad
0
810
Googleのテストサイズを活用したテスト環境の構築
toms74209200
0
270
Progressive Web Apps für Desktop und Mobile mit Angular (Hands-on)
christianliebel
PRO
0
110
破壊せよ!データ破壊駆動で考えるドメインモデリング / data-destroy-driven
minodriven
16
4k
デプロイを任されたので、教わった通りにデプロイしたら障害になった件 ~俺のやらかしを越えてゆけ~
techouse
52
32k
Modern Angular: Renovation for Your Applications
manfredsteyer
PRO
0
200
カラム追加で増えるActiveRecordのメモリサイズ イメージできますか?
asayamakk
4
1.5k
詳細解説! ArrayListの仕組みと実装
yujisoftware
0
480
Sidekiqで実現する 長時間非同期処理の中断と再開 / Pausing and Resuming Long-Running Asynchronous Jobs with Sidekiq
hypermkt
6
2.7k
リリース8年目のサービスの1800個のERBファイルをViewComponentに移行した方法とその結果
katty0324
5
3.5k
カスタムしながら理解するGraphQL Connection
yanagii
1
1.2k
gopls を改造したら開発生産性が高まった
satorunooshie
8
240
Featured
See All Featured
Keith and Marios Guide to Fast Websites
keithpitt
408
22k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
191
16k
Being A Developer After 40
akosma
86
590k
The Art of Programming - Codeland 2020
erikaheidi
51
13k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
Ruby is Unlike a Banana
tanoku
96
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
107
49k
Why Our Code Smells
bkeepers
PRO
334
57k
The Invisible Side of Design
smashingmag
297
50k
Teambox: Starting and Learning
jrom
132
8.7k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
27
4.1k
jQuery: Nuts, Bolts and Bling
dougneiner
61
7.5k
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.