SlideShare a Scribd company logo
© 2022 NTT DATA Corporation
実践!
OpenTelemetry と OSS を使った Observability 基盤の構築
#CNDT2022_F
2022/11/22 15:20~15:40
逆井 啓佑 @k6s4i53rx
© 2022 NTT DATA Corporation
CLOUDNATIVE DAYS TOKYO2022
Who AM I ??
逆 井 啓 佑
さかさい
belongs: ”NTT DATA”
kind: ”スクラムチームの Product Owner(PO)”
# CloudNative な技術スタックたくさん
metadata:
CloudNative 歴: ”1年くらい”
# 社内の研修制度「CloudNative・k8s 塾」で修行
最近の関心事: ”Observability(O11y), CI/CD”
twitter: @k6s4i53rx
intro_po.yaml
1
2
3
4
5
6
7
8
9
10
11
12
© 2022 NTT DATA Corporation
今回 20分 でお話しすること
CLOUDNATIVE DAYS TOKYO2022
留意点
- 構築には一部 feature flag の有効化 や Optional な機能を用いています
Ex.:MetricsGenerator(Grafana Tempo), Remote Write Receiver(Prometheus)
本日お話しできないこと
- Observability や OpenTelemetry の詳しいお話しは を参考!
- 基盤の “非機能” の紹介 / モニタリング OSS の比較
本日お話しすること
実践! OpenTelmetry と OSS を使った Observability 基盤の 構築 ということで、
- 構築した 基盤の紹介・デモンストレーション メイン
- 基盤の “機能” の紹介
- 構築に用いたモニタリング OSS の軽い紹介
© 2022 NTT DATA Corporation
(参考) 検証環境
CLOUDNATIVE DAYS TOKYO2022
- loki-stack : 2.8.3
- tempo-distributed : 0.26.8
- kube-prometheus-stack : 41.5.1
- opentelemetry-operator : 0.16.0
※ Kubernetes : 1.22 on EKS : eks.6
※ EKS:Elastic Kubernetes Service
Observability 基盤の構築に用いたモニタリング OSS。
以下の Helm Chart を用いてインストールし動作確認 をしています。
© 2022 NTT DATA Corporation
Agenda
1. Introduction
● Observability 〜 OpenTelemetry の基本のみ
2. Observability 基盤の紹介
3. Demonstration
● シナリオ ❶:ログエラーを検知した場合
● シナリオ ❷:目標を下回るシステム挙動を検知した場合
4. (発展) Custom OpenTelemetry Collector
5. まとめ
CLOUDNATIVE DAYS TOKYO2022
© 2022 NTT DATA Corporation
Introduction
© 2022 NTT DATA Corporation
Introduction
CLOUDNATIVE DAYS TOKYO2022
・kubernetes Observability入門 (@yosshi_ san)
・Grafana Loki getting started (@polar3130 san)
クラウドネイティブ環境 において システムは動的に変化 する
プラットフォームの回復力・管理力/堅牢な自動化
変化し続けてもなお、
継続的 に システムの 信頼性 を証明 できる必要がある (Observability, 可観測性)
Dev の場合:AP の動作や、画面遷移の挙動など...
Ops の場合:プラットフォームや CI/CD の正常性など...
信頼性を測る要素として Primary Signals がある
Logging, Tracing, Metrics, Profiles, Dumps
=> Telemetry と呼ぶ
© 2022 NTT DATA Corporation
metrics
Introduction
CLOUDNATIVE DAYS TOKYO2022
Service
Input
❶ 計装やエクスポータ−は
(基本的に) アプリに実装する必要がある
Output
計
装
Exp.
Telemetry
logging
tracing
1/3
Ref: O11yCon2022
・OpenTelemetryのこれまでとこれから (@ymotongpoo san)
(今回は logging, tracing, metrics の3つのテレメトリーに着目)
テレメトリの収集/解析には、計装 (instrumentation) と エクスポーター (と ダッシュボード) が必要
※ バックエンドは一例
© 2022 NTT DATA Corporation
tracing
logging
metrics
Introduction
CLOUDNATIVE DAYS TOKYO2022
Service
Input Output
計
装
Exp.
Telemetry
2/3
Ref: O11yCon2022
・OpenTelemetryのこれまでとこれから (@ymotongpoo san)
(今回は logging, tracing, metrics の3つのテレメトリーに着目)
テレメトリの収集/解析には、計装 (instrumentation) と エクスポーター (と ダッシュボード) が必要
※ バックエンドは一例
Jaeger は例です。Jaeger Clients は既に Deprecated となり、
OpenTelemetry への移行を推奨しています。
❷ 計装や Exp. は各種 OSS やサービスが
API / SDK を提供している
=> Proprietary (ベンダ依存) に繋がる
© 2022 NTT DATA Corporation
metrics
logging
tracing
Introduction
CLOUDNATIVE DAYS TOKYO2022
Service
Input Output
計
装
Exp.
Telemetry
3/3
Ref: O11yCon2022
・OpenTelemetryのこれまでとこれから (@ymotongpoo san)
(今回は logging, tracing, metrics の3つのテレメトリーに着目)
テレメトリの収集/解析には、計装 (instrumentation) と エクスポーター (と ダッシュボード) が必要
※ バックエンドは一例
❸ OpenTelemetry は
テレメトリの 計装・エクスポーター の標準仕様
ライブラリやエージェントも提供
OpenTelemetry は言語やテレメトリーによって
対応状況が異なります。最新のステータスは公式で参照できます。
© 2022 NTT DATA Corporation
(参考) Introduction
CLOUDNATIVE DAYS TOKYO2022
OpenTelemetry は
アプリの 計装ライブラリ
(API, SDK, ・・・など)
バックエンドへの
送信プロトコル (OTLP)
Otel Collector (プロキシ)
を挟んでエクスポートをする
の仕様を定めている
Ref: O11yCon2022
・入門 OpenTelemetry Collector (@katzchang san)
図:https://opentelemetry.io/docs/
© 2022 NTT DATA Corporation
Introduction
CLOUDNATIVE DAYS TOKYO2022
(計装・エクスポーターを使い、テレメトリーを取得できることがわかったが、)
テレメトリーの活用 には、個別だけではなく、関連性(correlate)を持たせる ことも重要
- テレメトリーからテレメトリーに移る際に、コンテキストを維持する必要 (後述: trace id, exemplar)
- 個別の場合、特にトレースにおいては、欲しいトレースを膨大なトレースの中から探し出すのは
''めっちゃ難しい''(''Avoid the needle-in-haystack.'') (Ref: Grafana Labs Paper)
なので...理想的には...
Logs
Metrics
✔ Status OK
✔ Status OK
✔ Status OK
✔ Status OK
❌ ERROR
Traces
Trace
Span A
Span B
Span C で ERROR & 遅延
「ログのエラーや、メトリクスの異常値は、
なぜそのトレースが興味深いかを教えてくれている。
=> トレースを見る時点でなぜ探しているかを知っている」 (Ref: 同上)
© 2022 NTT DATA Corporation
Introduction
CLOUDNATIVE DAYS TOKYO2022
(logging, tracing, metrics は無事取れたが...)
テレメトリーの活用 には、個別だけではなく、関連性を持たせる ことも重要
- テレメトリーからテレメトリーに移る際に、コンテキストを維持する必要 (後述: trace id, exemplar)
- 特にトレースにおいては、欲しいトレースを膨大なトレースの中から探し出すのは
''めっちゃ難しい''(''Avoid the needle-in-haystack.'') (Ref: Grafana Labs Paper)
なので...理想的には...
Logs
Metrics
✔ Status OK
✔ Status OK
✔ Status OK
✔ Status OK
❌ ERROR
Traces
Trace
Span A
Span B
Span C で遅延
「ログのエラーや、メトリクスの異常値は、
なぜそのトレースが興味深いかを教えてくれている。
=> トレースを見る時点でなぜ探しているかを知っている」 (Ref: 同上)
Grafana Labs
要するに...
ログ や メトリクス を トレース と紐付けたい
Tempo や Loki Prometheus を
使って実現できるみたいなのでやってみる。
© 2022 NTT DATA Corporation
Observability 基盤の紹介
© 2022 NTT DATA Corporation
Grafana Labs のドキュメントによると、
どうやら ログやメトリクスにトレース ID を付与 すれば、Grafana 上で ログ・メトリクス -> トレースが可能
Observability 基盤の紹介
CLOUDNATIVE DAYS TOKYO2022
Traces
Logs
Metrics
Trace
ID
Trace
ID
Trace
ID
✔ Status OK
✔ Status OK
✔ Status OK
✔ Status OK
❌ ERROR
Trace
Span A
Span B
Span C で遅延
Trace
ID
Grafana Dashboard
Data
Source
© 2022 NTT DATA Corporation
Observability 基盤の紹介
CLOUDNATIVE DAYS TOKYO2022
ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋)
※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。
BFF
User
API
Todo
API
Todo App
Collector Tempo
Promtail Loki
Traces
Logs
Traces
Logs
Traces
Logs
Trace
ID
Trace
ID Trace
ID
Metrics
Metrics
今回構築した基盤
© 2022 NTT DATA Corporation
Observability 基盤の紹介
CLOUDNATIVE DAYS TOKYO2022
ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋)
※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。
BFF
User
API
Todo
API
Todo App
Collector Tempo
Promtail Loki
Traces
Logs
Traces
Logs
Traces
Logs
Trace
ID
Trace
ID Trace
ID
Metrics
Metrics
各テレメトリー(ログ・メトリクス)に
どのようにトレース ID を付与すれば良いかをお話しします。
© 2022 NTT DATA Corporation
Metrics
Observability 基盤の紹介
CLOUDNATIVE DAYS TOKYO2022
BFF
User
API
Todo
API
Todo App
Collector Tempo
Promtail Loki
{
“msg”: “ABC.”,
“method”: “GET”,
…
“trace_id”: “XXX”
}
Traces
Logs
Traces
Logs
Traces
Logs
Metrics
Trace
ID
Trace
ID Trace
ID
ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋)
※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。
❶ Loki に保存されるログのラベルセットに、トレース ID を付与すれば良い
・{method=”GET”, trace_id=”XXX”,…} “Start Service A”
・{method=”GET”, trace_id=”XXX”,…} “Start Service B”
❷ Grafana で、どのラベルを トレース ID として解釈 するかを設定
・今回は ”trace_id” の Value (“XXX”) をトレース ID と設定
{method=”GET”, trace_id=”XXX”,…} “ABC”
© 2022 NTT DATA Corporation
Metrics
Observability 基盤の紹介
CLOUDNATIVE DAYS TOKYO2022
BFF
User
API
Todo
API
Todo App
Collector Tempo
Promtail Loki
Traces
Logs
Traces
Logs
Traces
Logs
Metrics
Trace
ID
Trace
ID Trace
ID
ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋)
※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。
Traces はトレース ID を持っている
© 2022 NTT DATA Corporation
Metrics
Observability 基盤の紹介
CLOUDNATIVE DAYS TOKYO2022
BFF
User
API
Todo
API
Todo App
Collector
Tempo
Promtail
Loki
Traces
Logs
Traces
Logs
Traces
Logs
Metrics
Trace
ID Trace
ID Trace
ID
ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋)
※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。
右図の Metrics は 、
SpanMetrics = Span 情報から Tempo が生成するメトリクス。以下の4つ。
❶ traces_spanmetrics_calls_total
❷~❹ traces_spanmetrics_latency_{bucket or count or sum}
ある断面で以下のレスポンスタイムのデータ(一例)
Request A : 0.1
Request B:0.04
Request C:0.3
Request D:0.6
Request E:1.2
traces_spanmetrics_latency = (*) とすると
(*)_count 5
(*)_sum 2.24
(*)_bucket{“le”=0.05} 1
(*)_bucket{“le”=0.5} 3
(*)_bucket{“le”=1} 4
(*)_bucket{“le”=INF} 5
※ le (less or equal) は
histogram_buckets: [0.1, 0.5, 1, INF]
Metrics
Tempo → Promethesu は
remote_write:/api/v1/write の
エンドポイントにメトリクスを POST
© 2022 NTT DATA Corporation
Observability 基盤の紹介
CLOUDNATIVE DAYS TOKYO2022
BFF
User
API
Todo
API
Todo App
Collector
Tempo
Promtail
Loki
Traces
Logs
Traces
Logs
Traces
Logs
Trace
ID Trace
ID Trace
ID
以下の Feature を有効化。Tempo: MetrisGenerator
Prometheus: remote-write-receiver, exemplar-strage
ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋)
※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。
右図の Metrics は 、
SpanMetrics = Span 情報から Tempo が生成するメトリクス。以下の4つ。
❶ traces_spanmetrics_calls_total
❷~❹ traces_spanmetrics_latency_{bucket or count or sum}
ある断面で以下のレスポンスタイムのデータ(一例)
Request A : 0.1
Request B:0.04
Request C:0.3
Request D:0.6
Request E:1.2
traces_spanmetrics_latency = (*) とすると
(*)_count 5
(*)_sum 2.24
(*)_bucket{“le”=0.05} 1
(*)_bucket{“le”=0.5} 3
(*)_bucket{“le”=1} 4
(*)_bucket{“le”=INF} 5
{*}_bucket{“le”=0.05} # {trace_id="BBB"} 0.04
{*}_bucket{“le”=0.5} # {trace_id="AAA"} 0.1
{*}_bucket{“le”=1} # {trace_id="CCC"} 0.3
各 le に対して
Exemplar(模範値) を発行
※ le (less or equal) は
histogram_buckets: [0.1, 0.5, 1, INF]
Metrics
Metrics
(Exemplar)
Metrics
(Exemplar)
Trace
ID
Trace
ID
Exemplar {trace_id="AAA"}
Exemplar {trace_id="BBB"}
Exemplar により メトリクスをトレースと紐づける ことができる
Tempo → Promethesu は
remote_write:/api/v1/write の
エンドポイントにメトリクスを POST
© 2022 NTT DATA Corporation
Observability 基盤の紹介
CLOUDNATIVE DAYS TOKYO2022
BFF
User
API
Todo
API
Todo App
Collector Tempo
Promtail Loki
Traces
Logs
Traces
Logs
Traces
Logs
Trace
ID
Trace
ID Trace
ID
Trace
ID
Trace
ID
Trace
ID
Metrics
(Exemplar)
ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋)
※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。
Metrics
(Exemplar)
Trace
ID
Trace
ID
ログ・メトリクス を トレース ID と紐付けることができた!
© 2022 NTT DATA Corporation
Demonstration
© 2022 NTT DATA Corporation
Demonstration
CLOUDNATIVE DAYS TOKYO2022
ここからは実際に Grafana 上でどのような動きになるのかを
デモをしながら簡単にご紹介いたします。
© 2022 NTT DATA Corporation
以下の2シナリオを想定してデモを実施します。
Demonstration
CLOUDNATIVE DAYS TOKYO2022
❶コ目
❷コ目
Todo サンプルアプリで擬似エラーを発生。
エラーログ から、関連する トレース へ遷移してみる。
Todo サンプルアプリの目標値として、
「全リクエストで 90%ile 20ms の レスポンスタイムを満たす(デモ用例)」
に反する メトリクスを検知し、関連するトレースへ遷移 してみる。
Traces
Logs
Metrics
(Exemplar)
Traces
© 2022 NTT DATA Corporation
Demonstration
CLOUDNATIVE DAYS TOKYO2022
https://drive.google.com/file/d/13nmdxek97arMzQaQ3BEiBle_StF_gDDt/view?usp=sharing
© 2022 NTT DATA Corporation
発展:Custom OpenTelemetry Collector
© 2022 NTT DATA Corporation
発展として の取得を OpenTelemetry Collector(Otel Collector) で実施する方法について紹介します。
発展:Custom OpenTelemetry Collector
Exporter
CLOUDNATIVE DAYS TOKYO2022
Metrics
(Exemplar)
- 今回 Grafana Tempo で用いた MetricsGenerator は、
Otel Collector の部品 である spanmetricsprocessor のミラーリング (参考: Grafana Labs)
- spanmetricsprocessor は標準の Otel Collector distro. には現段階では含まれず、 In Development ステータス
- Otel Collectrcontrib distro. には含まれている ( :GitHub )
- OpenTelemetry Collector Builder ( :ocb) を用いて spanmetricsprocessor を使える
Otel Collector をリビルドすることで、Tempo と同様 SpanMetrics を Prometheus に書き込むことが可能
yaml
Receiver Processor
spanmetrics
processor
otelreceiver otelexporter
ocb を
使ってビルド
Tempo
Traces
Metrics
(Exemplar)
Trace
ID
Collector
(Custom)
Collector
(Custom)
Trace
ID
よりシンプルな構成に
❌
© 2022 NTT DATA Corporation
まとめ
© 2022 NTT DATA Corporation
● OpenTelemetry と OSS を使ってテレメトリー (ログ、トレース、メトリクス) を取得できた
● テレメトリー同士を関連付けることは Observability において重要
● 今回は一例として Grafana Tempo などの OSS を用いることで実現 できる
● 実際のダッシュボードなどの動きを見て、
Observability について簡単にでもイメージいただければ幸いです!
まとめ
CLOUDNATIVE DAYS TOKYO2022
© 2022 NTT DATA Corporation
引き続き楽しんでいきましょう〜
© 2022 NTT DATA Corporation
記載されている会社名、商品名、
またはサービス名は、各社の商標登録または商標です。

More Related Content

What's hot (20)

Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
 
Riderはいいぞ!
Riderはいいぞ!Riderはいいぞ!
Riderはいいぞ!
UnityTechnologiesJapan002
 
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
NTT DATA Technology & Innovation
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
NTT Communications Technology Development
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
インフラCICDの勘所
インフラCICDの勘所インフラCICDの勘所
インフラCICDの勘所
Toru Makabe
 
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
 
今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた
Kohei Tokunaga
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
 
Keycloakの最近のトピック
Keycloakの最近のトピックKeycloakの最近のトピック
Keycloakの最近のトピック
Hitachi, Ltd. OSS Solution Center.
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
 
Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門Linux女子部 systemd徹底入門
Linux女子部 systemd徹底入門
Etsuji Nakai
 
BuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルドBuildKitによる高速でセキュアなイメージビルド
BuildKitによる高速でセキュアなイメージビルド
Akihiro Suda
 
DockerとPodmanの比較
DockerとPodmanの比較DockerとPodmanの比較
DockerとPodmanの比較
Akihiro Suda
 
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
コンテナとimmutableとわたし。あとセキュリティ。(Kubernetes Novice Tokyo #15 発表資料)
NTT DATA Technology & Innovation
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
 
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
 
インフラCICDの勘所
インフラCICDの勘所インフラCICDの勘所
インフラCICDの勘所
Toru Makabe
 
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
Dapr × Kubernetes ではじめるポータブルなマイクロサービス(CloudNative Days Tokyo 2020講演資料)
NTT DATA Technology & Innovation
 
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
監査要件を有するシステムに対する PostgreSQL 導入の課題と可能性
Ohyama Masanori
 
今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた今話題のいろいろなコンテナランタイムを比較してみた
今話題のいろいろなコンテナランタイムを比較してみた
Kohei Tokunaga
 
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
NTT DATA Technology & Innovation
 
DockerコンテナでGitを使う
DockerコンテナでGitを使うDockerコンテナでGitを使う
DockerコンテナでGitを使う
Kazuhiro Suga
 
オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫オンラインゲームの仕組みと工夫
オンラインゲームの仕組みと工夫
Yuta Imai
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
Amazon Web Services Japan
 
コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線コンテナネットワーキング(CNI)最前線
コンテナネットワーキング(CNI)最前線
Motonori Shindo
 
Ingress on Azure Kubernetes Service
Ingress on Azure Kubernetes ServiceIngress on Azure Kubernetes Service
Ingress on Azure Kubernetes Service
Toru Makabe
 
コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門コンテナ未経験新人が学ぶコンテナ技術入門
コンテナ未経験新人が学ぶコンテナ技術入門
Kohei Tokunaga
 

Similar to 実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発表資料) (20)

OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
NTT DATA Technology & Innovation
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
 
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
IoTビジネス共創ラボ
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
NTT DATA Technology & Innovation
 
OpenTelemetryMeetup_2024-11_DENSO_FIoT.pdf
OpenTelemetryMeetup_2024-11_DENSO_FIoT.pdfOpenTelemetryMeetup_2024-11_DENSO_FIoT.pdf
OpenTelemetryMeetup_2024-11_DENSO_FIoT.pdf
Tetsuya Nakao
 
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
Takayuki Shimizukawa
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
openrtm
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
NTT DATA Technology & Innovation
 
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
Akira Tateishi
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
openrtm
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
 
OpenEL for Robot(Japanese)
OpenEL for Robot(Japanese)OpenEL for Robot(Japanese)
OpenEL for Robot(Japanese)
Upwind Technology Inc.
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
Yusuke Naka
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
勇 黒沢
 
OpenStack Summit Vancouver YVR Ops
OpenStack Summit Vancouver YVR OpsOpenStack Summit Vancouver YVR Ops
OpenStack Summit Vancouver YVR Ops
NTT Communications Technology Development
 
IoT のシナリオを変える Azure SQL Edge
IoT のシナリオを変える Azure SQL EdgeIoT のシナリオを変える Azure SQL Edge
IoT のシナリオを変える Azure SQL Edge
IoTビジネス共創ラボ
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
 
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
NTT DATA Technology & Innovation
 
OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kuberne...
NTT DATA Technology & Innovation
 
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
NTT DATA Technology & Innovation
 
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
物流・社会インフラWG 活動内容のご紹介 Live Video Analytics は「カメラ+AI」ソリューション開発をどう変える?
IoTビジネス共創ラボ
 
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
どうやって決める?kubernetesでのシークレット管理方法(Cloud Native Days 2020 発表資料)
NTT DATA Technology & Innovation
 
OpenTelemetryMeetup_2024-11_DENSO_FIoT.pdf
OpenTelemetryMeetup_2024-11_DENSO_FIoT.pdfOpenTelemetryMeetup_2024-11_DENSO_FIoT.pdf
OpenTelemetryMeetup_2024-11_DENSO_FIoT.pdf
Tetsuya Nakao
 
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
Takayuki Shimizukawa
 
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
Javaコードが速く実⾏される秘密 - JITコンパイラ⼊⾨(JJUG CCC 2020 Fall講演資料)
NTT DATA Technology & Innovation
 
Nedo講座・rtmセミナー
Nedo講座・rtmセミナーNedo講座・rtmセミナー
Nedo講座・rtmセミナー
openrtm
 
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
Prometheus Operator 入門(Kubernetes Novice Tokyo #26 発表資料)
NTT DATA Technology & Innovation
 
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
Akira Tateishi
 
1.コース概要
1.コース概要1.コース概要
1.コース概要
openrtm
 
2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF2015 0227 OSC-Spring Tokyo NETMF
2015 0227 OSC-Spring Tokyo NETMF
Atomu Hidaka
 
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
注目の最新技術「WebRTC」とは? -技術概要と事例紹介-
Yusuke Naka
 
Prometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdfPrometheus超基礎公開用.pdf
Prometheus超基礎公開用.pdf
勇 黒沢
 
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
Apache Spark on Kubernetes入門(Open Source Conference 2021 Online Hiroshima 発表資料)
NTT DATA Technology & Innovation
 
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
PGOを用いたPostgreSQL on Kubernetes入門(PostgreSQL Conference Japan 2022 発表資料)
NTT DATA Technology & Innovation
 
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
NTT DATA Technology & Innovation
 

More from NTT DATA Technology & Innovation (20)

つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
NTT DATA Technology & Innovation
 
2025年現在のNewSQL (最強DB講義 #36 発表資料)
2025年現在のNewSQL (最強DB講義 #36 発表資料)2025年現在のNewSQL (最強DB講義 #36 発表資料)
2025年現在のNewSQL (最強DB講義 #36 発表資料)
NTT DATA Technology & Innovation
 
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
NTT DATA Technology & Innovation
 
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
NTT DATA Technology & Innovation
 
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
 
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
 
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
 
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
NTT DATA Technology & Innovation
 
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
NTT DATA Technology & Innovation
 
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
NTT DATA Technology & Innovation
 
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
NTT DATA Technology & Innovation
 
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
NTT DATA Technology & Innovation
 
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
NTT DATA Technology & Innovation
 
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
NTT DATA Technology & Innovation
 
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
NTT DATA Technology & Innovation
 
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
NTT DATA Technology & Innovation
 
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
NTT DATA Technology & Innovation
 
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
NTT DATA Technology & Innovation
 
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
NTT DATA Technology & Innovation
 
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
NTT DATA Technology & Innovation
 
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
NTT DATA Technology & Innovation
 
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
NTT DATA Technology & Innovation
 
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
NTT DATA Technology & Innovation
 
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
パーティションのATTACH時の注意ポイント (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
PostgreSQL17対応版 EXPLAINオプションについて (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
B-Treeのアーキテクチャ解説 (第49回PostgreSQLアンカンファレンス@東京 発表資料)
NTT DATA Technology & Innovation
 
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
アウトプット100回!YOWフレームワークで実践するふりかえりとその効果 (XP祭り2024 登壇資料)
NTT DATA Technology & Innovation
 
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
GSF Global Summit 2024 (Green Software Foundation Global Summit 2024 Tokyo 講演資料)
NTT DATA Technology & Innovation
 

Recently uploaded (6)

Backend for Frontend を活用した 安全な OpenID Connect 認証認可の実現
Backend for Frontend を活用した 安全な OpenID Connect 認証認可の実現Backend for Frontend を活用した 安全な OpenID Connect 認証認可の実現
Backend for Frontend を活用した 安全な OpenID Connect 認証認可の実現
Kazuki Ogiwara
 
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
Matsushita Laboratory
 
論文紹介:「Amodal Completion via Progressive Mixed Context Diffusion」「Amodal Insta...
論文紹介:「Amodal Completion via Progressive Mixed Context Diffusion」「Amodal Insta...論文紹介:「Amodal Completion via Progressive Mixed Context Diffusion」「Amodal Insta...
論文紹介:「Amodal Completion via Progressive Mixed Context Diffusion」「Amodal Insta...
Toru Tamaki
 
ECAモジュールの基礎調査.pptx 2025/05/30 の勉強会で発表されたものです。
ECAモジュールの基礎調査.pptx 2025/05/30 の勉強会で発表されたものです。ECAモジュールの基礎調査.pptx 2025/05/30 の勉強会で発表されたものです。
ECAモジュールの基礎調査.pptx 2025/05/30 の勉強会で発表されたものです。
iPride Co., Ltd.
 
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptxSecurity-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
TsukasaKomatsubara
 
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
Matsushita Laboratory
 
Backend for Frontend を活用した 安全な OpenID Connect 認証認可の実現
Backend for Frontend を活用した 安全な OpenID Connect 認証認可の実現Backend for Frontend を活用した 安全な OpenID Connect 認証認可の実現
Backend for Frontend を活用した 安全な OpenID Connect 認証認可の実現
Kazuki Ogiwara
 
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
第39回人工知能学会全国大会の企画セッション「生成AIが切り拓く仕掛学の可能性」の講演資料
Matsushita Laboratory
 
論文紹介:「Amodal Completion via Progressive Mixed Context Diffusion」「Amodal Insta...
論文紹介:「Amodal Completion via Progressive Mixed Context Diffusion」「Amodal Insta...論文紹介:「Amodal Completion via Progressive Mixed Context Diffusion」「Amodal Insta...
論文紹介:「Amodal Completion via Progressive Mixed Context Diffusion」「Amodal Insta...
Toru Tamaki
 
ECAモジュールの基礎調査.pptx 2025/05/30 の勉強会で発表されたものです。
ECAモジュールの基礎調査.pptx 2025/05/30 の勉強会で発表されたものです。ECAモジュールの基礎調査.pptx 2025/05/30 の勉強会で発表されたものです。
ECAモジュールの基礎調査.pptx 2025/05/30 の勉強会で発表されたものです。
iPride Co., Ltd.
 
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptxSecurity-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
Security-JAWS【第37回】 勉強会 2025年5月26日(月) - GitLab.pptx
TsukasaKomatsubara
 
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
ReonHata_LLMを利用した便利の副作用顕在化のためのアイデア発想支援手法の評価_JSAI2025
Matsushita Laboratory
 

実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発表資料)

  • 1. © 2022 NTT DATA Corporation 実践! OpenTelemetry と OSS を使った Observability 基盤の構築 #CNDT2022_F 2022/11/22 15:20~15:40 逆井 啓佑 @k6s4i53rx
  • 2. © 2022 NTT DATA Corporation CLOUDNATIVE DAYS TOKYO2022 Who AM I ?? 逆 井 啓 佑 さかさい belongs: ”NTT DATA” kind: ”スクラムチームの Product Owner(PO)” # CloudNative な技術スタックたくさん metadata: CloudNative 歴: ”1年くらい” # 社内の研修制度「CloudNative・k8s 塾」で修行 最近の関心事: ”Observability(O11y), CI/CD” twitter: @k6s4i53rx intro_po.yaml 1 2 3 4 5 6 7 8 9 10 11 12
  • 3. © 2022 NTT DATA Corporation 今回 20分 でお話しすること CLOUDNATIVE DAYS TOKYO2022 留意点 - 構築には一部 feature flag の有効化 や Optional な機能を用いています Ex.:MetricsGenerator(Grafana Tempo), Remote Write Receiver(Prometheus) 本日お話しできないこと - Observability や OpenTelemetry の詳しいお話しは を参考! - 基盤の “非機能” の紹介 / モニタリング OSS の比較 本日お話しすること 実践! OpenTelmetry と OSS を使った Observability 基盤の 構築 ということで、 - 構築した 基盤の紹介・デモンストレーション メイン - 基盤の “機能” の紹介 - 構築に用いたモニタリング OSS の軽い紹介
  • 4. © 2022 NTT DATA Corporation (参考) 検証環境 CLOUDNATIVE DAYS TOKYO2022 - loki-stack : 2.8.3 - tempo-distributed : 0.26.8 - kube-prometheus-stack : 41.5.1 - opentelemetry-operator : 0.16.0 ※ Kubernetes : 1.22 on EKS : eks.6 ※ EKS:Elastic Kubernetes Service Observability 基盤の構築に用いたモニタリング OSS。 以下の Helm Chart を用いてインストールし動作確認 をしています。
  • 5. © 2022 NTT DATA Corporation Agenda 1. Introduction ● Observability 〜 OpenTelemetry の基本のみ 2. Observability 基盤の紹介 3. Demonstration ● シナリオ ❶:ログエラーを検知した場合 ● シナリオ ❷:目標を下回るシステム挙動を検知した場合 4. (発展) Custom OpenTelemetry Collector 5. まとめ CLOUDNATIVE DAYS TOKYO2022
  • 6. © 2022 NTT DATA Corporation Introduction
  • 7. © 2022 NTT DATA Corporation Introduction CLOUDNATIVE DAYS TOKYO2022 ・kubernetes Observability入門 (@yosshi_ san) ・Grafana Loki getting started (@polar3130 san) クラウドネイティブ環境 において システムは動的に変化 する プラットフォームの回復力・管理力/堅牢な自動化 変化し続けてもなお、 継続的 に システムの 信頼性 を証明 できる必要がある (Observability, 可観測性) Dev の場合:AP の動作や、画面遷移の挙動など... Ops の場合:プラットフォームや CI/CD の正常性など... 信頼性を測る要素として Primary Signals がある Logging, Tracing, Metrics, Profiles, Dumps => Telemetry と呼ぶ
  • 8. © 2022 NTT DATA Corporation metrics Introduction CLOUDNATIVE DAYS TOKYO2022 Service Input ❶ 計装やエクスポータ−は (基本的に) アプリに実装する必要がある Output 計 装 Exp. Telemetry logging tracing 1/3 Ref: O11yCon2022 ・OpenTelemetryのこれまでとこれから (@ymotongpoo san) (今回は logging, tracing, metrics の3つのテレメトリーに着目) テレメトリの収集/解析には、計装 (instrumentation) と エクスポーター (と ダッシュボード) が必要 ※ バックエンドは一例
  • 9. © 2022 NTT DATA Corporation tracing logging metrics Introduction CLOUDNATIVE DAYS TOKYO2022 Service Input Output 計 装 Exp. Telemetry 2/3 Ref: O11yCon2022 ・OpenTelemetryのこれまでとこれから (@ymotongpoo san) (今回は logging, tracing, metrics の3つのテレメトリーに着目) テレメトリの収集/解析には、計装 (instrumentation) と エクスポーター (と ダッシュボード) が必要 ※ バックエンドは一例 Jaeger は例です。Jaeger Clients は既に Deprecated となり、 OpenTelemetry への移行を推奨しています。 ❷ 計装や Exp. は各種 OSS やサービスが API / SDK を提供している => Proprietary (ベンダ依存) に繋がる
  • 10. © 2022 NTT DATA Corporation metrics logging tracing Introduction CLOUDNATIVE DAYS TOKYO2022 Service Input Output 計 装 Exp. Telemetry 3/3 Ref: O11yCon2022 ・OpenTelemetryのこれまでとこれから (@ymotongpoo san) (今回は logging, tracing, metrics の3つのテレメトリーに着目) テレメトリの収集/解析には、計装 (instrumentation) と エクスポーター (と ダッシュボード) が必要 ※ バックエンドは一例 ❸ OpenTelemetry は テレメトリの 計装・エクスポーター の標準仕様 ライブラリやエージェントも提供 OpenTelemetry は言語やテレメトリーによって 対応状況が異なります。最新のステータスは公式で参照できます。
  • 11. © 2022 NTT DATA Corporation (参考) Introduction CLOUDNATIVE DAYS TOKYO2022 OpenTelemetry は アプリの 計装ライブラリ (API, SDK, ・・・など) バックエンドへの 送信プロトコル (OTLP) Otel Collector (プロキシ) を挟んでエクスポートをする の仕様を定めている Ref: O11yCon2022 ・入門 OpenTelemetry Collector (@katzchang san) 図:https://opentelemetry.io/docs/
  • 12. © 2022 NTT DATA Corporation Introduction CLOUDNATIVE DAYS TOKYO2022 (計装・エクスポーターを使い、テレメトリーを取得できることがわかったが、) テレメトリーの活用 には、個別だけではなく、関連性(correlate)を持たせる ことも重要 - テレメトリーからテレメトリーに移る際に、コンテキストを維持する必要 (後述: trace id, exemplar) - 個別の場合、特にトレースにおいては、欲しいトレースを膨大なトレースの中から探し出すのは ''めっちゃ難しい''(''Avoid the needle-in-haystack.'') (Ref: Grafana Labs Paper) なので...理想的には... Logs Metrics ✔ Status OK ✔ Status OK ✔ Status OK ✔ Status OK ❌ ERROR Traces Trace Span A Span B Span C で ERROR & 遅延 「ログのエラーや、メトリクスの異常値は、 なぜそのトレースが興味深いかを教えてくれている。 => トレースを見る時点でなぜ探しているかを知っている」 (Ref: 同上)
  • 13. © 2022 NTT DATA Corporation Introduction CLOUDNATIVE DAYS TOKYO2022 (logging, tracing, metrics は無事取れたが...) テレメトリーの活用 には、個別だけではなく、関連性を持たせる ことも重要 - テレメトリーからテレメトリーに移る際に、コンテキストを維持する必要 (後述: trace id, exemplar) - 特にトレースにおいては、欲しいトレースを膨大なトレースの中から探し出すのは ''めっちゃ難しい''(''Avoid the needle-in-haystack.'') (Ref: Grafana Labs Paper) なので...理想的には... Logs Metrics ✔ Status OK ✔ Status OK ✔ Status OK ✔ Status OK ❌ ERROR Traces Trace Span A Span B Span C で遅延 「ログのエラーや、メトリクスの異常値は、 なぜそのトレースが興味深いかを教えてくれている。 => トレースを見る時点でなぜ探しているかを知っている」 (Ref: 同上) Grafana Labs 要するに... ログ や メトリクス を トレース と紐付けたい Tempo や Loki Prometheus を 使って実現できるみたいなのでやってみる。
  • 14. © 2022 NTT DATA Corporation Observability 基盤の紹介
  • 15. © 2022 NTT DATA Corporation Grafana Labs のドキュメントによると、 どうやら ログやメトリクスにトレース ID を付与 すれば、Grafana 上で ログ・メトリクス -> トレースが可能 Observability 基盤の紹介 CLOUDNATIVE DAYS TOKYO2022 Traces Logs Metrics Trace ID Trace ID Trace ID ✔ Status OK ✔ Status OK ✔ Status OK ✔ Status OK ❌ ERROR Trace Span A Span B Span C で遅延 Trace ID Grafana Dashboard Data Source
  • 16. © 2022 NTT DATA Corporation Observability 基盤の紹介 CLOUDNATIVE DAYS TOKYO2022 ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋) ※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。 BFF User API Todo API Todo App Collector Tempo Promtail Loki Traces Logs Traces Logs Traces Logs Trace ID Trace ID Trace ID Metrics Metrics 今回構築した基盤
  • 17. © 2022 NTT DATA Corporation Observability 基盤の紹介 CLOUDNATIVE DAYS TOKYO2022 ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋) ※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。 BFF User API Todo API Todo App Collector Tempo Promtail Loki Traces Logs Traces Logs Traces Logs Trace ID Trace ID Trace ID Metrics Metrics 各テレメトリー(ログ・メトリクス)に どのようにトレース ID を付与すれば良いかをお話しします。
  • 18. © 2022 NTT DATA Corporation Metrics Observability 基盤の紹介 CLOUDNATIVE DAYS TOKYO2022 BFF User API Todo API Todo App Collector Tempo Promtail Loki { “msg”: “ABC.”, “method”: “GET”, … “trace_id”: “XXX” } Traces Logs Traces Logs Traces Logs Metrics Trace ID Trace ID Trace ID ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋) ※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。 ❶ Loki に保存されるログのラベルセットに、トレース ID を付与すれば良い ・{method=”GET”, trace_id=”XXX”,…} “Start Service A” ・{method=”GET”, trace_id=”XXX”,…} “Start Service B” ❷ Grafana で、どのラベルを トレース ID として解釈 するかを設定 ・今回は ”trace_id” の Value (“XXX”) をトレース ID と設定 {method=”GET”, trace_id=”XXX”,…} “ABC”
  • 19. © 2022 NTT DATA Corporation Metrics Observability 基盤の紹介 CLOUDNATIVE DAYS TOKYO2022 BFF User API Todo API Todo App Collector Tempo Promtail Loki Traces Logs Traces Logs Traces Logs Metrics Trace ID Trace ID Trace ID ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋) ※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。 Traces はトレース ID を持っている
  • 20. © 2022 NTT DATA Corporation Metrics Observability 基盤の紹介 CLOUDNATIVE DAYS TOKYO2022 BFF User API Todo API Todo App Collector Tempo Promtail Loki Traces Logs Traces Logs Traces Logs Metrics Trace ID Trace ID Trace ID ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋) ※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。 右図の Metrics は 、 SpanMetrics = Span 情報から Tempo が生成するメトリクス。以下の4つ。 ❶ traces_spanmetrics_calls_total ❷~❹ traces_spanmetrics_latency_{bucket or count or sum} ある断面で以下のレスポンスタイムのデータ(一例) Request A : 0.1 Request B:0.04 Request C:0.3 Request D:0.6 Request E:1.2 traces_spanmetrics_latency = (*) とすると (*)_count 5 (*)_sum 2.24 (*)_bucket{“le”=0.05} 1 (*)_bucket{“le”=0.5} 3 (*)_bucket{“le”=1} 4 (*)_bucket{“le”=INF} 5 ※ le (less or equal) は histogram_buckets: [0.1, 0.5, 1, INF] Metrics Tempo → Promethesu は remote_write:/api/v1/write の エンドポイントにメトリクスを POST
  • 21. © 2022 NTT DATA Corporation Observability 基盤の紹介 CLOUDNATIVE DAYS TOKYO2022 BFF User API Todo API Todo App Collector Tempo Promtail Loki Traces Logs Traces Logs Traces Logs Trace ID Trace ID Trace ID 以下の Feature を有効化。Tempo: MetrisGenerator Prometheus: remote-write-receiver, exemplar-strage ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋) ※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。 右図の Metrics は 、 SpanMetrics = Span 情報から Tempo が生成するメトリクス。以下の4つ。 ❶ traces_spanmetrics_calls_total ❷~❹ traces_spanmetrics_latency_{bucket or count or sum} ある断面で以下のレスポンスタイムのデータ(一例) Request A : 0.1 Request B:0.04 Request C:0.3 Request D:0.6 Request E:1.2 traces_spanmetrics_latency = (*) とすると (*)_count 5 (*)_sum 2.24 (*)_bucket{“le”=0.05} 1 (*)_bucket{“le”=0.5} 3 (*)_bucket{“le”=1} 4 (*)_bucket{“le”=INF} 5 {*}_bucket{“le”=0.05} # {trace_id="BBB"} 0.04 {*}_bucket{“le”=0.5} # {trace_id="AAA"} 0.1 {*}_bucket{“le”=1} # {trace_id="CCC"} 0.3 各 le に対して Exemplar(模範値) を発行 ※ le (less or equal) は histogram_buckets: [0.1, 0.5, 1, INF] Metrics Metrics (Exemplar) Metrics (Exemplar) Trace ID Trace ID Exemplar {trace_id="AAA"} Exemplar {trace_id="BBB"} Exemplar により メトリクスをトレースと紐づける ことができる Tempo → Promethesu は remote_write:/api/v1/write の エンドポイントにメトリクスを POST
  • 22. © 2022 NTT DATA Corporation Observability 基盤の紹介 CLOUDNATIVE DAYS TOKYO2022 BFF User API Todo API Todo App Collector Tempo Promtail Loki Traces Logs Traces Logs Traces Logs Trace ID Trace ID Trace ID Trace ID Trace ID Trace ID Metrics (Exemplar) ログ・メトリクスをトレースと紐付ける基盤構成(一部抜粋) ※ 時間の都合上、各モニタリング OSS の概要は Appendix に盛り込みます。 Metrics (Exemplar) Trace ID Trace ID ログ・メトリクス を トレース ID と紐付けることができた!
  • 23. © 2022 NTT DATA Corporation Demonstration
  • 24. © 2022 NTT DATA Corporation Demonstration CLOUDNATIVE DAYS TOKYO2022 ここからは実際に Grafana 上でどのような動きになるのかを デモをしながら簡単にご紹介いたします。
  • 25. © 2022 NTT DATA Corporation 以下の2シナリオを想定してデモを実施します。 Demonstration CLOUDNATIVE DAYS TOKYO2022 ❶コ目 ❷コ目 Todo サンプルアプリで擬似エラーを発生。 エラーログ から、関連する トレース へ遷移してみる。 Todo サンプルアプリの目標値として、 「全リクエストで 90%ile 20ms の レスポンスタイムを満たす(デモ用例)」 に反する メトリクスを検知し、関連するトレースへ遷移 してみる。 Traces Logs Metrics (Exemplar) Traces
  • 26. © 2022 NTT DATA Corporation Demonstration CLOUDNATIVE DAYS TOKYO2022 https://drive.google.com/file/d/13nmdxek97arMzQaQ3BEiBle_StF_gDDt/view?usp=sharing
  • 27. © 2022 NTT DATA Corporation 発展:Custom OpenTelemetry Collector
  • 28. © 2022 NTT DATA Corporation 発展として の取得を OpenTelemetry Collector(Otel Collector) で実施する方法について紹介します。 発展:Custom OpenTelemetry Collector Exporter CLOUDNATIVE DAYS TOKYO2022 Metrics (Exemplar) - 今回 Grafana Tempo で用いた MetricsGenerator は、 Otel Collector の部品 である spanmetricsprocessor のミラーリング (参考: Grafana Labs) - spanmetricsprocessor は標準の Otel Collector distro. には現段階では含まれず、 In Development ステータス - Otel Collectrcontrib distro. には含まれている ( :GitHub ) - OpenTelemetry Collector Builder ( :ocb) を用いて spanmetricsprocessor を使える Otel Collector をリビルドすることで、Tempo と同様 SpanMetrics を Prometheus に書き込むことが可能 yaml Receiver Processor spanmetrics processor otelreceiver otelexporter ocb を 使ってビルド Tempo Traces Metrics (Exemplar) Trace ID Collector (Custom) Collector (Custom) Trace ID よりシンプルな構成に ❌
  • 29. © 2022 NTT DATA Corporation まとめ
  • 30. © 2022 NTT DATA Corporation ● OpenTelemetry と OSS を使ってテレメトリー (ログ、トレース、メトリクス) を取得できた ● テレメトリー同士を関連付けることは Observability において重要 ● 今回は一例として Grafana Tempo などの OSS を用いることで実現 できる ● 実際のダッシュボードなどの動きを見て、 Observability について簡単にでもイメージいただければ幸いです! まとめ CLOUDNATIVE DAYS TOKYO2022
  • 31. © 2022 NTT DATA Corporation 引き続き楽しんでいきましょう〜
  • 32. © 2022 NTT DATA Corporation 記載されている会社名、商品名、 またはサービス名は、各社の商標登録または商標です。