本文档介绍了如何配置 Google Kubernetes Engine 部署,以便使用 Google Cloud Managed Service for Prometheus 从 HAProxy 收集指标。本页面介绍如何完成以下任务:
- 为 HAProxy 设置导出器以报告指标。
- 为 Managed Service for Prometheus 配置 PodMonitoring 资源以收集导出的指标。
- 在 Cloud Monitoring 中访问信息中心以查看指标。
- 配置提醒规则以监控指标。
只有在您将代管式收集功能与 Managed Service for Prometheus 搭配使用时,这些说明才适用。如果您使用的是自行部署的收集功能,请参阅 HAProxy 导出器的源代码库以了解安装信息。
如需了解 HAProxy,请参阅 HAProxy。
前提条件
如需使用 Managed Service for Prometheus 和代管式收集功能从 HAProxy 收集指标,您的部署必须满足以下要求:
- 您的集群必须运行 Google Kubernetes Engine 1.21.4-gke.300 或更高版本。
- 您必须运行 Managed Service for Prometheus,并启用代管式收集功能。如需了解详情,请参阅代管式收集功能使用入门。
- 如需使用 Cloud Monitoring 中提供的信息中心进行 HAProxy 集成,您必须使用
haproxy_exporter
v0.13.0 或更高版本。如需详细了解可用的信息中心,请参阅查看信息中心。
安装 HAProxy 导出器
我们建议您将 HAProxy 导出器 haproxy_exporter
作为 Sidecar 安装到 HAProxy 工作负载。如需了解如何使用 Sidecar,请参阅具有多容器 pod 的 Kubernetes 上的扩展应用。
如需将 haproxy_exporter
作为 Sidecar 安装到 HAProxy,请修改 HAProxy 配置,如以下示例所示:
您必须将开头为 +
符号的所有行添加到您的配置中。
haproxy.cfg
中建议的更改使用“stats enable”指令定义前端并启用 HAProxy 统计信息页面。此前端可由 haproxy_exporter 爬取。如需了解详情,请参阅探索 HAProxy 统计信息页面。如需从本地文件应用配置更改,请运行以下命令:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
您还可以使用 Terraform 管理您的配置。
定义 PodMonitoring 资源
对于目标发现,Managed Service for Prometheus Operator 需要与同一命名空间中的 HAProxy 导出器对应的 PodMonitoring 资源。
您可以使用以下 PodMonitoring 配置:
确保标签选择器和端口与安装 HAProxy 导出器中使用的选择器和端口匹配。
如需从本地文件应用配置更改,请运行以下命令:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
您还可以使用 Terraform 管理您的配置。
定义规则和提醒
您可以使用以下 Rules
配置来定义有关 HAProxy 指标提醒:
如需从本地文件应用配置更改,请运行以下命令:
kubectl apply -n NAMESPACE_NAME -f FILE_NAME
您还可以使用 Terraform 管理您的配置。
如需详细了解如何将规则应用于您的集群,请参阅代管式规则评估和提醒。
验证配置
您可以使用 Metrics Explorer 验证您是否正确配置了 HAProxy 导出器。Cloud Monitoring 可能需要一两分钟时间来注入您的指标。
要验证指标是否已注入,请执行以下操作:
- 在 Google Cloud 控制台中,选择 Monitoring 或点击以下按钮:
转到 Monitoring - 在导航窗格中,选择
Metrics Explorer。
- 选择 PromQL 标签页,然后运行以下查询:
up{job="haproxy", cluster="CLUSTER_NAME", namespace="NAMESPACE_NAME"}
查看信息中心
Cloud Monitoring 集成包括 HAProxy Prometheus 概览信息中心。当您配置集成时,系统会自动安装信息中心。您还可以在不安装集成的情况下查看信息中心的静态预览。
如需查看已安装的信息中心,请执行以下操作:
- 在 Google Cloud 控制台中,选择 Monitoring 或点击以下按钮:
转到 Monitoring - 在导航窗格中,选择
信息中心。
- 选择信息中心列表标签页。
- 选择集成类别。
- 点击信息中心的名称,例如 HAProxy Prometheus 概览。
如需查看信息中心的静态预览,请执行以下操作:
- 在 Google Cloud 控制台中,选择 Monitoring 或点击以下按钮:
转到 Monitoring - 在导航窗格中,选择
集成。
- 点击 Kubernetes Engine 部署平台过滤条件。
- 找到 HAProxy 集成,然后点击查看详情。
- 选择信息中心标签页。
问题排查
如需了解如何排查指标注入问题,请参阅排查注入端问题中的从导出器收集的问题。