Prometheus を使用してクラスターのメトリクスをモニタリングする
Prometheus
Amazon Managed Service for Prometheus は Prometheus 互換のモニタリングおよびアラートサービスであり、コンテナ化されたアプリケーションやインフラストラクチャを大規模に監視することが容易になります。これは、メトリクスの取り込み、ストレージ、クエリ、アラートを自動的にスケーリングするフルマネージド型サービスです。また、AWS セキュリティサービスと統合して、データへの高速かつ安全なアクセスを可能にします。オープンソースの PromQL クエリ言語を使用して、メトリクスをクエリし、それらに関するアラートを作成できます。また、Amazon Managed Service for Prometheus のアラートマネージャーを使用して、重要なアラートのアラートルールを設定することもできます。その後、これらの重要なアラートを Amazon SNS トピックに通知として送信できます。
Amazon EKS での Prometheus の使用には、いくつかの異なるオプションがあります:
-
Amazon EKS クラスターを最初に作成するときに Prometheus メトリクスをオンにできます。また、既存のクラスター用に独自の Prometheus スクレイパーを作成することもできます。このトピックでは、これらのオプションの両方を説明します。
-
Helm を使用して Prometheus をデプロイできます。詳細については、「Helm を使用して Prometheus をデプロイする」を参照してください。
-
コントロールプレーンの raw メトリクスは Prometheus 形式で表示できます。詳細については、「コントロールプレーンの raw メトリクスを Prometheus 形式で取得する」を参照してください。
ステップ 1: Prometheus メトリクスをオンにする
重要
Amazon Managed Service for Prometheus リソースはクラスターのライフサイクル外にあるため、クラスターとは別に管理する必要があります。クラスターを削除するときは、対象コストを抑えるために、該当するスクレイパーも削除してください。詳細については、Amazon Managed Service for Prometheus ユーザーガイドの「スクレイパーの検出と作成」を参照してください。
Prometheus は、スクレイピングと呼ばれるプルベースのモデルを通じて、クラスターからメトリクスを検出して収集します。スクレイパーは、クラスターインフラストラクチャーとコンテナー化されたアプリケーションからデータを収集するように設定されています。Prometheus メトリクスを送信するオプションをオンにすると、Amazon Managed Service for Prometheus は完全マネージド型のエージェントレススクレイパーを提供します。
クラスターをまだ作成していない場合は、クラスターを初めて作成するときにこのオプションをオンにしてメトリクスを Prometheus に送信できます。Amazon EKS コンソールでは、このオプションはクラスターの新規作成の [オブザーバビリティの設定] ステップにあります。詳細については、「Amazon EKS クラスターを作成します。」を参照してください。
既存のクラスターが既にある場合は、独自の Prometheus スクレイパーを作成できます。Amazon EKS コンソールでこれを行うには、クラスターの [オブザーバビリティ] タブに移動し、[スクレイパーの追加] ボタンを選択します。AWS API または AWS CLI でこれを行う場合は、「Amazon Managed Service for Prometheus ユーザーガイド」の「スクレイパーの作成」を参照してください。
Amazon EKS コンソールでスクレイパーを作成する場合、次のオプションを使用できます。
- スクレイパーエイリアスの名前
-
(オプション) スクレイパーの一意のエイリアスの入力。
- 送信先
-
Amazon Managed Service for Prometheus ワークスペースを選択します。ワークスペースは、Prometheus メトリックの保存とクエリ専用の論理スペースです。このワークスペースでは、そのワークスペースにアクセスできるアカウントの Prometheus メトリクスを表示できます。[新しいワークスペースを作成する] オプションでは、指定した [ワークスペースエイリアス] を使用してユーザーに代わってワークスペースを作成するよう Amazon EKS に指示します。[既存のワークスペースを選択] オプションでは、ドロップダウンリストから既存のワークスペースを選択できます。ワークスペースの詳細については、「Amazon Managed Service for Prometheus ユーザーガイド」の「ワークスペースの管理」を参照してください。
- サービスアクセス
-
このセクションでは、Prometheus メトリクスを送信する際に付与する権限の概要を説明します。
-
Amazon Managed Service for Prometheus に、スクレイピングされた Amazon EKS クラスターを記述できるようにします
-
Amazon マネージド Prometheus ワークスペースへのリモート書き込みを許可する
AmazonManagedScraperRole
がすでに存在する場合、スクレイパーはそれを使用します。AmazonManagedScraperRole
リンクを選択すると、[アクセス許可の詳細] が表示されます。AmazonManagedScraperRole
がまだ存在しない場合は、[許可を表示] リンクを選択すると、Prometheus メトリクスを送信して付与している特定の権限を確認できます。 -
- サブネット
-
必要に応じてスクレイパーが継承するサブネットを変更します。グレー表示するサブネットオプションを追加する必要がある場合は、クラスターの作成でネットワークを指定する手順に戻ってください。
- スクレイパー設定
-
必要に応じて YAML 形式でスクレイパー設定を変更します。これを行うには、フォームを使用するか、代替の YAML ファイルをアップロードします。詳細については、「Amazon Managed Service for Prometheus ユーザーガイド」の「スクレイパー設定」を参照してください。
Amazon Managed Service for Prometheus は、AWS マネージドコレクターとしてクラスターと一緒に作成されるエージェントレススクレイパーを指します。AWS マネージドコレクターの詳細については、「Amazon Managed Service for Prometheus ユーザーガイド」の「AWS マネージドコレクターによるメトリクスの取り込み」を参照してください。
重要
-
AWS CLI または AWS API を使用して Prometheus スクレイパーを作成する場合は、その設定を調整して、スクレイパーにクラスター内アクセス許可を付与する必要があります。詳細については、「Amazon Managed Service for Prometheus ユーザーガイド」の「Amazon EKS クラスターの設定」を参照してください。
-
アクセスエントリの代わりに
aws-auth
ConfigMap
を使用する Prometheus スクレイパーが 2024 年 11 月 11 日よりも前に作成されている場合は、Amazon EKS クラスターコントロールプレーンから追加のメトリクスにアクセスするように更新する必要があります。更新された設定については、「Amazon Managed Service for Prometheus ユーザーガイド」の「Manually configuring Amazon EKS for scraper access」を参照してください。
ステップ 2: Prometheus メトリクスを使用する
クラスターで Prometheus メトリクスをオンにした後の使用方法の詳細については、「Amazon Managed Service for Prometheus ユーザーガイド」を参照してください。
ステップ 3: Prometheus スクレイパーを管理する
スクレイパーを管理するには、Amazon EKS コンソールで [オブザーバビリティ] タブを選択します。表には、スクレイパー ID、エイリアス、ステータス、作成日などの情報を含む、クラスターのスクレイパーのリストが表示されます。スクレイパーの追加、スクレイパーの削除、現在のスクレイパーに関する詳細情報の表示を行うことができます。
スクレイパーの詳細を表示するには、スクレイパー ID リンクを選択します。例えば、ARN、環境、ワークスペース ID、IAM ロール、設定、ネットワーク情報を表示できます。スクレイパー ID は、DescribeScraper
や DeleteScraper
などの Amazon Managed Service for Prometheus API オペレーションへの入力として使用できます。Prometheus API の使用に関する詳細については、「Amazon Managed Service for Prometheus API リファレンス」を参照してください。