目标不会被普罗米修斯刮掉

Target does not get scraped by prometheus

似乎我无法通过注释方法或 ServiceMonitor 解决方法 prometheus 抓取我的目标。

这是我的 Service 对象公开指标的 spec 部分

spec:
  clusterIP: 10.107.228.89
  ports:
  - name: metricsport
    port: 8282
    protocol: TCP
    targetPort: 8282
  selector:
    app: my-app
    release: my-app
  sessionAffinity: None
  type: ClusterIP

确实公开指标,我通过curl通过集群中的另一个pod对其进行验证

curl http://my-service-metrics:8282/metrics
(...a lot of metrics)

这是我的ServiceMonitorspec

spec:
  endpoints:
  - path: /metrics
    port: metricsport
  namespaceSelector:
    matchNames:
    - default
  selector:
    matchLabels:
      app: my-app
      release: my-app

我还应该 do/try 什么才能让我的指标被 prometheus 抓取?

(目标没有出现在我的http://prometheus/targets

在 Slack 中回答,需要确保 ServiceMonitor 对象本身的标签与 Prometheus 对象上的 serviceMonitorSelector 匹配。