我需要 kubernetes-cadvisor 来监控 kubernetes

do i need kubernertes-cadvisor up to monitor kubernetes

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

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

它会被用来监控容器以便精确请求例如使用pod的内存具体姓名space?

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

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

you can’t access cAdvisor directly (through 4194). You can (!) access cAdvisor by duplicating the job_name (called “k8s”) in the prometheus.yml file, calling the copy “cAdvisor” (perhaps) and inserting an additional line to define “metrics_path”. Prometheus assumes exporters are on “/metrics” but, for cAdvisor, our metrics are on “/metrics/cadvisor”.

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

更新:

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

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

如指定的那样here

要获取容器的指标,我们需要 CADVISOR!!

要设置它,我只需按照以下步骤进行操作

https://github.com/google/cadvisor

我在我的每个节点上都安装了它! 我 运行 每个

sudo docker run \
  --volume=/:/rootfs:ro \
  --volume=/var/run:/var/run:ro \
  --volume=/sys:/sys:ro \
  --volume=/var/lib/docker/:/var/lib/docker:ro \
  --volume=/dev/disk/:/dev/disk:ro \
  --publish=8080:8080 \
  --detach=true \
  --name=cadvisor \
  google/cadvisor:latest

希望对大家有所帮助 ;)