$30 off During Our Annual Pro Sale. View Details »
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Trace Metrics と Istio Metrics でサービス健全性を監視する
Search
Hayato Kawai
February 26, 2025
0
510
Trace Metrics と Istio Metrics でサービス健全性を監視する
Japan Datadog User Group Meetup#7 での登壇資料です
イベントページ:
https://datadog-jp.connpass.com/event/343144/
Hayato Kawai
February 26, 2025
Tweet
Share
More Decks by Hayato Kawai
See All by Hayato Kawai
Bedrock のコスト監視設計
fohte
2
340
Data Access Control で実現するより細かい権限制御
fohte
0
260
Datadog が支える Wantedly のシステム運用
fohte
0
84
Devin や Cursor などの生成 AI ツール導入に向けて何を取り組んだのか
fohte
2
310
Datadog Network Monitoring を活用して NAT Gateway 課金を 80 % 削減した話
fohte
2
730
段階的リリースを実現する kube canary
fohte
1
220
巨大 tfstate に立ち向かう技術
fohte
1
1.1k
RubyKaigi で LT 初登壇したきっかけと感想
fohte
1
1.3k
Datadog Logs を活用して SLO 監視基盤を構築する
fohte
3
2.9k
Featured
See All Featured
30 Presentation Tips
portentint
PRO
1
170
A Soul's Torment
seathinner
1
2k
Between Models and Reality
mayunak
0
150
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
12
1.4k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
0
88
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
12
980
Practical Orchestrator
shlominoach
190
11k
How to Align SEO within the Product Triangle To Get Buy-In & Support - #RIMC
aleyda
1
1.3k
Why Your Marketing Sucks and What You Can Do About It - Sophie Logan
marketingsoph
0
45
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
73
Bash Introduction
62gerente
615
210k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.3k
Transcript
© 2025 Wantedly, Inc. Trace Metrics と Istio Metrics で
サービス健全性を監視する Japan Datadog User Group Meetup #7 2025-02-26 - Hayato Kawai (@fohte)
© 2025 Wantedly, Inc. 自己紹介 名前 Fohte (ふぉーて) 本名: 川井
颯人 (Hayato Kawai) 所属 ウォンテッドリー株式会社 Infra Squad 趣味 🎮 🎹
© 2025 Wantedly, Inc. 持ち帰ってほしいこと • エラーレートやレイテンシーは APM の trace
metrics で監視できる • Istio metrics でも同様の監視ができる
© 2025 Wantedly, Inc. やりたいこと • 特定の機能のエラーレートとレイテンシーを監視したい • かつアプリケーションのバージョンごとに監視したい
© 2025 Wantedly, Inc. 特定の機能のエラーレートとレイテンシーを監視したい • 例: GET https://wantedly.com/id/:user_id の
エラーレートが xx % になったら or レイテンシーが xx 秒以上のリクエストが多くなったら アラート
© 2025 Wantedly, Inc. かつアプリケーションのバージョンごとに監視したい • canary release で canary
へのリクエストだけ区別し エラーレートやレイテンシーを監視したい (参考) canary release を実現する仕組み → https://speakerdeck.com/fohte/duan-jie-de-ririsuw oshi-xian-suru-kube-canary
© 2025 Wantedly, Inc. ウォンテッドリーの Datadog にあるこれに満たせそうなもの • Datadog Logs
に ALB のアクセスログを入れている • Datadog APM を使っている
© 2025 Wantedly, Inc. Datadog Logs にある ALB のアクセスログで監視できないか •
💡 Logs から custom metrics を生成できるので それで計測できそう ◦ が、Logs Pipeline つらい問題が… ▪ 詳しくは → • 🆖 アプリケーションの バージョン情報が ALB 単体では取れない https://speakerdeck.com/fohte/datadog-logs-wohuo-yong-site- slo-jian-shi-ji-pan-wogou-zhu-suru
© 2025 Wantedly, Inc. Datadog APM • 💡 Datadog APM
でもクエリできる ◦ 取りたいエラーレートやレイテンシー (duration) をクエリできる ◦ これで良さそう => 大きなハマりどころがあった
© 2025 Wantedly, Inc. Datadog APM でクエリするときのハマりどころ • 🆖 クエリは
Indexed Spans に対して計算される ◦ Indexed Spans はサンプリングされた後のデータ ◦ 期待すること: サンプリングされていないデータで計算したい ▪ 実際、意図したエラーレートやレイテンシーが算出できなかった https://docs.datadoghq.com/tracing/trace_pipeline/
© 2025 Wantedly, Inc. Metrics Summary からメトリクス一覧が見られる Metrics Summary から
今回の用途で使えそうな メトリクスを発見した • Trace Metrics ◦ trace.<SPAN_NAME>.hits など • Istio Metics ◦ istio.*
© 2025 Wantedly, Inc. 今回話す metrics 2 種類ざっくり紹介 Trace Metrics
• Datadog APM のトレースをもとに生成される メトリクス ◦ https://docs.datadoghq.com/tracing/metrics/metrics_namespace/ Istio Metrics • Istio 自体が生成するメトリクスが Datadog の Istio integration で送られる ◦ https://docs.datadoghq.com/integrations/istio/
© 2025 Wantedly, Inc. Trace Metrics • Ingested Spans から生成されるメトリクス
◦ Indexed Spans ではないのでサンプリングされない ! https://docs.datadoghq.com/tracing/trace_pipeline/
© 2025 Wantedly, Inc. Trace Metrics の実用例 APM の Service
Summary のグラフは Trace Metrics で クエリされている
© 2025 Wantedly, Inc. Trace Metrics で実現できるのか • ✅ エラーレートを取りたい
◦ trace.<SPAN_NAME>.errors / trace.<SPAN_NAME>.hits で実現できる • ✅ レイテンシーを取りたい ◦ trace.<SPAN_NAME> で duration を取れる • ❌ canary release かどうかを区別したい ◦ version タグはあるものの、それが canary release された version なのかは 判別できない
© 2025 Wantedly, Inc. Istio Metrics • Istio が提供するメトリクスを Datadog
でも見られる ◦ 例: istio.mesh.request.count (リクエスト数) • (補足) Wantedly はほぼ全てが k8s cluster に乗っている & pod の通信はすべて Istio を通している
© 2025 Wantedly, Inc. Istio Metrics で実現できるのか • ✅ エラーレートを取りたい
◦ istio.mesh.request.count.total で実現できる
© 2025 Wantedly, Inc. Istio Metrics で実現できるのか • ✅ レイテンシーを取りたい
◦ istio.mesh.request.duration.milliseconds.sum.total で実現できる
© 2025 Wantedly, Inc. Istio Metrics で実現できるのか • ✅ canary
release かどうかを区別したい ◦ ウォンテッドリーの canary release の仕組みでは Deployment 名が必ず -canary で終わるので、それをもとにクエリできた ◦ Trace Metrics には kube_deployment tag がない
© 2025 Wantedly, Inc. Trace Metrics vs Istio Metrics •
すべて Istio Metrics でよいのでは? => 部分的にそう • Trace Metrics は span の情報でクエリできるのが強み ◦ もともと要件として「ある機能のエラーレート等を監視したい」があった ▪ 例: Rails のある controller のエラーレート・レイテンシーを監視したい ◦ Trace Metrics ではこれが実現できる (resource name が取れる) ▪ Istio Metrics では request path などの情報はない (含めようと思えば Telemetry API でできる) • 結論: 使い分けよう
© 2025 Wantedly, Inc. 持ち帰ってほしいこと • エラーレートやレイテンシーは APM の trace
metrics で監視できる • Istio metrics でも同様の監視ができる