本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 Helm 设置从新 Prometheus 服务器进行摄取
本部分中的说明有助于您快速启动并运行 Amazon Managed Service for Prometheus。您在EKS亚马逊集群中设置了一台新的 Prometheus 服务器,新服务器使用默认配置向适用于 Prometheus 的亚马逊托管服务发送指标。本方法包含以下先决条件:
-
您必须有一个 Amazon EKS 集群,新的 Prometheus 服务器将从中收集指标。
-
您的亚马逊EKS集群必须安装亚马逊EBSCSI驱动程序(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 命名空间。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 的亚马逊托管服务时,您将无法使用基于的 Sigv4。EKS-IAM-ROLE
步骤 4:设置新服务器并开始摄取指标
要安装将指标发送到您 Amazon Managed Service for Prometheus 工作区的新 Prometheus 服务器,请按照以下步骤操作。
安装新的 Prometheus 服务器以将指标发送到 Amazon Managed Service for Prometheus 工作区
-
使用文本编辑器创建名为
my_prometheus_values_yaml
的文件,其中包含以下内容。-
Replace(替换)
IAM_PROXY_PROMETHEUS_ROLE_ARN
和你ARN在amp-iamproxy-ingest-role中创建的设置服务角色从 Amazon EKS 集群中摄取指标。 -
Replace(替换)
WORKSPACE_ID
使用您的 Prometheus 亚马逊托管服务工作空间的 ID。 -
Replace(替换)
REGION
使用适用于 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
-
-
输入以下命令以创建 Prometheus 服务器。
-
Replace(替换)
prometheus-chart-name
使用你的 Prometheus 版本名称。 -
Replace(替换)
prometheus-namespace
使用你的 Prometheus 命名空间的名字。
helm install
prometheus-chart-name
prometheus-community/prometheus -nprometheus-namespace
\ -f my_prometheus_values_yaml注意
您可以通过多种方式自定义
helm install
命令。有关更多信息,请参阅 Helm 文档中的 Helm 安装。 -