

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 設定 Grafana 開放原始碼或 Grafana 企業版，以搭配 Amazon Managed Service for Prometheus 使用
<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 Signature 第 4 版 (SigV4) 身分驗證的支援。

若要檢查您的 Grafana 版本，請輸入下列命令，將 *grafana\$1install\$1directory* 取代為 Grafana 安裝的路徑：

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

如果您還沒有獨立的 Grafana，或需要較新的版本，您可以安裝新的執行個體。如需設定獨立 Grafana 的說明，請參閱 [Grafana 文件中的安裝](https://grafana.com/docs/grafana/latest/installation/) Grafana。如需 Grafana 入門的相關資訊，請參閱 [Grafana 文件中的 Grafana 入門](https://grafana.com/docs/grafana/latest/getting-started/getting-started/)。

**AWS 帳戶** – 您必須擁有 AWS 帳戶 具有正確許可的 ，才能存取您的 Amazon Managed Service for Prometheus 指標。

若要設定 Grafana 以使用 Amazon Managed Service for Prometheus，您必須登入具有 **AmazonPrometheusQueryAccess** 政策或 `aps:QueryMetrics`、`aps:GetMetricMetadata`、`aps:GetSeries` 和 `aps:GetLabels` 權限的帳戶。如需詳細資訊，請參閱[IAM 許可和政策](AMP-and-IAM.md)。

下一節將詳細說明從 Grafana 設定身分驗證。

## 步驟 1：設定 up AWS SigV4
<a name="AMP-onboard-standalone-grafana-sigv4"></a>

Amazon Managed Service for Prometheus 與 AWS Identity and Access Management (IAM) 搭配使用，以使用 IAM 憑證保護對 Prometheus APIs 的所有呼叫。依預設，Grafana 中的 Prometheus 資料來源假定 Prometheus 不需要身份驗證。若要讓 Grafana 能夠利用 Amazon Managed Service for Prometheus 身份驗證和授權功能，您必須在 Grafana 資料來源中啟用 SigV4 身份驗證支援。當您使用自我管理的 Grafana 開放原始碼或 Grafana 企業伺服器時，請依照本頁面上的步驟操作。若您正在使用 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 說明文件中的[組態](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 上使用 Windows 命令提示啟用 SigV4，請輸入下列命令。

```
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. 由於 Prometheus 資料來源會自動附加該字串，因此請在剛指定的 HTTP URL 中移除附加至 URL 的 `/api/v1/query` 字串。

   正確的 URL 看起來應該像是 **https://aps-workspaces.us-west-2.amazonaws.com/workspaces/ws-1234a5b6-78cd-901e-2fgh-3i45j6k178l9**。

1. 在**驗證**下，選取**SigV4 驗證**的切換功能以啟用。

1. 您可以直接在 Grafana 中指定長期憑證，或使用預設提供者鏈結來設定 SigV4 授權。直接指定長期憑證可讓您更快速地開始，而下列步驟會先提供這些指示。一旦您更熟悉與 Amazon Managed Service for Prometheus 搭配使用 Grafana，我們建議您使用預設提供者鏈結，因為這提供更佳的彈性和安全性。如需有關設定預設提供者鏈結的詳細資訊，請參閱[指定憑證](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. 選擇**儲存並測試**。

        您應該看到以下訊息：**資料來源正在運作**

        面的螢幕截取畫面顯示存取金鑰、密鑰 SigV4 身份驗證詳細資料設定。  
![\[SigV4 Auth Details form showing configured access keys and default region settings.\]](http://docs.aws.amazon.com/zh_tw/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. 選擇**儲存並測試**。

        您應該看到以下訊息：**資料來源正在運作**

        如果您沒有看到該訊息，下一節會提供連線的疑難排解秘訣。

        下列螢幕截取畫面顯示 SDK 預設 SigV4 身分驗證詳細資料設定。  
![\[SigV4 auth details showing AWS SDK Default provider and us-west-2 region.\]](http://docs.aws.amazon.com/zh_tw/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 說明文件中的[疑難排解](https://grafana.com/docs/grafana/latest/troubleshooting/)。

如果您看到 `Error http: proxy error: NoCredentialProviders: no valid providers in chain`，則預設登入資料提供者鏈結無法找到要使用的有效 AWS 登入資料。確認您已按照[指定憑證](https://docs.aws.amazon.com/sdk-for-go/v1/developer-guide/configuring-sdk.html#specifying-credentials)中的說明設定您的憑證。若您要使用共用組態，請確認 `AWS_SDK_LOAD_CONFIG` 環境已設定為 `true`。