Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Building a ServiceMap with Service Graph Connector
Search
Ryo Nakamine
March 29, 2024
1
1.9k
Building a ServiceMap with Service Graph Connector
OpenTelemetry Casual Talk - コンセプトのおさらいと実践入門!
https://mackerelio.connpass.com/event/311216/
Ryo Nakamine
March 29, 2024
Tweet
Share
More Decks by Ryo Nakamine
See All by Ryo Nakamine
Ruby on Rails におけるOpenTelemetry の活用
rnakamine
3
3.4k
10年動くアプリケーションに Embedded SRE を導入した話
rnakamine
4
610
EBILABを支えるクラウド・サーバーレス活用事例とこれから
rnakamine
1
76
Laravel NOVAを使ってみた
rnakamine
0
48
Featured
See All Featured
Music & Morning Musume
bryan
46
7k
A Tale of Four Properties
chriscoyier
162
23k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
24k
jQuery: Nuts, Bolts and Bling
dougneiner
65
8.2k
Rails Girls Zürich Keynote
gr2m
95
14k
Making Projects Easy
brettharned
120
6.5k
Code Reviewing Like a Champion
maltzj
527
40k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
The Hidden Cost of Media on the Web [PixelPalooza 2025]
tammyeverts
1
92
Side Projects
sachag
455
43k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
196
69k
CoffeeScript is Beautiful & I Never Want to Write Plain JavaScript Again
sstephenson
162
15k
Transcript
1 Building a ServiceMap with Service Graph Connector 仲嶺 良
/ GMO Pepabo, inc. OpenTelemetry Casual Talk - コンセプトのおさらいと実践⼊⾨! 2024.03.25
2 ⾃⼰紹介 技術部 プラットフォームグループ 2021年 中途⼊社 仲嶺 良 Nakamine Ryo SRE
として minne の SLI / SLO の策定‧運⽤、それ に基づいたパフォーマンス改善や Kubernetes を⽤ いたコンテナプラットフォームの運⽤‧改善を担当 • naryo と呼ばれています • 沖縄県出⾝ • X : @r_nakamine
GMO ペパボについて 3 https://pepabo.com
各サービスに絶賛 OpenTelemetry 導⼊中 4 OpenTelemetry Meetup 2024-02 https://speakerdeck.com/pyama86/pepaboopentelemetryge-ming
5 • OpenTelemetry Collector の Service Graph Connector を⽤いてトレースからメトリクスを⽣成 •
Grafana Tempo の Service Graphs を⽤いてサービス 間の相互関係を描画する 今⽇話すこと
今⽇話すこと 6 • オブザーバビリティバックエンドに Grafana を使⽤ • OpenTelemetry Collector Contribを使⽤
◦ 本番環境では OpenTelemetry Collector Builder を使って、必要なプラグイン だけをまとめた Collector を使⽤することが推奨されています ※ Grafana Tempo の Metrics-Generator でも同様のメトリクスを⽣成することができます 前提
Service Graph Connector 7
Service Graph Connector 8 • レシーバーとエクスポーターの2つの役割を持つ • 異なるテレメトリーパイプラインを繋ぎ合わせる そもそも Connector
とは
Service Graph Connector 9 そもそも Connector とは ref: https://opentelemetry.io/docs/collector/building/connector
Service Graph Connector 10 • トレースデータを分析し、サービス間 の相互関係構築 するためのメトリクスを⽣成する ◦ OpenTelemetryのセマンティック規約を元にサービス間のリクエスト
を検出 • ⽣成されたメトリクスは Grafana で可視化できる Service Graph Connector
Service Graph Connector 11 OpenTelemetry Collector の設定(⼀部抜粋)
Service Graph Connector 12 Service Graph Connector によって⽣成されるメトリクス traces_service_graph_request_total 2
つのサービス間のリクエストの合計数 traces_service_graph_request_failed_total 2 つのサービス間で失敗したリクエストの合計数 traces_service_graph_request_server_seconds サーバーから⾒た 2 つのサービス間のリクエストの処理時間 traces_service_graph_request_client_seconds クライアントから⾒た 2 つのサービス間のリクエストの処理時間 traces_service_graph_unpaired_spans_total ペアになっていない span の合計数 traces_service_graph_dropped_spans_total ドロップされた span の合計数
• 取得した span から Request, Error and Duration (R.E.D) メトリクスを⽣成する
各 span ⾃体のメトリクスを⽣成する Service Graph Connector 13 “Span Metrics” Connector
Service Graphs in Grafana Tempo 14
Service Graphs in Grafana Tempo 15 • traces_service_graph_ なメトリクスを元にサービス間 の相互関係を可視化する
• 相互関係だけでなくシステムの健全性も可視化される ◦ レイテンシー、エラー率 Service Graphs ref: https://grafana.com/docs/tempo/latest/metrics-generator/service_graphs
Service Graphs in Grafana Tempo 16 Enable service graphs •
Grafana Tempo の Data Sources の設定から Service Map を有効 にする • データソースを⽣成したメトリク スが送信される Prometheus に 指定
Service Graphs in Grafana Tempo 17
Service Graphs in Grafana Tempo 18
Service Graphs in Grafana Tempo 19 • Service Graph Connector,
Span Metrics Connector か ら⽣成されるメトリクスは Grafana Tempo の Metrics-Generator というコンポーネントからも⽣成で きる ◦ OpenTelemetry Collecotor の Span Metrics Processer ミラーリングすること を⽬標に設計されている Metrics-Generator ref: https://grafana.com/docs/tempo/latest/metrics-generator/
20 ご清聴ありがとうございました