使用 kube-prometheus-stack 的 52.1.0 获取在其他命名空间中运行指标的正确方法是什么。
我有一个在不同命名空间下的端口 5000 上运行的 Windows 导出器,名为指标,我已经关注了许多博客/指南等,但似乎没有一个能够完成收集指标的技巧。
有一些关于如何执行此操作的文档吗?或者调试为什么它没有被拾取的方法?
我的values.yaml中有这个,但它似乎不足以找到我假设的端点,因为我的目标在与我的普罗米修斯堆栈运行的不同命名空间中的边车容器中运行。
prometheus:
enabled: true
additionalServiceMonitors:
- name: "prometheus-windows-pod-exporter-monitor"
selector:
matchLabels:
appType: web
endpoints:
- port: "metrics"
来自此文档:
为了监视其他命名空间,Prometheus 服务器需要适当的 Role 和 RoleBinding 才能从该命名空间发现目标。默认情况下,Prometheus 服务器仅限于它所需的三个命名空间:default、kube-system 以及您通过 $.values.namespace 配置堆栈运行的命名空间。
您可以尝试在ServiceMonitor中添加命名空间。
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: k8s-apps-http
labels:
k8s-apps: http
spec:
jobLabel: k8s-app
selector:
matchExpressions:
- {key: k8s-app, operator: Exists}
namespaceSelector:
matchNames:
- kube-system
- monitoring
-<add you namespace>
endpoints:
- port: http-metrics
interval: 15s
欲了解更多信息,您可以关注此文档。