Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Building a ServiceMap with Service Graph Connector

Ryo Nakamine
March 29, 2024
1.4k

Building a ServiceMap with Service Graph Connector

OpenTelemetry Casual Talk - コンセプトのおさらいと実践入門!
https://mackerelio.connpass.com/event/311216/

Ryo Nakamine

March 29, 2024
Tweet

Transcript

  1. 1 Building a ServiceMap with Service Graph Connector 仲嶺 良

    / GMO Pepabo, inc. OpenTelemetry Casual Talk - コンセプトのおさらいと実践⼊⾨! 2024.03.25
  2. 2 ⾃⼰紹介 技術部 プラットフォームグループ 2021年 中途⼊社 仲嶺 良 Nakamine Ryo SRE

    として minne の SLI / SLO の策定‧運⽤、それ に基づいたパフォーマンス改善や Kubernetes を⽤ いたコンテナプラットフォームの運⽤‧改善を担当 • naryo と呼ばれています • 沖縄県出⾝ • X : @r_nakamine
  3. 5 • OpenTelemetry Collector の Service Graph Connector を⽤いてトレースからメトリクスを⽣成 •

    Grafana Tempo の Service Graphs を⽤いてサービス 間の相互関係を描画する 今⽇話すこと
  4. 今⽇話すこと 6 • オブザーバビリティバックエンドに Grafana を使⽤ • OpenTelemetry Collector Contribを使⽤

    ◦ 本番環境では OpenTelemetry Collector Builder を使って、必要なプラグイン だけをまとめた Collector を使⽤することが推奨されています ※ Grafana Tempo の Metrics-Generator でも同様のメトリクスを⽣成することができます 前提
  5. 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 の合計数
  6. • 取得した span から Request, Error and Duration (R.E.D) メトリクスを⽣成する

    各 span ⾃体のメトリクスを⽣成する Service Graph Connector 13 “Span Metrics” Connector
  7. Service Graphs in Grafana Tempo 15 • traces_service_graph_ なメトリクスを元にサービス間 の相互関係を可視化する

    • 相互関係だけでなくシステムの健全性も可視化される ◦ レイテンシー、エラー率 Service Graphs ref: https://grafana.com/docs/tempo/latest/metrics-generator/service_graphs
  8. Service Graphs in Grafana Tempo 16 Enable service graphs •

    Grafana Tempo の Data Sources の設定から Service Map を有効 にする • データソースを⽣成したメトリク スが送信される Prometheus に 指定
  9. 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/