Contenu connexe
Similaire à OpenTelemetryを用いたObservability基礎の実装 with AWS Distro for OpenTelemetry(Kubernetes Novice Tokyo #21 発表資料) (20)
Plus de NTT DATA Technology & Innovation (20)
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
ログ/トレース
の紐付け
- 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)
- 18. まとめ
- 2022/09/27 Kubernetes Novice Tokyo #21 - © 2022 NTT DATA Corporation
構築を通して Observability の基礎について学ぶことができた
❶ PJ 全体で o11y 基盤を整備することの重要性
複雑な MSA の動き方を、非開発者や途中参画者がイメージを持つためにトレース情報は有効
(実装を読んで追う前にイメージ持つのはきっと大事)
❷ 普段当たり前に使ってた PJ の o11y 基盤は、
SRE チームの努力の上に成り立っていた ことを肌で感じた...(圧倒的感謝)
- 19. © 2022 NTT DATA Corporation
記載されている会社名、商品名、
またはサービス名は、各社の商標登録または商標です。