使用 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 集群必须安装亚马逊 EBS CSI 驱动程序(Helm 需要)。

  • 你必须使用 Helm CLI 3.0 或更高版本。

  • 您必须使用 Linux 或 macOS 计算机来执行以下各部分中的步骤。

步骤 1:添加新的 Helm 图表存储库

输入以下命令以添加新的 Helm 存储库。有关这些命令的更多信息,请参阅 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 的亚马逊托管服务,则无法使用基于的 Sigv4。EKS-IAM-ROLE

步骤 4:设置新服务器并开始摄取指标

要安装将指标发送到您 Amazon Managed Service for Prometheus 工作区的新 Prometheus 服务器,请按照以下步骤操作。

安装新的 Prometheus 服务器以将指标发送到 Amazon Managed Service for Prometheus 工作区
  1. 使用文本编辑器创建名为 my_prometheus_values_yaml 的文件,其中包含以下内容。

    • IAM_PROXY_PROMETHEUS_ROLE_ARN 替换为你在中创建的 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 安装