如何通过创建ServiceMonitor来监视spring-boot服务?

时间:2019-04-12 14:12:03

标签: spring-boot kubernetes openshift prometheus

我正在尝试创建一个服务监视器,该监视器将指示prometheus从我的spring-boot服务中抓取指标,但是找不到正确的方法。

我有一个启用了prometheus的简单微服务,see github for source

我可以在本地运行它,也可以部署到openshift中。在这两种情况下,我都可以看到http://:/ actuator / prometheus端点的指标输出。

由于Openshift 4.0 Developer Preview随附了prometheus和prometheus operator,因此我想简单地创建一个servicemontior对象,该对象将触发操作员创建将由pod指标端点抓取的prometheus配置,但我似乎无法尽管尝试了各种教程,也可以使它正常工作。

这是我的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控制台显示已创建刮刮规则,但我看不到任何吊舱。在菜单“状态”->“目标”下,显示

openshift-monitoring / profile-svc-monitor / 0(0/0起)

有人能对此有所启发吗?

1 个答案:

答案 0 :(得分:0)

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