SlideShare a Scribd company logo
7
Most read
8
Most read
13
Most read
- 2022/09/27 Kubernetes Novice Tokyo #21 -
OpneTelemetry を用いた Observability 基盤の実装
with AWS Distro for OpenTelemetry
所属:
氏名:逆井 啓佑(さかさい けいすけ)
© 2022 NTT DATA Corporation
自己紹介
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
逆井 啓佑
さかさい
belongs:
carrier:
3 yrs:”Scrum Team の PO 兼 非機能試験担当”
k8sNovice:
#17:”性能試験は CI/CD にお任せ!”
description:
性能試験の際に、当たり前にトレースやログ、
メトリクスを GCP で見てるが、そもそもこれって
どうやって取得、可視化してるの
...?????
- 2022/09/27 Kubernetes Novice Tokyo #21 -
自己紹介
Observability
(o11y)
テレメトリー
OpenTelemetry
(Otel)
© 2022 NTT DATA Corporation
ログ/トレース
の紐付け
Observability
(o11y)
テレメトリー
OpenTelemetry
(Otel)
ログ/トレース
の紐付け
自己紹介
- 2022/09/27 Kubernetes Novice Tokyo #21 -
k8s 上のアプリに
Observability を整備して基本を勉強 しよう。
=> 今回は 構築した o11y 基盤について LT します!
© 2022 NTT DATA Corporation
Introduction
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
イントロとして Observability 〜 OpenTelemetry まで
学んだことを簡単にお話しします。
※ 勉強するにあたって O11yCon2022 が大変手助けになりました。
イントロページもカンファレンスの Session を多く参考にさせて頂いております。
Ref:
・入門 OpenTelemetry Collector (@katzchang san)
・kubernetes Observability入門 (@yosshi_ san)
Introduction: Observability
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
Observability の Three pillars(三本柱) => 今は Primary Signals と呼ぶ
Logs Traces Metrics
システムの イベント
を時系列で記録 したもの
特定の時間間隔で
測定された統計値
複数のコンポーネントに
またがる リクエスト全体の流れ/
依存関係を可視化 したもの
ログ トレース メトリクス
これらをまとめてテレメトリー
Introduction: OpenTelemetry
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
o11y やるには、テレメトリがないと始まらない
テレメトリの収集 => 計装(Instrumentation) + エクスポータ− (+集めて可視化)
Service
Input Output
計
装
Exp.
テレメトリ
ログ
メトリクス
トレース
Ref:
・OpenTelemetryのこれまでとこれから (@ymotongpoo san)
❶ 計装やエクスポータ−は
(基本的に)アプリに実装する必要がある
1/3
Introduction: OpenTelemetry
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
o11y やるには、テレメトリがないと始まらない
テレメトリの収集 => 計装(Instrumentation) + エクスポータ− (+集めて可視化)
Service
Input Output
計
装
Exp.
テレメトリ
ログ
メトリクス
トレース
Ref:
・OpenTelemetryのこれまでとこれから (@ymotongpoo san)
2/3
❷ 計装や Exp. は各種 OSS やサービスが
API / SDK を提供している
→ Proprietary(ベンダ依存)に繋がる
Introduction: OpenTelemetry
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
o11y やるには、テレメトリがないと始まらない
テレメトリの収集 => 計装(Instrumentation) + エクスポータ− (+集めて可視化)
Service
Input Output
計
装
Exp.
テレメトリ
ログ
メトリクス
トレース
Ref:
・OpenTelemetryのこれまでとこれから (@ymotongpoo san)
❸ OpenTelemetry は
テレメトリの計装・エクスポータ−の 標準仕様
3/3
※ エクスポーターとモニタリングサービスの間に
OpenTelemetry Collector を挟むアーキテクチャが一般的。Reference 群を参考
Introduction: OpenTelemetry
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
o11y やるには、テレメトリがないと始まらない
テレメトリの収集 => 計装(Instrumentation) + エクスポータ− (+集めて可視化)
Service
Input Output
計
装
Exp.
テレメトリ
ログ
メトリクス
トレース
Ref:
・OpenTelemetryのこれまでとこれから (@ymotongpoo san)
❸ OpenTelemetry は
テレメトリの計装・エクスポータ−の 標準仕様
3/3
※ エクスポーターとモニタリングサービスの間に
OpenTelemetry Collector を挟むアーキテクチャが一般的。Reference 群を参考
Introduction はここまでで、
以降検証についてご紹介させていただきます。
© 2022 NTT DATA Corporation
検証環境: AWS Distro for OpneTelemetry(ADOT)
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
今回は AWS Distro for OpenTelemetry(ADOT) を扱うことで、
OpenTelemetry への理解を深めることにしました。
ADOT は、、、
● OpenTelemetry PJ の AWS サポートのディストリビューション
○ OpenTelemetryの仕様に沿って開発
● EKS(Elastic Kubernete Service) 上で OTel を使う ために、
便利なコンポーネントがプリインストールされている! Ref: https://aws-otel.github.io/
検証環境: AWS Distro for OpneTelemetry(ADOT)
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
今回は AWS Distro for OpenTelemetry(ADOT) を扱うことで、
OpenTelemetry への理解を深めることにしました。
1
2
限られた時間で、計装さえすれば、
バックエンドソリューションは X-Ray、Cloud Watch など整備されている点
(自前で Jaeger / Loki / Prometheus など整備もできるが容易ではない)
エンタープライズ的にも、AP の実装は Open 化(OTel 化)しながらも、
AWS のモニタリングサービスは継続的に使いたいといったケースはあると考えられ、
AWS Distro 今後ますます需要が高まると考えたため(スキルセットの獲得)
ADOT の Architecture
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
μサービス
Kubernetes
API Server
ADOT Collector
Prometheus
Receiver
AWS
Prometheus
Exporter
Processor
AWS X-Ray
Receiver
AWS X-Ray
Exporter
Service Account
● Otel Library で計装済のマイクロサービスからテレメトリを受信
● ADOT Collector は EKS の場合 Sidecar や DaemonSet としてデプロイされる
● AWSモニタリングサービスや、サードパーティサービスに送信
今回構築した基盤はこちら
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
Todo
BFF
Todo
API
User
API
DB
todo namespace observability namespace
Fluent
Bit
ADOT Collector
X-Ray
Cloudwatch
Cloudwatch logs
otel-collector.observability.svc.cluster.local:4318
へ、trace や Span を送信
❷ Tracd
❶ Log
❸ Metrics
ログは Golang で
Not Yet Implemented
の Status
Ref: https://opentelemetry.io/status/
Ref:
・OpenTelemetryを知れば世界が平和に (@nwiizo san)
テレメトリの取得: トレースとログ
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
Logs Traces Metrics
今回は時間の都合上、 ログとトレース 取得の検証を紹介
demonstration
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
demonstration
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
サンプル AP を動かすことで、
AWS のモニタリングソリューションで
ログやトレースを可視化し解析できる o11y 基盤を構築できた。
まとめ
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
構築を通して Observability の基礎について学ぶことができた
❶ PJ 全体で o11y 基盤を整備することの重要性
複雑な MSA の動き方を、非開発者や途中参画者がイメージを持つためにトレース情報は有効
(実装を読んで追う前にイメージ持つのはきっと大事)
❷ 普段当たり前に使ってた PJ の o11y 基盤は、
SRE チームの努力の上に成り立っていた ことを肌で感じた...(圧倒的感謝)
© 2022 NTT DATA Corporation
記載されている会社名、商品名、
またはサービス名は、各社の商標登録または商標です。

More Related Content

PDF
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
PPTX
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
PDF
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
PDF
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
PDF
Linux女子部 systemd徹底入門
PPTX
本当は恐ろしい分散システムの話
PPTX
Dockerからcontainerdへの移行
PDF
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
 
わかる!metadata.managedFields / Kubernetes Meetup Tokyo 48
CloudNativePGを動かしてみた! ~PostgreSQL on Kubernetes~(第34回PostgreSQLアンカンファレンス@オンライ...
コンテナを止めるな! PacemakerによるコンテナHAクラスタリングとKubernetesとの違いとは
Docker道場「Dockerの基本概念」0825インフラ勉強会資料
Linux女子部 systemd徹底入門
本当は恐ろしい分散システムの話
Dockerからcontainerdへの移行
【解説】IKE(IIJ Kubernetes Engine):= Vanilla Kubernetes + 何?
 

What's hot (20)

PPTX
Prometheus入門から運用まで徹底解説
PDF
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
PDF
Dockerからcontainerdへの移行
PDF
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
PPTX
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
PDF
DockerとPodmanの比較
PPTX
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
PPTX
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
PDF
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
PDF
戦う情シス!全社 API で社内アプリ開発を加速させよう
PDF
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PPTX
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
PPTX
Azure API Management 俺的マニュアル
PPTX
世界一わかりやすいClean Architecture
PPTX
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
コンテナの作り方「Dockerは裏方で何をしているのか?」
PDF
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
PPTX
SQLチューニング入門 入門編
PDF
コンテナ未経験新人が学ぶコンテナ技術入門
PDF
なぜ「マイクロサービス“化”」が必要なのか
Prometheus入門から運用まで徹底解説
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Dockerからcontainerdへの移行
PostgreSQLのリカバリ超入門(もしくはWAL、CHECKPOINT、オンラインバックアップの仕組み)
Kubernetesでの性能解析 ~なんとなく遅いからの脱却~(Kubernetes Meetup Tokyo #33 発表資料)
DockerとPodmanの比較
世の中のPostgreSQLエンジニアのpsql設定(第34回PostgreSQLアンカンファレンス@オンライン 発表資料)
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
乗っ取れコンテナ!!開発者から見たコンテナセキュリティの考え方(CloudNative Days Tokyo 2021 発表資料)
戦う情シス!全社 API で社内アプリ開発を加速させよう
PostgreSQL13でのレプリケーション関連の改善について(第14回PostgreSQLアンカンファレンス@オンライン)
PostgreSQL開発コミュニティに参加しよう!(PostgreSQL Conference Japan 2021 発表資料)
Azure API Management 俺的マニュアル
世界一わかりやすいClean Architecture
フックを使ったPostgreSQLの拡張機能を作ってみよう!(第33回PostgreSQLアンカンファレンス@オンライン 発表資料)
コンテナの作り方「Dockerは裏方で何をしているのか?」
入門 Kubeflow ~Kubernetesで機械学習をはじめるために~ (NTT Tech Conference #4 講演資料)
SQLチューニング入門 入門編
コンテナ未経験新人が学ぶコンテナ技術入門
なぜ「マイクロサービス“化”」が必要なのか
Ad

Similar to OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kubernetes Novice Tokyo #21 発表資料) (19)

PDF
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
PDF
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
PDF
KubeCon + CloudNativeCon Europe 2019 参加報告
PDF
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
PDF
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~
PDF
Elastic observabilitycansmartlymanagetheappsonkubernetes
PDF
OpenStack Summit Vancouver YVR Ops
PDF
データが覗いたOpenStack Summit Vancouver
PPTX
AWS IoT Eventsで遊んでみた
PDF
Cloud Native Component Framework 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第39回】
PPTX
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
PDF
監視ってなんだっけ?
PPTX
202202 open telemetry .net handson
PDF
Logs are better with elastic apm 20210623
PDF
deep dive distributed tracing
PDF
KubeFlow MeetUp #1 Katibよもやま話
PDF
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
PDF
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
PDF
OpenTelemetryMeetup_2024-11_DENSO_FIoT.pdf
実践!OpenTelemetry と OSS を使った Observability 基盤の構築(CloudNative Days Tokyo 2022 発...
OpenTelemetryでWebシステムの処理を追跡しよう - DjangoCongress JP 2022
KubeCon + CloudNativeCon Europe 2019 参加報告
ログ+メトリック+トレースの組み合わせで構築する一元的なオブザーバビリティ
【Interop Tokyo 2018】 Telemetryの匠が解説~オープン技術を用いたマイクロバースト検知の最前線~
Elastic observabilitycansmartlymanagetheappsonkubernetes
OpenStack Summit Vancouver YVR Ops
データが覗いたOpenStack Summit Vancouver
AWS IoT Eventsで遊んでみた
Cloud Native Component Framework 【クラウドアプリケーションのためのオブジェクト指向分析設計講座 第39回】
JAWS-UG IoT専門支部 講演資料 IoT Analyticsによる構築事例説明
監視ってなんだっけ?
202202 open telemetry .net handson
Logs are better with elastic apm 20210623
deep dive distributed tracing
KubeFlow MeetUp #1 Katibよもやま話
趣味と仕事の違い、現場で求められるアプリケーションの可観測性
PFNのML/DL基盤を支えるKubernetesにおける自動化 / DevOpsDays Tokyo 2021
OpenTelemetryMeetup_2024-11_DENSO_FIoT.pdf
Ad

More from NTT DATA Technology & Innovation (20)

PDF
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
PDF
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
PDF
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
PDF
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
PDF
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
PDF
2025年現在のNewSQL (最強DB講義 #36 発表資料)
PDF
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
PDF
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
PDF
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
PDF
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
PDF
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
PDF
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
PDF
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
PDF
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
PDF
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
PDF
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
PDF
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...
開発中の新機能 Spark Declarative Pipeline に飛びついてみたが難しかった(JEDAI DAIS Recap#2 講演資料)
PostgreSQL18新機能紹介(db tech showcase 2025 発表資料)
PGConf.dev 2025 参加レポート (JPUG総会併設セミナー2025 発表資料)
Can We Use Rust to Develop Extensions for PostgreSQL? (POSETTE: An Event for ...
つくって壊して直して学ぶ Database on Kubernetes (CloudNative Days Summer 2025 発表資料)
2025年現在のNewSQL (最強DB講義 #36 発表資料)
Java in Japan: A Journey of Community, Culture, and Global Integration (JavaO...
Unveiling the Hidden Layers of Java Class Files: Beyond Bytecode (Devnexus 2025)
論理レプリケーションのアーキテクチャ (第52回 PostgreSQLアンカンファレンス@オンライン 発表資料)
実はアナタの身近にある!? Linux のチェックポイント/レストア機能 (NTT Tech Conference 2025 発表資料)
Apache Sparkに対するKubernetesのNUMAノードを意識したリソース割り当ての性能効果 (Open Source Conference ...
PostgreSQL最新動向 ~カラムナストアから生成AI連携まで~ (Open Source Conference 2025 Tokyo/Spring ...
pgbenchのスレッドとクライアント (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
PostgreSQLのgitレポジトリから見える2024年の開発状況 (第51回 PostgreSQLアンカンファレンス@オンライン 発表資料)
ストリーム処理はデータを失うから怖い?それ、何とかできますよ! 〜Apahe Kafkaを用いたストリーム処理における送達保証〜 (Open Source...
生成AI時代のPostgreSQLハイブリッド検索 (第50回PostgreSQLアンカンファレンス@オンライン 発表資料)
DAIS2024参加報告 ~Spark中心にしらべてみた~ (JEDAI DAIS Recap 講演資料)
PostgreSQLのHTAP適応について考える (PostgreSQL Conference Japan 2024 講演資料)
静かに変わってきたクラスファイルを詳細に調べて楽しむ(JJUG CCC 2024 Fall講演資料)
Gartnerも注目するグリーンソフトウェアの実現に向けて (Green Software Foundation Global Summit 2024 T...

OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kubernetes Novice Tokyo #21 発表資料)

  • 1. - 2022/09/27 Kubernetes Novice Tokyo #21 - OpneTelemetry を用いた Observability 基盤の実装 with AWS Distro for OpenTelemetry 所属: 氏名:逆井 啓佑(さかさい けいすけ) © 2022 NTT DATA Corporation
  • 2. 自己紹介 - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation 逆井 啓佑 さかさい belongs: carrier: 3 yrs:”Scrum Team の PO 兼 非機能試験担当” k8sNovice: #17:”性能試験は CI/CD にお任せ!” description: 性能試験の際に、当たり前にトレースやログ、 メトリクスを GCP で見てるが、そもそもこれって どうやって取得、可視化してるの ...?????
  • 3. - 2022/09/27 Kubernetes Novice Tokyo #21 - 自己紹介 Observability (o11y) テレメトリー OpenTelemetry (Otel) © 2022 NTT DATA Corporation ログ/トレース の紐付け
  • 4. Observability (o11y) テレメトリー OpenTelemetry (Otel) ログ/トレース の紐付け 自己紹介 - 2022/09/27 Kubernetes Novice Tokyo #21 - k8s 上のアプリに Observability を整備して基本を勉強 しよう。 => 今回は 構築した o11y 基盤について LT します! © 2022 NTT DATA Corporation
  • 5. Introduction - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation イントロとして Observability 〜 OpenTelemetry まで 学んだことを簡単にお話しします。 ※ 勉強するにあたって O11yCon2022 が大変手助けになりました。 イントロページもカンファレンスの Session を多く参考にさせて頂いております。
  • 6. Ref: ・入門 OpenTelemetry Collector (@katzchang san) ・kubernetes Observability入門 (@yosshi_ san) Introduction: Observability - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation Observability の Three pillars(三本柱) => 今は Primary Signals と呼ぶ Logs Traces Metrics システムの イベント を時系列で記録 したもの 特定の時間間隔で 測定された統計値 複数のコンポーネントに またがる リクエスト全体の流れ/ 依存関係を可視化 したもの ログ トレース メトリクス これらをまとめてテレメトリー
  • 7. Introduction: OpenTelemetry - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation o11y やるには、テレメトリがないと始まらない テレメトリの収集 => 計装(Instrumentation) + エクスポータ− (+集めて可視化) Service Input Output 計 装 Exp. テレメトリ ログ メトリクス トレース Ref: ・OpenTelemetryのこれまでとこれから (@ymotongpoo san) ❶ 計装やエクスポータ−は (基本的に)アプリに実装する必要がある 1/3
  • 8. Introduction: OpenTelemetry - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation o11y やるには、テレメトリがないと始まらない テレメトリの収集 => 計装(Instrumentation) + エクスポータ− (+集めて可視化) Service Input Output 計 装 Exp. テレメトリ ログ メトリクス トレース Ref: ・OpenTelemetryのこれまでとこれから (@ymotongpoo san) 2/3 ❷ 計装や Exp. は各種 OSS やサービスが API / SDK を提供している → Proprietary(ベンダ依存)に繋がる
  • 9. Introduction: OpenTelemetry - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation o11y やるには、テレメトリがないと始まらない テレメトリの収集 => 計装(Instrumentation) + エクスポータ− (+集めて可視化) Service Input Output 計 装 Exp. テレメトリ ログ メトリクス トレース Ref: ・OpenTelemetryのこれまでとこれから (@ymotongpoo san) ❸ OpenTelemetry は テレメトリの計装・エクスポータ−の 標準仕様 3/3 ※ エクスポーターとモニタリングサービスの間に OpenTelemetry Collector を挟むアーキテクチャが一般的。Reference 群を参考
  • 10. Introduction: OpenTelemetry - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation o11y やるには、テレメトリがないと始まらない テレメトリの収集 => 計装(Instrumentation) + エクスポータ− (+集めて可視化) Service Input Output 計 装 Exp. テレメトリ ログ メトリクス トレース Ref: ・OpenTelemetryのこれまでとこれから (@ymotongpoo san) ❸ OpenTelemetry は テレメトリの計装・エクスポータ−の 標準仕様 3/3 ※ エクスポーターとモニタリングサービスの間に OpenTelemetry Collector を挟むアーキテクチャが一般的。Reference 群を参考 Introduction はここまでで、 以降検証についてご紹介させていただきます。 © 2022 NTT DATA Corporation
  • 11. 検証環境: AWS Distro for OpneTelemetry(ADOT) - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation 今回は AWS Distro for OpenTelemetry(ADOT) を扱うことで、 OpenTelemetry への理解を深めることにしました。 ADOT は、、、 ● OpenTelemetry PJ の AWS サポートのディストリビューション ○ OpenTelemetryの仕様に沿って開発 ● EKS(Elastic Kubernete Service) 上で OTel を使う ために、 便利なコンポーネントがプリインストールされている! Ref: https://aws-otel.github.io/
  • 12. 検証環境: AWS Distro for OpneTelemetry(ADOT) - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation 今回は AWS Distro for OpenTelemetry(ADOT) を扱うことで、 OpenTelemetry への理解を深めることにしました。 1 2 限られた時間で、計装さえすれば、 バックエンドソリューションは X-Ray、Cloud Watch など整備されている点 (自前で Jaeger / Loki / Prometheus など整備もできるが容易ではない) エンタープライズ的にも、AP の実装は Open 化(OTel 化)しながらも、 AWS のモニタリングサービスは継続的に使いたいといったケースはあると考えられ、 AWS Distro 今後ますます需要が高まると考えたため(スキルセットの獲得)
  • 13. ADOT の Architecture - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation μサービス Kubernetes API Server ADOT Collector Prometheus Receiver AWS Prometheus Exporter Processor AWS X-Ray Receiver AWS X-Ray Exporter Service Account ● Otel Library で計装済のマイクロサービスからテレメトリを受信 ● ADOT Collector は EKS の場合 Sidecar や DaemonSet としてデプロイされる ● AWSモニタリングサービスや、サードパーティサービスに送信
  • 14. 今回構築した基盤はこちら - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation Todo BFF Todo API User API DB todo namespace observability namespace Fluent Bit ADOT Collector X-Ray Cloudwatch Cloudwatch logs otel-collector.observability.svc.cluster.local:4318 へ、trace や Span を送信 ❷ Tracd ❶ Log ❸ Metrics ログは Golang で Not Yet Implemented の Status Ref: https://opentelemetry.io/status/ Ref: ・OpenTelemetryを知れば世界が平和に (@nwiizo san)
  • 15. テレメトリの取得: トレースとログ - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation Logs Traces Metrics 今回は時間の都合上、 ログとトレース 取得の検証を紹介
  • 16. demonstration - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
  • 17. demonstration - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation サンプル AP を動かすことで、 AWS のモニタリングソリューションで ログやトレースを可視化し解析できる o11y 基盤を構築できた。
  • 18. まとめ - 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation 構築を通して Observability の基礎について学ぶことができた ❶ PJ 全体で o11y 基盤を整備することの重要性 複雑な MSA の動き方を、非開発者や途中参画者がイメージを持つためにトレース情報は有効 (実装を読んで追う前にイメージ持つのはきっと大事) ❷ 普段当たり前に使ってた PJ の o11y 基盤は、 SRE チームの努力の上に成り立っていた ことを肌で感じた...(圧倒的感謝)
  • 19. © 2022 NTT DATA Corporation 記載されている会社名、商品名、 またはサービス名は、各社の商標登録または商標です。