【レポート】OpenTelemetry によるエンドツーエンドのオブザーバビリティの実現(パートナーセッション) #PAR-04 #AWSSummit
コンサル部のとばち(@toda_kk)です。
本記事は、AWS Summit Online Japan 2021 にて行われた動画セッション「OpenTelemetry によるエンドツーエンドのオブザーバビリティの実現」のレポートです。
このセッションでは、OpenTelemetryについての説明と、実際に使い始めてみるためのデモやサンプルコードの紹介がありました。
特にデモに関しては、本記事では詳細な内容まで記載しませんので、ぜひセッションの動画をご覧ください。
セッション概要
環境が複雑化しパフォーマンス問題を理解してデバッグすることが難しくなると分析用データ収集が更に困難になります。多くの場合データはサイロ化されており実用的な情報が得られません。ログ、メトリクス、トレースデータが異なる場所に存在しバラバラに見えるデータをどのようにして一元化するか?それが OpenTelemetry、サービスやソフトウェアからテレメトリ・データを作成収集しデータを様々な分析ツールに転送してパフォーマンスのトラブルシューティングを迅速化するためのエンドツーエンドのオブザーバビリティを提供します。
PAR-04 Splunk Services Japan 合同会社
スピーカー
Splunk Inc. APAC Senior Sales Engineer 別役良治 氏
セッション動画
OpenTelemetry によるエンドツーエンドのオブザーバビリティの実現(パートナーセッション) - Summits JP Production
セッションレポート
大規模サービスの管理はかつてないほど困難に
- さまざまなAWSサービスやリソースを利用してシステムを構築している
- EC2、S3、Aurora、EKS......
- 分散されたインフラリソースの作成、マイクロサービスアーキテクチャなど
- Observabilityの重要性が高まっている
- それぞれのサービスの依存関係を整理し、ユーザビリティをEnd to Endで把握することが重要になっている
- AWSだけでなくオンプレミスとのハイブリットや、SaaSの利用、マルチクラウド構成といった複雑なインフラを把握する難しさ
- 複雑なシステムのObservabilityを、単一かつオープンスタンダードな方法で実現するのがOpenTelemetry
- メトリクス: 障害発生の通知や問題の検出に利用される
- トレース: トランザクションとリソースの関連付けを行い、分散システムでの問題の発生原因の特定に役立つ
- ログ: 問題の根本原因の特定に役立つ
OpenTelemetryによる監視データの一元化
- OpenTelemetryとは?
- 2つのOSSプロジェクトである OpenTracing と OpenCensus を統合したプロジェクト
- 分散トレーシング と インフラメトリクス収集 を統合
- 特定のベンダーに依存しないアーキテクチャを実現する
- さまざまなプログラミング言語に合わせて作成されたSDKが提供されている
- 言語に合わせたカスタムスパンやメトリクスを取得できる
- Exporterが標準搭載されており、例えばJeagerやZipkinといったさまざまなバックエンドにTelemetryデータを送ることができる
- OpenTelemetry Collector
- インフラのメトリクスを取得する
- データ送信のエンドポイントを増やしたり、秘匿情報をマスキングしたりできる
- アプリケーションコードの変更をすることなく、自動的に最適化された設定が可能
デモ・サンプル
自動Instrumentationのデモ動画とサンプルコード
- https://github.com/signalfx/apmworkshop
- EC2、Pythonコード、Splunkを利用
- https://github.com/signalfx/splunk-otel-java-lambda
- Javaを利用したSplunk APMのLambdaラッパー
ぜひ、実際に手を動かしてみてください
デモでは、OpentelemetryとSplunkを利用して簡単にObservabilityが実現できるようすが紹介されていました。
また、サンプルコードやチュートリアルが用意されています。ぜひ実際に手を動かしながら、OpenTelemetryを利用した監視環境の構築を体験してみていただきたいです。
以上、コンサル部のとばち(@toda_kk)でした。