写点什么

聊点技术 | PodMonitor 与 ServiceMonitor:Kubernetes 监控利器

作者:博睿数据
  • 2025-05-22
    北京
  • 本文字数:1578 字

    阅读完需:约 5 分钟

聊点技术 | PodMonitor与ServiceMonitor:Kubernetes 监控利器

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


背 景


在现代云原生架构中,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 资源

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

  3. 标签匹配:selector:用于匹配 Pod 的标签选择器。

  4. 指标路径:podMetricsEndpoints:指定 Pod 的指标端口和路径。

  5. 自动发现:当符合条件的 Pod 创建或删除时,PodMonitor 会动态更新监控目标,无需手动干预。

  6. 示例配置


(三)使用场景


  • 独立监控特定 Pod:当 Pod 没有通过 Service 暴露指标时,PodMonitor 是理想的选择。

  • 动态 Pod 监控:对于生命周期较短的 Pod,PodMonitor 能够灵活地进行监控。


二、ServiceMonitor


(一)功能介绍


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


(二)配置方法


  1. 创建 ServiceMonitor 资源

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

  3. Service 发现:selector:用于匹配 Service 的标签选择器。

  4. Endpoint 解析:endpoints:指定 Service 的指标端口和路径。

  5. 统一配置:为整个服务定义统一的监控规则(如抓取频率、认证信息)。

  6. 示例配置


(三)使用场景


服务统一监控:当服务通过 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 春季版产品白皮书》


用户头像

博睿数据

关注

国内IT运维监控和可观测性的领导者 2021-07-02 加入

申请免费试用:https://host.huiju.cool/p/e31b1

评论

发布
暂无评论
聊点技术 | PodMonitor与ServiceMonitor:Kubernetes 监控利器_博睿数据_InfoQ写作社区