prometheus增加需要采集数据的pod

Prometheus ---serviceMonitorSelector--- ServiceMonitor(描述监控对象信息) ---matchLabels--- Service(k8s服务发现)

Service+Deploy yaml定义

kind: Service
apiVersion: v1
metadata:
  name: app1
  labels:
    app: app1 # ServiceMonitor会使用该标签来关联
spec:
  selector:
    app: app1 # 关联pod
  ports:
  - name: web # ServiceMonitor会使用该name来关联采集端口
   port: 8080
   targetPort: 8080
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: app1
spec:
  selector:
    matchLabels:
       app: app1 # 关联pod
  replicas: 3
  template:
    metadata:
      labels:
        app: app1 # Service+Deploy会使用该标签来关联pod
    spec:
      containers:
      - name: app1
        image: tomcat:latest
        ports:
        - name: web

ServiceMonitor yaml定义

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: app1
  namespace: monitoring
  labels:
    app: backend # Prometheus会使用该标签来关联
spec:
  namespaceSelector:
    matchNames:
    - default
  selector:
    matchLabels:
      app: app1 # 关联service的label
  endpoints:
  - port: web # 关联service的port

Prometheus yaml定义

apiVersion: monitoring.coreos.com/v1
kind: Prometheus
metadata:
  name: tomcat
  namespace: monitoring
spec:
  serviceMonitorSelector:
    matchLabels:
      app: backend # 关联ServiceMonitor

 

posted on 2026-03-07 11:15  王景迁  阅读(9)  评论(0)    收藏  举报

导航