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.7k
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
3.1k
10年動くアプリケーションに Embedded SRE を導入した話
rnakamine
3
550
ペパボのSREとして 働くきっかけ
rnakamine
0
1.8k
異業種からエンジニアになった僕が憧れの会社に飛び込むまで
rnakamine
1
690
EBILABを支えるクラウド・サーバーレス活用事例とこれから
rnakamine
0
68
Laravel NOVAを使ってみた
rnakamine
0
41
Featured
See All Featured
Embracing the Ebb and Flow
colly
86
4.7k
VelocityConf: Rendering Performance Case Studies
addyosmani
332
24k
Building an army of robots
kneath
306
45k
Unsuck your backbone
ammeep
671
58k
How to train your dragon (web standard)
notwaldorf
96
6.1k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
34
3.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
A designer walks into a library…
pauljervisheath
207
24k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
It's Worth the Effort
3n
185
28k
The Pragmatic Product Professional
lauravandoore
35
6.7k
Statistics for Hackers
jakevdp
799
220k
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 ご清聴ありがとうございました