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
1
710
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
10年動くアプリケーションに Embedded SRE を導入した話
rnakamine
4
330
ペパボのSREとして 働くきっかけ
rnakamine
1
1.4k
異業種からエンジニアになった僕が憧れの会社に飛び込むまで
rnakamine
1
610
EBILABを支えるクラウド・サーバーレス活用事例とこれから
rnakamine
0
43
Laravel NOVAを使ってみた
rnakamine
0
12
Featured
See All Featured
Scaling GitHub
holman
457
140k
In The Pink: A Labor of Love
frogandcode
138
21k
What's new in Ruby 2.0
geeforr
337
31k
Art, The Web, and Tiny UX
lynnandtonic
290
19k
Thoughts on Productivity
jonyablonski
60
3.9k
GraphQLの誤解/rethinking-graphql
sonatard
56
9.3k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
126
32k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
34
6k
From Idea to $5000 a Month in 5 Months
shpigford
378
45k
Teambox: Starting and Learning
jrom
128
8.4k
Designing Experiences People Love
moore
136
23k
Fontdeck: Realign not Redesign
paulrobertlloyd
76
4.9k
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 ご清聴ありがとうございました