首页 > 解决方案 > 我需要 kubernertes-cadvisor 来监控 kubernetes

问题描述

我已经设置 Prometheus 来监控 Kubernetes。但是,当我观看 Prometheus 仪表板时,我看到kubernetes-cadvisor DOWN

我想知道我们是否需要它来监控 Kubernetes,因为在 Grafana 上我已经获得了不同的信息,例如内存使用情况、磁盘空间......

它会被用来监视容器以发出精确的请求,例如使用特定命名空间的 pod 使用的内存吗?

标签: kubernetesgrafanaprometheus

解决方案


您提供的错误意味着 cAdvisor 的内容不符合 Prometheus 展示格式。[1]但老实说,这是一种可能性,由于您没有提供更多信息,我们现在将不得不留下它(我的意思是 Oliver + Prometheus 和 Grafana 的版本以及您所在的环境所要求的信息运行集群)。

回答您的问题,虽然您不需要使用 cAdvisor 进行监控,但它确实提供了一些重要的指标,并且与 Kubernetes 集成得很好。因此,在您需要容器级指标之前,您应该使用 cAdvisor。如本文所述(您可以在此处找到配置教程):

您不能直接访问 cAdvisor(通过 4194)。您可以(!)通过在 prometheus.yml 文件中复制 job_name(称为“k8s”)、调用副本“cAdvisor”(可能)并插入附加行来定义“metrics_path”来访问 cAdvisor。Prometheus 假设出口商位于“/metrics”上,但对于 cAdvisor,我们的指标位于“/metrics/cadvisor”上。

我认为这可能是原因,但如果这不能解决您的问题,我将尝试在我的集群中重新创建它。

更新:

从您的 yaml 文件来看,您没有将 Prometheus 配置为从 cAdvisor 抓取指标。将此添加到您的 yaml 文件中:

scrape_configs:
- job_name: cadvisor
  scrape_interval: 5s
  static_configs:
  - targets:
    - cadvisor:8080

如此处所指定。


推荐阅读