設定使用 Helm 從新的 Prometheus 伺服器擷取 - Amazon Managed Service for Prometheus

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

設定使用 Helm 從新的 Prometheus 伺服器擷取

本節中的指示可協助您快速啟動,並使用 Amazon Managed Service for Prometheus 執行。您在 Amazon EKS 叢集中設定新的 Prometheus 伺服器,而新伺服器會使用預設組態將指標傳送至 Prometheus 的 Amazon 受管服務。此主題有以下先決條件:

  • 您必須擁有一個 Amazon EKS 叢集,新的 Prometheus 伺服器將從中收集指標。

  • 您的 Amazon EKS 群集必須安裝 Amazon EBS CSI 驅動程序(Helm 要求)。

  • 您必須使用頭盔 CLI 3.0 或更高版本。

  • 您必須使用 Linux 或 macOS 電腦來執行以下各節中的步驟。

步驟 1:新增 Helm Chart 儲存庫

若要新增 Helm Chart 儲存庫,請輸入下列命令。如需有關這些命令的詳細資訊,請參閱 Helm 儲存庫

helm repo add prometheus-community https://prometheus-community.github.io/helm-charts helm repo add kube-state-metrics https://kubernetes.github.io/kube-state-metrics helm repo update

步驟 2:建立 Prometheus 命名空間

輸入下列命令,為 Prometheus 伺服器和其他監控元件建立 Prometheus 命名空間。Replace (取代) prometheus-namespace 使用您想要的這個名稱空間的名稱。

kubectl create namespace prometheus-namespace

步驟 3:設定服務帳戶的IAM角色

對於我們正在記錄的入職方法,您需要在執行 Prometheus 伺服器的 Amazon EKS 叢集中使用服務帳戶的IAM角色。

使用服務帳戶的IAM角色,您可以將IAM角色與 Kubernetes 服務帳戶建立關聯。然後,此服務帳戶可以為使用該服務帳戶任何 Pod 中的容器提供 AWS 許可。如需詳細資訊,請參閱服務帳戶的IAM角色

如果您尚未設定這些角色,請按照中的 自 Amazon EKS 叢集設定指標擷取作業的服務角色 指示設定角色。本節中的說明需要使用 eksctl。如需詳細資訊,請參閱 Amazon Elastic Kubernetes Service 入門 - eksctl

注意

當您不在EKS或僅使用訪問密鑰 AWS 和密鑰訪問 Prometheus 的 Amazon 託管服務時,則無法使用基於 Sigv4。EKS-IAM-ROLE

步驟 4:設定新伺服器並開始擷取指標

若要安裝新的 Prometheus 伺服器,該伺服器會將指標傳送至您的 Amazon Managed Service for Prometheus 工作區,請按照下列步驟操作。

安裝新的 Prometheus 伺服器,以將指標傳送至您的 Amazon Managed Service for Prometheus 工作區
  1. 使用文字編輯器建立名為 my_prometheus_values_yaml 的檔案,包含下列內容。

    • Replace (取代) IAM_PROXY_PROMETHEUS_ROLE_ARN 使用ARN您在中創建的自 Amazon EKS 叢集設定指標擷取作業的服務角色amp-iamproxy-ingest-role

    • Replace (取代) WORKSPACE_ID 使用您的 Amazon Prometheus 工作區受管服務的 ID。

    • Replace (取代) REGION 使用您的 Amazon Prometheus 受管服務區域。

    ## 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
  2. 輸入下列命令以建立 Prometheus 伺服器。

    • Replace (取代) prometheus-chart-name 與您的 Prometheus 釋放名稱。

    • Replace (取代) prometheus-namespace 使用您的 Prometheus 命名空間的名稱。

    helm install prometheus-chart-name prometheus-community/prometheus -n prometheus-namespace \ -f my_prometheus_values_yaml
    注意

    您可以使用多種方式自訂 helm install 命令。如需詳細資訊,請參閱 Helm 文件中的 Helm 安裝