提问者:小点点

如何通过创建ServiceMonitor来监控Spring启动服务?


我正在尝试创建一个servicemonitor,它将指示prometheus从我的spring-boot服务中抓取指标,但找不到正确的方法来做到这一点。

我有一个启用了prometheus的简单微服务,源代码见github

我可以在本地运行它,或者部署到openshift中。在这两种情况下,我都可以看到超文本传输协议输出的指标://:/执行器/prometheusendpoint。

由于Openshift 4.0开发者预览版带有prometheus和prometheus运算符,我想简单地创建一个servicemontior对象,该对象将触发运算符创建prometheus配置,该配置将通过pod指标endpoint进行抓取,但我似乎无法让它工作,尽管尝试了各种教程。

这是我的servicemonitor. yaml

apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  name: profile-svc-monitor
  namespace: openshift-monitoring
  labels:
    app: profile-svc
spec:
  selector:
    matchLabels:
      deploymentconfig: profile-svc
    namespaceSelector:
      matchNames:
      - my-project
  endpoints:
  - port: http
    scheme: http
    path: '/actuator/prometheus'
    interval: 15s
    honorLabels: false

创建对象后,prometheus控制台显示已创建抓取规则,但我看不到任何pod。在菜单“状态”下-

openShift-监控/profile-svc-监控/0(0/0 up)

有人能解释一下吗?


共1个答案

匿名用户

您的namespaceSelector应该与selector处于同一级别。