kubernetes - 目标不会被普罗米修斯刮掉
问题描述
似乎我无法prometheus
通过注释方法或ServiceMonitor
解决方法来抓取我的目标。
这是spec
我的Service
对象公开指标的部分
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)
这是我的ServiceMonitor
spec
spec:
endpoints:
- path: /metrics
port: metricsport
namespaceSelector:
matchNames:
- default
selector:
matchLabels:
app: my-app
release: my-app
我还应该做什么/尝试让我的指标被刮掉prometheus
?
(目标没有出现在我的http://prometheus/targets
)
解决方案
在 Slack 中回答,需要确保 ServiceMonitor 对象本身的标签与serviceMonitorSelector
Prometheus 对象上的标签匹配。