本文档介绍了如何配置 Google Kubernetes Engine 部署,以便使用 Google Cloud Managed Service for Prometheus 从 Kube 状态指标中收集指标。本页面介绍如何完成以下任务:
- 设置 Kube State Metrics 以报告指标。
- 为 Managed Service for Prometheus 配置 PodMonitoring 资源以收集导出的指标。
- 在 Cloud Monitoring 中访问信息中心以查看指标。
- 配置提醒规则以监控指标。
以下说明仅在您将代管式收集功能与 Managed Service for Prometheus 搭配使用时适用。 如果您使用的是自行部署的收集功能,请参阅 Kube 状态指标的源代码库以了解安装信息。
这些说明仅作为示例提供,应该适用于大多数 Kubernetes 环境。如果您因为限制性安全或组织政策而无法安装应用或导出器,则我们建议您查阅开源文档以获取支持。
前提条件
要使用 Managed Service for Prometheus 和代管式收集功能从 Kube 状态指标收集指标,您的部署必须满足以下要求:
- 您的集群必须运行 Google Kubernetes Engine 1.21.4-gke.300 或更高版本。
- 您必须运行 Managed Service for Prometheus,并启用代管式收集功能。如需了解详情,请参阅代管式收集功能使用入门。
- 如需使用 Cloud Monitoring 中提供的信息中心进行集成,您必须使用
kube-state-metrics
2.4.2 版或更高版本。如需详细了解可用的信息中心,请参阅安装信息中心。
代管式 Kube State Metrics
GKE 提供 Kube State Metrics 的全代管式部署,作为配置此集成的替代方案。可安装软件包提供了一组有针对性的精选 kube 状态指标,需要较少的设置工作。如需了解详情,请参阅软件包:Kube State Metrics。
安装 Kube 状态指标
您可以使用以下配置来安装 Kube State Metrics:
如需从本地文件应用配置更改,请运行以下命令:
kubectl apply -f FILE_NAME
您还可以使用 Terraform 管理您的配置。
定义规则和提醒
您可以使用以下 Rules
配置来定义指标提醒:
如需从本地文件应用配置更改,请运行以下命令:
kubectl apply -f FILE_NAME
您还可以使用 Terraform 管理您的配置。
如需详细了解如何将规则应用于您的集群,请参阅代管式规则评估和提醒。
此Rules
配置改编自贡献给 kube-state-metrics 代码库的规则和提醒。
验证配置
您可以使用 Metrics Explorer 来验证是否正确配置了导出器。Cloud Monitoring 可能需要一两分钟时间来注入您的指标。
要验证指标是否已注入,请执行以下操作:
-
在 Google Cloud 控制台中,转到 leaderboard Metrics Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 在查询构建器窗格的工具栏中,选择名为 code MQL 或 code PromQL 的按钮。
- 验证已在语言 (Language) 切换开关中选择 PromQL。语言切换开关位于同一工具栏中,用于设置查询的格式。
- 输入并运行以下查询:
up{job="kube-state-metrics", cluster="CLUSTER_NAME", namespace="gmp-public"}
安装信息中心
Cloud Monitoring 提供了一个用于集成的信息中心示例库。示例库包含“Prometheus”信息中心,您可以安装该信息中心以查看 Google Cloud 控制台中的数据。
请注意,Kubernetes 集群 Prometheus 概览信息中心要求安装 Node Exporter。Kubernetes Pod Prometheus 概览信息中心要求安装 Node Exporter 和 cAdvisor/Kubelet。
如需从示例库安装信息中心,请执行以下操作:
-
在 Google Cloud 控制台中,转到 信息中心页面:
如果您使用搜索栏查找此页面,请选择子标题为监控的结果。
- 选择示例库标签页。
- 选择其他类别。
- (可选)如需在不安装信息中心的情况下查看静态预览,请点击预览。
- 选择要安装的信息中心,然后点击 导入。
如需详细了解如何安装信息中心,请参阅安装示例信息中心。
问题排查
如需了解如何排查指标注入问题,请参阅排查注入端问题中的从导出器收集的问题。