我正在尝试创建一个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)
有人能解释一下吗?
您的namespaceSelector
应该与selector
处于同一级别。