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

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

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

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

  • 您必須擁有 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 命名空間。將 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 的檔案,包含下列內容。

    • 以您在中建立的 ARN 取代 IAM_PROMETHEUS_ROL_ARNamp-iamproxy-ingest-role自 Amazon EKS 叢集設定指標擷取作業的服務角色

    • WORKSPACE_ID 替換為您 Amazon Managed Service for Prometheus 工作區的 ID。

    • REGION 替換為您 Amazon Managed Service for 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 伺服器。

    • prometheus-chart-name以您的 Prometheus 版本名稱取代。

    • prometheus-namespace 替換為您的 Prometheus 命名空間的名稱。

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

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