

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

# Amazon Managed Service for Prometheus で使用する Grafana オープンソースまたは Grafana Enterprise のセットアップ
<a name="AMP-onboard-query-standalone-grafana"></a>

Grafana のインスタンスを使用して、Amazon Managed Service for Prometheus のメトリクスをクエリできます。このトピックでは、Grafana のスタンドアロンインスタンスを使用して Amazon Managed Service for Prometheus のメトリクスをクエリする方法について説明します。

## 前提条件
<a name="AMP-onboard-standalone-grafana-prereqs"></a>

**Grafana インスタンス** – Amazon Managed Service for Prometheus で認証できる Grafana インスタンスが必要です。

Amazon Managed Service for Prometheus では、Grafana バージョン 7.3.5 以降を使用してワークスペース内のメトリクスにクエリを実行することがサポートされています。バージョン 7.3.5 以降には、 AWS 署名バージョン 4 (SigV4) 認証のサポートが含まれています。

Grafana のバージョンを確認するには、次のコマンドを入力します。*grafana\$1install\$1directory* は、Grafana インストールへのパスに置き換えます。

```
grafana_install_directory/bin/grafana-server -v
```

スタンドアロンの Grafana をまだ使用していないか、より新しいバージョンが必要な場合は、新しいインスタンスをインストールできます。スタンドアロンの Grafana をセットアップする手順については、Grafana ドキュメントの「[Grafana のインストール](https://grafana.com/docs/grafana/latest/installation/)」を参照してください。Grafana の開始方法については、Grafana ドキュメントの「[Getting started with Grafana](https://grafana.com/docs/grafana/latest/getting-started/getting-started/)」を参照してください。

**AWS アカウント** – Amazon Managed Service for Prometheus のメトリクスにアクセスするには、正しいアクセス許可を持つ AWS アカウント が必要です。

Grafana を Amazon Managed Service for Prometheus と連携するように設定するには、**AmazonPrometheusQueryAccess** ポリシーまたは `aps:QueryMetrics`、`aps:GetMetricMetadata`、`aps:GetSeries`、`aps:GetLabels` のアクセス許可を持つアカウントにログオンする必要があります。詳細については、「[IAM のアクセス許可とポリシー](AMP-and-IAM.md)」を参照してください。

次のセクションでは、Grafana からの認証のセットアップについて詳しく説明します。

## ステップ 1: AWS SigV4 をセットアップする
<a name="AMP-onboard-standalone-grafana-sigv4"></a>

Amazon Managed Service for Prometheus は AWS Identity and Access Management (IAM) と連携して、Prometheus APIsで保護します。デフォルトでは、Grafana の Prometheus データソースは、Prometheus が認証を必要としないものと想定します。Grafana で Amazon Managed Service for Prometheus の認証および認可機能を利用できるようにするには、Grafana データソースで SigV4 認証サポートを有効にする必要があります。自己管理型の Grafana オープンソースサーバーまたは Grafana Enterprise サーバーを使用している場合は、このページの手順に従ってください。Amazon Managed Grafana を使用している場合、SigV4 認証は完全に自動化されます。Amazon Managed Grafana の詳細については、「[Amazon Managed Grafana とは](https://docs.aws.amazon.com/grafana/latest/userguide/what-is-Amazon-Managed-Service-Grafana.html)」を参照してください。

Grafana で SigV4 を有効にするには、`AWS_SDK_LOAD_CONFIG` および `GF_AUTH_SIGV4_AUTH_ENABLED` 環境変数を `true` に設定して Grafana を起動します。`GF_AUTH_SIGV4_AUTH_ENABLED` 環境変数は、Grafana のデフォルト設定をオーバーライドして SigV4 サポートを有効にします。詳細については、Grafana ドキュメントの「[Configuration](https://grafana.com/docs/grafana/latest/administration/configuration/)」を参照してください。

**Linux**

Linux 上のスタンドアロン Grafana サーバーで SigV4 を有効にするには、次のコマンドを入力します。

```
export AWS_SDK_LOAD_CONFIG=true
```

```
export GF_AUTH_SIGV4_AUTH_ENABLED=true
```

```
cd grafana_install_directory
```

```
./bin/grafana-server
```

**Windows**

Windows 上のスタンドアロン Grafana で SigV4 を有効にするには、Windows のコマンドプロンプトを使用して、次のコマンドを入力します。

```
set AWS_SDK_LOAD_CONFIG=true
```

```
set GF_AUTH_SIGV4_AUTH_ENABLED=true
```

```
cd grafana_install_directory
```

```
.\bin\grafana-server.exe
```

## ステップ 2: Grafana で Prometheus データソースを追加する
<a name="AMP-onboard-query-standalone-grafana-datasource"></a>

以下の手順では、Grafana で Prometheus データソースを設定して、Amazon Managed Service for Prometheus メトリクスに対するクエリを実行する方法を説明します。

**Grafana サーバーに Prometheus データソースを追加するには**

1. Grafana コンソールを開きます。

1. **[設定]** で、**[データソース]** を選択します。

1. **[データソースを追加]** を選択します。

1. **[Prometheus]** を選択します。

1. HTTP URL として、Amazon Managed Service for Prometheus コンソールのワークスペースの詳細ページに表示される **[エンドポイント - クエリ URL]** を指定します。

1. 指定した HTTP URL から、URL に追加されている `/api/v1/query` という文字列を削除します。これは、Prometheus データソースによって自動的に追加されるためです。

   正しい URL は、**https://aps-workspaces.us-west-2.amazonaws.com/workspaces/ws-1234a5b6-78cd-901e-2fgh-3i45j6k178l9** のようになります。

1. **[認証]** で、**[SigV4 認証]** のトグルを選択して有効にします。

1. SigV4 認可は、Grafana で長期認証情報を直接指定するか、デフォルトのプロバイダーチェーンを使用して構成できます。長期認証情報を直接指定する方がすぐに開始できるため、以下では最初にその手順を説明します。Amazon Managed Service for Prometheus で Grafana を使用することに慣れてきたら、デフォルトのプロバイダーチェーンを使用することをお勧めします。これにより、柔軟性とセキュリティが向上します。デフォルトのプロバイダーチェーンを設定する方法の詳細については、「[Specifying Credentials](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials)」を参照してください。
   + 長期認証情報を直接使用するには、以下を実行します。

     1. **[SigV4 認証の詳細]** で、**[認証プロバイダー]** として **[アクセスとシークレットキー]** を選択します。

     1. **[アクセスキー ID]** に、 AWS アクセスキー ID を入力します。

     1. **[シークレットアクセスキー]** に、 AWS シークレットアクセスキーを入力します。

     1. **[引き受けロールの ARN]** と **[外部 ID]** フィールドは空白のままにします。

     1. **[デフォルトのリージョン]** で、Amazon Managed Service for Prometheus ワークスペースのリージョンを選択します。このリージョンは、ステップ 5 で指定した URL に含まれているリージョンと一致する必要があります。

     1. **[保存してテスト]** を選択します。

        「**Data source is working**」というメッセージが表示されます。

        次のスクリーンショットは、アクセスキーとシークレットキーを含む SigV4 認証の詳細設定を示しています。  
![\[SigV4 Auth Details form showing configured access keys and default region settings.\]](http://docs.aws.amazon.com/ja_jp/prometheus/latest/userguide/images/sigv4-2-with-credentials-crop.png)
   + 代わりにデフォルトのプロバイダーチェーンを使用するには (本番環境に推奨)、以下を実行します。

     1. **[SigV4 認証の詳細]** で、**[認証プロバイダー]** として **[AWS SDK のデフォルト]** を選択します。

     1. **[引き受けロールの ARN]** と **[外部 ID]** フィールドは空白のままにします。

     1. **[デフォルトのリージョン]** で、Amazon Managed Service for Prometheus ワークスペースのリージョンを選択します。このリージョンは、ステップ 5 で指定した URL に含まれているリージョンと一致する必要があります。

     1. **[保存してテスト]** を選択します。

        「**Data source is working**」というメッセージが表示されます。

        このメッセージが表示されない場合は、次のセクションで、接続に関するトラブルシューティングのヒントを参照してください。

        次のスクリーンショットは、SDK のデフォルトの SigV4 認証の詳細設定を示しています。  
![\[SigV4 auth details showing AWS SDK Default provider and us-west-2 region.\]](http://docs.aws.amazon.com/ja_jp/prometheus/latest/userguide/images/sigv4-screen-shot-crop2.png)

1. 新しいデータソースに対して PromQL クエリをテストします。

   1. **[調査]** を選択します。

   1. 次のようなサンプル PromQL クエリを実行します。

      ```
      prometheus_tsdb_head_series
      ```

## ステップ 3: (オプション) [保存してテスト] が機能しない場合のトラブルシューティング
<a name="AMP-onboard-standalone-grafana-troubleshoot"></a>

前の手順で **[保存してテスト]** を選択したときにエラーが表示される場合は、以下を確認してください。

**HTTP エラー: 見つかりません**

URL に含まれているワークスペース ID が正しいことを確認してください。

**HTTP エラー: 禁止されています**

このエラーは、認証情報が無効であることを意味します。以下をチェックしてください:
+ **[デフォルトのリージョン]** に指定したリージョンが正しいことを確認します。
+ 認証情報に誤字がないことを確認します。
+ 使用している認証情報に **AmazonPrometheusQueryAccess** ポリシーが適用されていることを確認します。詳細については、「[IAM のアクセス許可とポリシー](AMP-and-IAM.md)」を参照してください。
+ 使用している認証情報に、この Amazon Managed Service for Prometheus ワークスペースへのアクセス権があることを確認します。

**HTTP エラー: 不正なゲートウェイ**

このエラーのトラブルシューティングを行うには、Grafana サーバーのログを確認します。詳細については、Grafana ドキュメントの「[Troubleshooting](https://grafana.com/docs/grafana/latest/troubleshooting/)」を参照してください。

が表示された場合`Error http: proxy error: NoCredentialProviders: no valid providers in chain`、デフォルトの認証情報プロバイダーチェーンは、使用する有効な AWS 認証情報を見つけることができませんでした。「[Specifying Credentials](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials)」に従って認証情報が設定されていることを確認してください。共有設定を使用する場合は、`AWS_SDK_LOAD_CONFIG` 環境が `true` に設定されていることを確認してください。