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
Building a ServiceMap with Service Graph Connector
Search
Ryo Nakamine
March 29, 2024
0
1.5k
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
2
2.6k
10年動くアプリケーションに Embedded SRE を導入した話
rnakamine
3
480
ペパボのSREとして 働くきっかけ
rnakamine
0
1.7k
異業種からエンジニアになった僕が憧れの会社に飛び込むまで
rnakamine
1
680
EBILABを支えるクラウド・サーバーレス活用事例とこれから
rnakamine
0
64
Laravel NOVAを使ってみた
rnakamine
0
35
Featured
See All Featured
Designing Experiences People Love
moore
140
23k
Designing for humans not robots
tammielis
250
25k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.7k
Responsive Adventures: Dirty Tricks From The Dark Corners of Front-End
smashingmag
251
21k
Speed Design
sergeychernyshev
28
840
KATA
mclloyd
29
14k
Facilitating Awesome Meetings
lara
53
6.3k
Thoughts on Productivity
jonyablonski
69
4.5k
Navigating Team Friction
lara
183
15k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
176
52k
Building Your Own Lightsaber
phodgson
104
6.3k
Typedesign – Prime Four
hannesfritz
41
2.6k
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 ご清聴ありがとうございました