我将Prometheus和Grafana部署到了集群中。
当我打开仪表板时,没有获得有关pod CPU使用率的数据。
当我检查Prometheus UI时,它会显示0/0吊舱,但是群集中有许多吊舱正在运行。
可能是什么原因?我在所有节点上都运行了节点导出器。
我正在获取有关kube-state-metrics的信息
I0218 14:52:42.595711 1 builder.go:112] Active collectors: configmaps,cronjobs,daemonsets,deployments,endpoints,horizontalpodautoscalers,jobs,limitranges,namespaces,nodes,persistentvolumeclaims,persistentvolumes,poddisruptionbudgets,pods,replicasets,replicationcontrollers,resourcequotas,secrets,services,statefulsets
I0218 14:52:42.595735 1 main.go:208] Starting metrics server: 0.0.0.0:8080
这是我的Prometheus配置文件: https://gist.github.com/karthikeayan/41ab3dc4ed0c344bbab89ebcb1d33d16
我能够命中并获取以下数据:
http://localhost:8080/api/v1/nodes/<my_worker_node>/proxy/metrics/cadvisor
答案 0 :(得分:0)
karthikeayan在评论中提到:
好吧,我在
values.yaml
注释中发现了一些有趣的内容, prometheus.io/scrape: 只有当我刮下具有true值的豆荚在k8s configmap中删除此relabel_config,我在prometheus ui中获得了数据。.不幸的是k8s configmap没有注释,我相信头盔会在部署它之前删除注释。
为澄清起见:
kube-state-metrics vs. metrics-server
metrics-server 是一个受 Heapster 启发的项目,其目的是实现Kubernetes监控管道的目标。它是一个集群级别的组件,它通过Summary API定期从Kubelet服务的所有Kubernetes节点中抓取指标。指标被汇总,存储在内存中并以Metrics API格式提供。指标服务器仅存储最新值,不负责将指标转发到第三方目标。
kube-state-metrics 专注于根据Kubernetes的对象状态生成全新的度量标准(例如,基于部署,副本集等的度量标准)。它在内存中保存了Kubernetes状态的整个快照,并基于该快照连续生成新的指标。就像度量服务器一样,它也不负责将其度量导出到任何地方。
将kube-state-metrics作为一个单独的项目也可以从监视系统(例如Prometheus)访问这些指标。