Prometheus-operator自定義監控ServiceMonitor


一、ServiceMonitor

1、介紹

用於監控指定的服務狀態

 

感覺ServiceMonitor和PodMonitor差不多。

我這里使用的是Prometheus-operator,所以就直接使用Prometheus-operator的Prometheus

 

 

2、創建一個用於監控的測試項目

[root@master monitor]# cat ServiceMonitor_test_dep.yaml 
kind: Service
apiVersion: v1
metadata:
  name: example-app
  labels:
    app: example-app
spec:
  selector:
    app: example-app
  ports:
  - name: web
    port: 80
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: example-app
spec:
  replicas: 1
  selector:
    matchLabels:
      app: example-app
  template:
    metadata:
      labels:
        app: example-app
    spec:
      containers:
      - name: example-app
        image: nginx:alpine
        ports:
        - name: web
          containerPort: 80

  

3、查看

[root@master monitor]# kubectl get ep -l app=example-app
NAME          ENDPOINTS           AGE
example-app   10.244.167.179:80   60m
[root@master monitor]# curl  10.244.167.179:80 -I
HTTP/1.1 200 OK
Server: nginx/1.17.10
Date: Thu, 11 Jun 2020 02:31:14 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Tue, 14 Apr 2020 14:46:22 GMT
Connection: keep-alive
ETag: "5e95ccbe-264"
Accept-Ranges: bytes

 

4、創建ServiceMonitor

[root@master monitor]# cat   ServiceMonitor_test.yaml 
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: monitor-example-app
  namespace: default
  labels:
    release: mypro  #Prometheus所選擇的標簽
spec:
  namespaceSelector: #監控的pod所在名稱空間
    matchNames: 
    - default 
  selector:  #選擇監控endpoint的標簽
    matchLabels:
      app: example-app
  endpoints:
  - port: web #service中對應的端口名稱

  

5、瀏覽器查看prometheus的Targets監控

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM