翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
で Kubernetes の既存の Prometheus サーバーからの取り込みを設定する EC2
Amazon Managed Service for Prometheus は、Amazon を実行しているクラスターEKSと Amazon で実行されているセルフマネージド Kubernetes クラスター内の Prometheus サーバーからのメトリクスの取り込みをサポートしますEC2。このセクションの詳細な手順は、Amazon EKSクラスター内の Prometheus サーバー用です。Amazon のセルフマネージド Kubernetes クラスターの手順は同じEC2ですが、Kubernetes クラスターでサービスアカウントのOIDCプロバイダーとIAMロールを自分で設定する必要がある点が異なります。
このセクションの手順では、Kubernetes パッケージマネージャーとして Helm を使用します。
ステップ 1: サービスアカウントのIAMロールを設定する
ドキュメント化しているオンボーディング方法については、Prometheus サーバーが実行されている Amazon EKSクラスターのサービスアカウントにIAMロールを使用する必要があります。これらのロールはサービスロールとも呼ばれます。
サービスロールを使用すると、 IAMロールを Kubernetes サービスアカウントに関連付けることができます。このサービスアカウントは、そのサービスアカウントを使用する任意のポッドのコンテナにアクセス AWS 許可を付与できます。詳細については、IAM「 サービスアカウントの ロール」を参照してください。
これらのロールをまだ設定していない場合は、「Amazon EKS クラスターからメトリクスを取り込むためのサービスロールの設定」の手順に従ってロールを設定します。
ステップ 2: Helm を使用して既存の Prometheus サーバーをアップグレードする
このセクションの手順には、リモート書き込みと sigv4 を設定して、Amazon Managed Service for Prometheus ワークスペースへのリモート書き込みを行えるように Prometheus サーバーを認証および認可する方法が含まれます。
Prometheus バージョン 2.26.0 以降を使用している場合
バージョン 2.26.0 以降の Prometheus サーバーイメージで Helm チャートを使用している場合は、以下の手順に従います。
Helm チャートを使用して Prometheus サーバーからのリモート書き込みを設定するには
-
Helm 設定ファイルに新しいリモート書き込みセクションを作成します。
-
を、 でamp-iamproxy-ingest-role作成した ARNの
${IAM_PROXY_PROMETHEUS_ROLE_ARN}
に置き換えますステップ 1: サービスアカウントのIAMロールを設定する。ロールの形式は ARNである必要がありますarn:aws:iam::
。your account ID
:role/amp-iamproxy-ingest-role -
${WORKSPACE_ID}
は、Amazon Managed Service for Prometheus のワークスペース ID に置き換えます。 -
${REGION}
は、Amazon Managed Service for Prometheus ワークスペースのリージョン (us-west-2
など) に置き換えます。
## 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
-
-
Helm を使用して既存の Prometheus サーバーの構成を更新します。
-
prometheus-chart-name
は、Prometheus リリース名に置き換えます。 -
prometheus-namespace
は、Prometheus サーバーがインストールされている Kubernetes 名前空間に置き換えます。 -
my_prometheus_values_yaml
は、Helm 設定ファイルのパスに置き換えます。 -
current_helm_chart_version
は、Prometheus サーバーの Helm チャートの現在のバージョンに置き換えます。現在のチャートのバージョンは、helm listコマンドを使用して確認できます。
helm upgrade
prometheus-chart-name
prometheus-community/prometheus \ -nprometheus-namespace
\ -fmy_prometheus_values_yaml
\ --versioncurrent_helm_chart_version
-
以前のバージョンの Prometheus 使う
2.26.0 より前のバージョンの Prometheus を使用している場合は、以下の手順に従います。これらのステップではサイドカーアプローチを使用します。これは、以前のバージョンの Prometheus では AWS 署名バージョン 4 の署名プロセス (AWS SigV4) がネイティブにサポートされていないためです。
これらの手順では、Prometheus のデプロイに Helm を使用しているものと想定します。
Prometheus サーバーからのリモート書き込みを設定するには
-
Prometheus サーバーで、新しいリモート書き込み設定を作成します。まず、新しい更新ファイルを作成します。このファイルの名前を
amp_ingest_override_values.yaml
. とします。次の値を YAML ファイルに追加します。
serviceAccounts: server: name: "amp-iamproxy-ingest-service-account" annotations: eks.amazonaws.com/role-arn: "${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}" server: sidecarContainers: - name: aws-sigv4-proxy-sidecar image: public.ecr.aws/aws-observability/aws-sigv4-proxy:1.0 args: - --name - aps - --region - ${REGION} - --host - aps-workspaces.${REGION}.amazonaws.com - --port - :8005 ports: - name: aws-sigv4-proxy containerPort: 8005 statefulSet: enabled: "true" remoteWrite: - url: http://localhost:8005/workspaces/${WORKSPACE_ID}/api/v1/remote_write
${REGION}
は、Amazon Managed Service for Prometheus ワークスペースのリージョンに置き換えます。を、 でamp-iamproxy-ingest-role作成した ARNの
${SERVICE_ACCOUNT_IAM_INGEST_ROLE_ARN}
に置き換えますステップ 1: サービスアカウントのIAMロールを設定する。ロールの形式は ARNである必要がありますarn:aws:iam::
。your account ID
:role/amp-iamproxy-ingest-role${WORKSPACE_ID}
は、ワークスペース ID に置き換えます。 -
Prometheus Helm チャートをアップグレードします。まず、以下のコマンドを入力して Helm チャート名を確認します。このコマンドの出力で、名前に
prometheus
という文字列を含むチャートを探します。helm ls --all-namespaces
次に、以下のコマンドを入力します。
helm upgrade --install
prometheus-helm-chart-name
prometheus-community/prometheus -nprometheus-namespace
-f ./amp_ingest_override_values.yaml置換
prometheus-helm-chart-name
を、前のコマンドで返された Prometheus helm チャートの名前に置き換えます。置換prometheus-namespace
を名前空間の名前に置き換えます。
Helm チャートのダウンロード
Helm チャートをまだローカルにダウンロードしていない場合は、次のコマンドを使用してダウンロードできます。
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm pull prometheus-community/prometheus --untar