头图

作者:博睿数据 应用能力中心团队

背 景

在现代云原生架构中,Kubernetes已成为最受欢迎的容器编排平台。为了确保容器化应用的健康与性能,监控在Kubernetes 环境中的重要性不言而喻。在Kubernetes的监控生态中,Prometheus Operator提供的两种强大的监控工具PodMonitor和ServiceMonitor正在成为监控系统中的得力助手。它们能够帮助我们高效地监控集群中的资源。

本文将详细介绍PodMonitor和ServiceMonitor的概念、配置及其应用,帮助你更好地了解如何使用它们来提升Kubernetes的监控能力。
什么是 PodMonitor 和 ServiceMonitor?

在Kubernetes环境中,PodMonitor和ServiceMonitor都是Prometheus Operator提供的自定义资源(Custom Resource Definitions, CRDs)。这两种资源使得 Prometheus可以灵活地收集Pod和Service层面的监控数据。

一、PodMonitor

(一)功能介绍

PodMonitor是专门用于监控Kubernetes中的单个Pod或一组pod的资源。它允许我们通过标签选择器来选择需要监控的Pod,并指定监控指标的端点。PodMonitor的灵活性较高,特别适用于动态或临时性的Pod,例如Job或DaemonSet。

(二)配置方法

  1. 创建PodMonitor资源

    PodMonitor的配置文件需要指定以下内容:

    • 标签匹配:selector:用于匹配Pod的标签选择器。
    • 指标路径:podMetricsEndpoints:指定Pod的指标端口和路径。
    • 自动发现:当符合条件的Pod创建或删除时,PodMonitor 会动态更新监控目标,无需手动干预。
  2. 示例配置

(三)使用场景

  • 独立监控特定Pod:当Pod没有通过Service暴露指标时,PodMonitor是理想的选择。
  • 动态Pod监控:对于生命周期较短的Pod,PodMonitor能够灵活地进行监控。

二、ServiceMonitor

(一)功能介绍

ServiceMonitor是另一种自定义资源定义(CRD),用于监控Kubernetes中的Service。它通过标签选择器来选择Service,并监控其背后的Endpoints。ServiceMonitor更适合监控固定的服务名场景。

(二)配置方法

  1. 创建ServiceMonitor资源

    ServiceMonitor的配置文件需要指定以下内容:

    • Service 发现:selector:用于匹配Service的标签选择器。
    • Endpoint解析:endpoints:指定Service的指标端口和路径。
    • 统一配置:为整个服务定义统一的监控规则(如抓取频率、认证信息)。
  2. 示例配置

    (三)使用场景

服务统一监控:当服务通过Service统一暴露指标时,ServiceMonitor是最佳选择。

三、对比与选择

Bonree ONE一体化智能可观测平台

PodMonitor 、ServiceMonitor实践

(podmonitor-servicemonitor交互关系图)

1.web下发podmonitor/servicemonitor配置到smartgate。
2.smartgate应用该配置,生成podmonitor/servicemonitor对象。
3.smartgate调用kubernetes API查询podmonitor/servicemonitor资源,并同步变更配置至web后端。
4.smartgate根据podmonitor/servicemonitor中的namespace/label/annotation匹配出对应的pod/service,并生成prometheus抓取配置,写入smartgate 配置中。
5.smartgate根据抓取配置,从匹配的pod/service中抓取指标数据,并上报web后端。

总 结

PodMonitor和ServiceMonitor是Prometheus Operator提供的两种强大的监控工具,它们在Kubernetes集群监控中发挥着重要作用。PodMonitor更适合监控动态或临时性的Pod,而ServiceMonitor更适合监控固定的服务。通过合理选择和配置,我们可以高效地监控Kubernetes集群中的各种资源,确保系统的稳定运行。

在云原生架构逐渐普及的今天,Kubernetes的监控工作将越来越重要。掌握 PodMonitor与ServiceMonitor的使用,将使你在Kubernetes监控领域更具优势。

Bonree ONE 2025春季版产品白皮书下载

5月16日,Bonree ONE 2025春季版全球发布,延续一体化智能可观测平台核心定位,围绕国际化拓展、云原生可观测、AI大模型能力、升级用户体验四大方向迭代突破,涵盖十余项核心能力升级,持续拓展智能可观测平台的能力边界。

点击下方海报链接或文末“阅读原文”

即刻免费下载完整版《Bonree ONE 2025春季版产品白皮书》


博睿数据
1 声望4 粉丝

博睿数据(股票代码688229)是国内IT运维监控和可观测性的领导者,中国APM应用性能监控市场份额第一,1000+头部客户的信赖与选择,申请免费试用:[链接]