You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为pgbouncer-exporter指标添加Kubernetes ServiceMonitor

通过Kubernetes ServiceMonitor接入pgbouncer-exporter指标到Prometheus

1. 创建对应Service

ServiceMonitor需要依托Service定位到运行pgbouncer-exporter的Pod,先定义一个Service确保能选中你的Deployment Pod:

apiVersion: v1
kind: Service
metadata:
  name: pgbouncer-exporter
  labels:
    app: pgbouncer-exporter
spec:
  selector:
    app: pgbouncer  # 这里要和你的pgbouncer Deployment的labels完全匹配,才能选中目标Pod
  ports:
    - name: metrics
      port: 9100
      targetPort: 9100
      protocol: TCP

执行命令应用:

kubectl apply -f pgbouncer-exporter-service.yaml

2. 定义ServiceMonitor资源

ServiceMonitor是Prometheus Operator提供的CRD,用来告知Prometheus要采集哪些服务的指标,配置如下:

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: pgbouncer-exporter
  labels:
    release: prometheus  # 这个标签要和你的Prometheus实例的serviceMonitorSelector匹配,确保Prometheus能发现它
spec:
  selector:
    matchLabels:
      app: pgbouncer-exporter  # 匹配上面创建的Service的标签
  endpoints:
    - port: metrics  # 对应Service里定义的端口名称
      interval: 30s  # 采集间隔,按需调整
      path: /metrics  # pgbouncer-exporter默认指标路径就是/metrics,无需修改

执行命令应用:

kubectl apply -f pgbouncer-exporter-servicemonitor.yaml

3. 确认Prometheus能发现ServiceMonitor

检查你的Prometheus CR配置,确保serviceMonitorSelector能匹配到ServiceMonitor的标签。示例配置片段:

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: prometheus
spec:
  serviceMonitorSelector:
    matchLabels:
      release: prometheus  # 和ServiceMonitor的metadata.labels里的release值一致
  # 其他配置(如存储、副本数等)...

若之前未配置过,更新Prometheus CR后等待滚动更新即可。

4. 验证采集状态

  • 登录Prometheus UI,进入「Targets」页面,搜索pgbouncer-exporter,查看目标是否处于UP状态
  • 也可用命令查看ServiceMonitor状态:
kubectl get servicemonitor pgbouncer-exporter -o wide

内容的提问来源于stack exchange,提问作者Dev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 17:12:19