翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon EKS クラスターで動作する Grafana を使用したクエリ
Amazon Managed Service for Prometheus では、Grafana バージョン 7.3.5 以降を使用して Amazon Managed Service for Prometheus ワークスペース内のメトリクスにクエリを実行することがサポートされています。バージョン 7.3.5 以降には、 AWS 署名バージョン 4 (SigV4) 認証のサポートが含まれています。
Grafana を Amazon Managed Service for Prometheus と連携するように設定するには、AmazonPrometheusQueryAccess ポリシーまたは aps:QueryMetrics、aps:GetMetricMetadata、aps:GetSeries、aps:GetLabels のアクセス許可を持つアカウントにログオンする必要があります。詳細については、「IAM のアクセス許可とポリシー」を参照してください。
AWS SigV4 のセットアップ
Grafana は、 AWS 署名バージョン 4 (SigV4) 認証をサポートする新機能を追加しました。詳細については、「Signature Version 4 の署名プロセス」を参照してください。Grafana サーバーでは、この機能はデフォルトで有効になっていません。ここでは、Kubernetes クラスターへの Grafana のデプロイに Helm を使用しているものと想定して、この機能を有効にする手順を説明します。
Grafana 7.3.5 以降のサーバーで SigV4 を有効にするには
- 
                    Grafana の設定をオーバーライドする新しい更新ファイルを作成し、 amp_query_override_values.yamlという名前を付けます。
- 
                    以下の内容をファイルに入力し、ファイルを保存します。 account-idを、Grafana サーバーが実行されている AWS アカウント ID に置き換えます。serviceAccount: name: "amp-iamproxy-query-service-account" annotations: eks.amazonaws.com/role-arn: "arn:aws:iam::account-id:role/amp-iamproxy-query-role" grafana.ini: auth: sigv4_auth_enabled: trueこの YAML ファイル内の amp-iamproxy-query-roleは、次の「サービスアカウントの IAM ロールの設定」セクションで作成するロールの名前です。ワークスペースに対してクエリを実行するためのロールが既に作成されている場合は、ファイル内のロールを独自のロール名に置き換えることができます。
このファイルは、後の「Helm を使用した Grafana サーバーのアップグレード」で使用します。
サービスアカウントの IAM ロールの設定
Amazon EKS クラスターで Grafana サーバーを使用している場合は、アクセス制御にサービスアカウントの IAM ロール (サービスロールとも呼ばれます) を使用することをお勧めします。これを実行して IAM ロールを Kubernetes サービスアカウントに関連付けると、サービスアカウントはそのサービスアカウントを使用する任意のポッドのコンテナにアクセス AWS 許可を付与できます。詳細については、「サービスアカウントの IAM ロール」を参照してください。
これらのクエリ用のサービスロールをまだ設定していない場合は、「メトリクスのクエリを実行するためのサービスアカウントの IAM ロールの設定」の手順に従ってロールを設定します。
その後、信頼関係の条件に Grafana サービスアカウントを追加する必要があります。
信頼関係の条件に Grafana サービスアカウントを追加するには
- 
                    ターミナルウィンドウから、Grafana サーバーの名前空間とサービスアカウント名を確認します。例えば、次のコマンドを使用できます。 kubectl get serviceaccounts -ngrafana_namespace
- 
                    Amazon EKS コンソールで、EKS クラスターに関連付けられているサービスアカウントの IAM ロールを開きます。 
- 
                    [信頼関係の編集] を選択します。 
- 
                    Condition を更新して、ステップ 1 のコマンド出力で確認した Grafana 名前空間と Grafana サービスアカウント名を含めます。以下に例を示します。 
- 
                    [信頼ポリシーの更新] を選択します。 
Helm を使用した Grafana サーバーのアップグレード
このステップでは、前のセクションで amp_query_override_values.yaml ファイルに追加したエントリを使用するように Grafana サーバーをアップグレードします。
以下のコマンドを実行します。Grafana 用の Helm チャートの詳細については、「Grafana Community Kubernetes Helm Charts
helm repo add grafana https://grafana.github.io/helm-charts
helm upgrade --install grafana grafana/grafana -ngrafana_namespace-f ./amp_query_override_values.yaml
Grafana での Prometheus データソースの追加
以下の手順では、Grafana で Prometheus データソースを設定して、Amazon Managed Service for Prometheus メトリクスに対するクエリを実行する方法を説明します。
Grafana サーバーに Prometheus データソースを追加するには
- 
                    Grafana コンソールを開きます。 
- 
                    [設定] で、[データソース] を選択します。 
- 
                    [データソースを追加] を選択します。 
- 
                    [Prometheus] を選択します。 
- 
                    HTTP URL として、Amazon Managed Service for Prometheus コンソールのワークスペースの詳細ページに表示される [エンドポイント - クエリ URL] を指定します。 
- 
                    指定した HTTP URL から、URL に追加されている /api/v1/queryという文字列を削除します。これは、Prometheus データソースによって自動的に追加されるためです。
- 
                    [認証] で、[SigV4 認証] のトグルを選択して有効にします。 [引き受けロールの ARN] と [外部 ID] フィールドは空白のままにします。次に、[デフォルトのリージョン] で、Amazon Managed Service for Prometheus ワークスペースのあるリージョンを選択します。 
- 
                    [保存してテスト] を選択します。 「Data source is working」というメッセージが表示されます。 
- 
                    新しいデータソースに対して PromQL クエリをテストします。 - 
                            [調査] を選択します。 
- 
                            次のようなサンプル PromQL クエリを実行します。 prometheus_tsdb_head_series
 
-