ワークスペースへの Prometheus メトリクスの取り込み - Amazon Managed Service for Prometheus

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

ワークスペースへの Prometheus メトリクスの取り込み

メトリクスを取り込む方法の 1 つは、スタンドアロンの Prometheus エージェント (エージェントモードで実行されている Prometheus インスタンス) を使用してクラスターからメトリクスを取得し、Amazon Managed Service for Prometheus に転送してストレージとモニタリングを行うことです。このセクションでは、Helm を使用して Prometheus エージェントの新しいインスタンスをセットアップすることにより、Amazon EKS から Amazon Managed Service for Prometheus ワークスペースへのメトリクスの取り込みを設定する方法について説明します。

メトリクスを保護する方法や可用性の高いメトリクスを作成する方法など、Amazon Managed Service for Prometheus にデータを取り込む他の方法については、「Amazon Managed Service for Prometheus ワークスペースにメトリクスを取り込む」を参照してください。

注記

ワークスペースに取り込まれたメトリクスは、デフォルトで 150 日間保存され、その後自動的に削除されます。この長さは調整可能なクォータ です。

このセクションの手順に従うと、Amazon Managed Service for Prometheus を迅速に設定して稼働させることができます。ワークスペース を既に作成していることを前提としています。このセクションでは、Amazon EKS クラスターに新しい Prometheus サーバーをセットアップし、新しいサーバーはデフォルト設定を使用してエージェントとして機能し、Amazon Managed Service for Prometheus にメトリクスを送信します。この方法には次の前提条件があります。

  • 新しい Prometheus サーバーがメトリクスを収集する Amazon EKS クラスターが必要です。

  • Amazon EKS クラスターには、Amazon EBS CSI ドライバーがインストールされている必要があります (Helm で必要)。

  • Helm CLI 3.0 以降を使用する必要があります。

  • 以下のセクションのステップを実行するには、Linux または MacOS コンピュータを使用する必要があります。

ステップ 1: 新しい Helm チャートリポジトリを追加する

次のコマンドを入力して、新しい Helm チャートリポジトリを追加します。これらのコマンドの詳細については、「Helm Repo」を参照してください。

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo add kube-state-metrics https://kubernetes.github.io/kube-state-metrics helm repo update

ステップ 2: Prometheus 名前空間を作成する

次のコマンドを入力して、Prometheus サーバーとその他のモニタリングコンポーネント用の Prometheus 名前空間を作成します。を、この名前空間に使用する名前prometheus-agent-namespaceに置き換えます。

kubectl create namespace prometheus-agent-namespace

ステップ 3: サービスアカウントの IAM ロールを設定する

この取り込み方法では、Prometheus エージェントが稼働している Amazon EKS クラスターのサービスアカウントの IAM ロールを使用する必要があります。

サービスアカウントの IAM ロールを使用すると、IAM ロールを Kubernetes サービスアカウントに関連付けることができます。このサービスアカウントは、そのサービスアカウントを使用するポッド内のコンテナに AWS アクセス許可を提供できます。詳細については、「サービスアカウントの IAM ロール」を参照してください。

これらのロールをまだ設定していない場合は、「Amazon EKS クラスターからメトリクスを取り込むためのサービスロールの設定」の手順に従ってロールを設定します。そのセクションの手順では、eksctl を使用する必要があります。詳細については、「Amazon Elastic Kubernetes Service の開始方法 - eksctl」を参照してください。

注記

EKS または ではなく AWS 、アクセスキーとシークレットキーのみを使用して Amazon Managed Service for Prometheus にアクセスする場合、 EKS-IAM-ROLE ベースの SigV4 を使用することはできません。

ステップ 4: 新しいサーバーをセットアップしてメトリクスの取り込みを開始する

新しい Prometheus エージェントをインストールし、Amazon Managed Service for Prometheus ワークスペースにメトリクスを送信するには、以下の手順に従います。

新しい Prometheus エージェントをインストールし、Amazon Managed Service for Prometheus ワークスペースにメトリクスを送信するには
  1. テキストエディタを使用して、my_prometheus_values_yaml という名前のファイルを作成し、次の内容を記述します。

    ## The following is a set of default values for prometheus server helm chart which enable remoteWrite to AMP ## For the rest of prometheus helm chart values see: https://github.com/prometheus-community/helm-charts/blob/main/charts/prometheus/values.yaml ## serviceAccounts: server: name: amp-iamproxy-ingest-service-account annotations: eks.amazonaws.com/role-arn: ${IAM_PROXY_PROMETHEUS_ROLE_ARN} server: remoteWrite: - url: https://aps-workspaces.${REGION}.amazonaws.com/workspaces/${WORKSPACE_ID}/api/v1/remote_write sigv4: region: ${REGION} queue_config: max_samples_per_send: 1000 max_shards: 200 capacity: 2500
  2. 次のコマンドを入力して、Prometheus サーバーを作成します。

    • を Prometheus リリース名prometheus-chart-nameに置き換えます。

    • を Prometheus 名前空間の名前prometheus-agent-namespaceに置き換えます。

    helm install prometheus-chart-name prometheus-community/prometheus -n prometheus-agent-namespace \ -f my_prometheus_values_yaml