本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Managed Service for Prometheus 支援使用 Grafana 7.3.5 及更新版本,以及稍後在 Amazon Managed Service for Prometheus 工作區中查詢指標。7.3.5 版和更新版本包含對 AWS Signature 第 4 版 (SigV4) 身分驗證的支援。
若要設定 Grafana 以使用 Amazon Managed Service for Prometheus,您必須登入具有 AmazonPrometheusQueryAccess 政策或 aps:QueryMetrics
、aps:GetMetricMetadata
、aps:GetSeries
和 aps:GetLabels
權限的帳戶。如需詳細資訊,請參閱IAM 許可和政策。
設定 up AWS SigV4
Grafana 已新增支援 AWS Signature 第 4 版 (SigV4) 身分驗證的新功能。如需詳細資訊,請參閱簽章版本 4 簽署程序。依預設,不會再 Grafana 伺服器上啟用此功能。若您正在使用 Helm 在 Kubernetes 叢集上部署 Grafana,則以下為啟用此功能的指示。
在您的 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 許可給使用該服務帳戶的任何 Pod 中的容器。如需詳細資訊,請參閱服務帳戶的 IAM 角色。
如果您尚未設定這些服務角色以進行查詢,請遵循 設定服務帳戶的 IAM 角色,以查詢指標 中的指示來設定角色。
然後,您需要在信任關係的條件下新增 Grafana 服務帳戶。
在信任關係的條件下新增 Grafana 服務帳戶
-
在終端機視窗中,判斷 Grafana 伺服器的命名空間和服務帳戶名稱。例如,您可以使用下列命令。
kubectl get serviceaccounts -n
grafana_namespace
-
在 Amazon EKS 主控台中,針對與 EKS 叢集相關聯的服務帳戶開啟 IAM 角色。
-
選擇編輯信任關係。
-
更新「條件」以包含 Grafana 命名空間,以及您在步驟 1 中的命令輸出中找到的 Grafana 服務帳戶名稱。以下是範例。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Federated": "arn:aws:iam::
account-id
:oidc-provider/oidc.eks.aws_region
.amazonaws.com/id/openid
" }, "Action": "sts:AssumeRoleWithWebIdentity", "Condition": { "StringEquals": { "oidc.eks.region
.amazonaws.com/id/openid
:sub": [ "system:serviceaccount:aws-amp:amp-iamproxy-query-service-account", "system:serviceaccount:grafana-namespace
:grafana-service-account-name
" ] } } } ] } -
選擇更新信任政策。
使用 Helm 升級 Grafana 伺服器
此步驟會升級 Grafana 伺服器,以使用您在上一節中新增至 amp_query_override_values.yaml
檔案的項目。
執行下列命令。如需 Grafana 的 Helm 圖表的詳細資訊,請參閱 Grafana 社群 Kubernetes Helm Charts
helm repo add grafana https://grafana.github.io/helm-charts
helm upgrade --install grafana grafana/grafana -n
grafana_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。
-
由於 Prometheus 資料來源會自動附加該字串,因此請在剛指定的 HTTP URL 中移除附加至 URL 的
/api/v1/query
字串, -
在驗證下,選取 SigV4 驗證的切換功能以啟用。
將假設角色 ARN 和外部 ID 欄位保留空白。然後針對預設區域,選取您的 Amazon Managed Service for Prometheus 工作區所在的區域。
-
選擇儲存並測試。
您應該看到以下訊息:資料來源正在運作
-
針對新的資料來源測試 PromQL 查詢:
-
選擇探索。
-
執行範例 PromQL 查詢,例如:
prometheus_tsdb_head_series
-