EKS オブザーバビリティ:重要なメトリクス
現在の状況
モニタリングは、インフラストラクチャとアプリケーションの所有者が、システムの過去と現在の状態を確認し理解するための解決策として定義されます。 これは、定義されたメトリクスやログの収集に焦点を当てています。
モニタリングは長年にわたって進化してきました。 最初は、問題のデバッグやトラブルシューティングのためにデバッグログやダンプログを使用することから始まりました。 その後、syslog や top などのコマンドラインツールを使用した基本的なモニタリングへと進化し、さらにダッシュボードでの可視化が可能になりました。 クラウドの出現と規模の拡大に伴い、現在では過去に比べてより多くのものを追跡しています。
業界はオブザーバビリティへとシフトしており、これはインフラストラクチャとアプリケーションの所有者がシステムを積極的にトラブルシューティングおよびデバッグできるようにする解決策として定義されています。 オブザーバビリティは、メトリクスから導き出されたパターンの観察により重点を置いています。
メトリクス、なぜ重要なのか?
メトリクスは、作成された時間順に保持される一連の数値データです。 環境内のサーバー数、ディスク使用量、1 秒あたりの処理リクエスト数、またはこれらのリクエストの完了にかかる遅延時間など、あらゆるものを追跡するために使用されます。 メトリクスは、システムのパフォーマンスを示すデータです。
小規模なクラスターであれ大規模なクラスターであれ、システムの健全性とパフォーマンスに関する洞察を得ることで、改善が必要な領域を特定し、問題のトラブルシューティングとトレースを行い、ワークロード全体のパフォーマンスと効率を向上させることができます。 これらの変更は、クラスターにかける時間とリソースに影響を与え、直接コストに反映されます。
メトリクス収集
EKS クラスターからメトリクスを収集するには、3つのコンポーネントが必要です:
- ソース:このガイドに記載されているようなメトリクスの発生源。
- エージェント:EKS 環境で実行されるアプリケーションで、多くの場合エージェントと呼ばれます。メトリクスの監視データを収集し、2番目のコンポーネントにこのデータをプッシュします。このコンポーネントの例として、AWS Distro for OpenTelemetry (ADOT) や CloudWatch エージェントがあります。
- 送信先:監視データの保存と分析ソリューションで、このコンポーネントは通常、時系列形式のデータに最適化されたデータサービスです。このコンポーネントの例として、Amazon Managed Service for Prometheus や AWS CloudWatch があります。
注:このセクションでは、設定例は AWS Observability Accelerator の関連セクションへのリンクになっています。これは、EKS メトリクス収集の実装に関する最新のガイダンスと例を確実に得られるようにするためです。
マネージドオープンソースソリューション
AWS Distro for OpenTelemetry (ADOT) は、OpenTelemetry プロジェクトのサポートされているバージョンで、ユーザーが相関のあるメトリクスとトレースを Amazon Managed Service for Prometheus や AWS CloudWatch などの様々なモニタリングデータ収集ソリューションに送信できるようにします。
ADOT は EKS マネージドアドオン を通じて EKS クラスターにインストールでき、(このページに記載されているような) メトリクスやワークロードトレースを収集するように設定できます。
AWS は ADOT アドオンが Amazon EKS と互換性があることを検証しており、最新のバグ修正とセキュリティパッチで定期的に更新されています。
ADOT + AMP
AWS Distro for OpenTelemetry (ADOT)、Amazon Managed Service for Prometheus (AMP)、および Amazon Managed Grafana (AMG) を迅速に導入して稼働させる最も簡単な方法は、AWS Observability Accelerator の インフラストラクチャモニタリングの例 を利用することです。アクセラレータの例では、すぐに使えるメトリクス収集、アラートルール、Grafana ダッシュボードを備えたツールとサービスを環境にデプロイします。
ADOT 用 EKS マネージドアドオン のインストール、設定、運用に関する追加情報については、AWS のドキュメントを参照してください。