簡體   English   中英

使用 prometheus 抓取 jenkins 指標

[英]Scrape jenkins metrics with prometheus

我是 Prometheus 的新手,所以我不確定我做錯了什么,但這些是我的服務和服務監視器定義。

apiVersion: v1
kind: Service
metadata:
  name: jenkins
  annotations:
    prometheus.io/scrape: 'true'
    prometheus.io/port: '8080'
    prometheus.io/path: '/prometheus'
  labels:
    app.kubernetes.io/instance: jenkins
    app.kubernetes.io/component: jenkins
spec:
  type: ClusterIP
  ports:
    - port: 8080
      targetPort: 8080
  selector:
    app: jenkins
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: jenkins
  labels:
    app.kubernetes.io/instance: jenkins
    app.kubernetes.io/component: jenkins
    release: prometheus
spec:
  endpoints:
  - interval: 10s
    path: /prometheus/
    port: "8080"
  jobLabel: app.kubernetes.io/instance
  selector:
    matchLabels:
      app.kubernetes.io/component: jenkins
      app.kubernetes.io/instance: jenkins

但是我的 Jenkins 沒有出現在 Prometheus UI 的目標列表下。 它出現在Service Discovery下,這讓我相信運營商通過以下release: prometheus label。

我已經在 jenkins 上安裝了prometheus plugin ,並且當我 curl https://<JENKINS_URL>/prometheus/時,我能夠查看指標

我想弄清楚為什么 Jenkins 沒有出現在targets列表下。

是否有任何關於如何 go 的適當文檔,或者任何成功實施此操作的人都可以分享任何指針?

沒有比閱讀代碼本身更好的文檔了。

您需要注意ServiceMonitor 的自定義資源定義中的這一行

port:
  description: Name of the service port this endpoint refers to.
               Mutually exclusive with targetPort.
  type: string

基本上,您為名為“8080”的服務端口創建了一個 serviceMonitor。

endpoints:
  - interval: 10s
    path: /prometheus/
    port: "8080"

但是您定義了一個端口號為 8080 的未命名服務。

spec:
  type: ClusterIP
  ports:
    - port: 8080
      targetPort: 8080

你現在看到不匹配了嗎?

您需要僅在 serviceMonitor 中使用 targetPort: 8080 和 targetPort,

或者,更好的是,在 serviceMonitor 中使用 port:“web”,同時將您的服務命名為“web”。

服務監控:

endpoints:
  - interval: 10s
    path: /prometheus/
    port: "web"

服務:

spec:
  type: ClusterIP
  ports:
    - name: "web"
      port: 8080
      targetPort: 8080

您需要在 pod 中添加注釋:)

    annotations:
      prometheus.io/path: /prometheus
      prometheus.io/port: '8080'
      prometheus.io/scrape: 'true'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM