如何为 Prometheus 配置 ServiceMonitor 来动态发现和采集新服务的指标?
2026-08-11 01:06:54 # 监控

在 Prometheus Operator 模式下,ServiceMonitor 是动态发现、采集微服务指标的标准做法,也是面试高频实操题。

三步搞定

1. 给应用 Service 打 Label

在你的应用 Service 上,加上符合约定的 label,例如:

1
2
3
metadata:
labels:
release: my-app

2. 创建 ServiceMonitor

编写一个 ServiceMonitor 对象,用 label 选择器去匹配上面的 Service:

1
2
3
4
5
6
spec:
selector:
matchLabels:
release: my-app
endpoints:
- port: metrics

3. 自动发现,无需重启

Prometheus Operator 会自动发现新建的 ServiceMonitor,并据此开始抓取对应 Service 背后的 Pod 指标——整个过程无需重启 Prometheus

小结

Service + Label + ServiceMonitor,是 Operator 体系下“加一个新服务就自动被监控”的优雅闭环。