EKS オブザーバビリティ : 重要なメトリクス
現状の概要
モニタリングとは、インフラストラクチャとアプリケーションの所有者が、システムの過去と現在の状態を把握し理解するための手段として定義されます。これは、定義されたメトリクスやログの収集に重点を置いています。
モニタリングは長年にわたって進化してきました。 最初は、デバッグとトラブルシューティングのためのデバッグログやダンプログから始まり、syslog や top などのコマンドラインツールを使用した基本的なモニタリングへと進化し、さらにダッシュボードでの可視化が可能になりました。 クラウドの出現と規模の拡大により、現在では過去に比べてより多くの要素を追跡しています。 業界はオブザーバビリティへとシフトしており、これはインフラストラクチャとアプリケーションの所有者が積極的にシステムのトラブルシューティングとデバッグを行うためのソリューションとして定義されています。 オブザーバビリティは、メトリクスから導き出されるパターンの分析により重点を置いています。
メトリクス、なぜ重要なのか?
メトリクスは、作成された時間順に保持される一連の数値データです。 環境内のサーバー数、ディスク使用量、1 秒あたりの処理リクエスト数、リクエストの完了までの遅延時間など、あらゆるものを追跡するために使用されます。 メトリクスは、システムのパフォーマンスを示すデータです。 小規模なクラスターでも大規模なクラスターでも、システムの健全性とパフォーマンスに関する洞察を得ることで、改善が必要な領域の特定、問題のトラブルシューティングとトレース、そしてワークロード全体のパフォーマンスと効率性の向上が可能になります。 これらの変更は、クラスターに費やす時間とリソースに影響を与え、それは直接コストに反映されます。
メトリクス収集
EKS クラスターからのメトリクス収集は、3 つのコンポーネントで構成されています:
- ソース:このガイドに記載されているようなメトリクスの発生源。
- エージェント:EKS 環境で実行されるアプリケーションで、一般的にエージェントと呼ばれ、メトリクスの監視データを収集し、2 番目のコンポーネントにプッシュします。このコンポーネントの例として、AWS Distro for OpenTelemetry (ADOT) や CloudWatch Agent があります。
- 送信先:監視データの保存と分析ソリューションで、このコンポーネントは通常、時系列形式のデータに最適化されたデータサービスです。このコンポーネントの例として、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 Managed Add-ons を通じて EKS クラスターにインストールでき、メトリクス (このページに記載されているものなど) やワークロードのトレースを収集するように設定できます。
AWS は、ADOT アドオンが Amazon EKS と互換性があることを検証しており、最新のバグ修正とセキュリティパッチで定期的に更新されています。