我需要kubernertes-cadvisor来监视kubernetes吗

时间:2019-01-14 14:48:26

标签: kubernetes grafana prometheus

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

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

是否将其用于监视容器以发出精确请求,例如使用特定名称空间的吊舱使用的内存 >?

2 个答案:

答案 0 :(得分:1)

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

回答您的问题,尽管您不需要使用cAdvisor进行监视,但它确实提供了一些重要的指标,并且与Kubernetes集成得很好。因此,在需要容器级别指标之前,应使用cAdvisor。 根据{{​​3}}中的规定(您可以在此处找到配置教程)

  

您不能直接访问cAdvisor(通过4194)。您可以(!)访问   cAdvisor通过在以下位置复制job_name(称为“ k8s”)   prometheus.yml文件,将副本称为“ cAdvisor”(也许)并   插入另一行以定义“ metrics_path”。普罗米修斯   假设出口商使用“ /指标”,但是对于cAdvisor,我们的指标是   在“ / metrics / cadvisor”上。

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

更新:

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

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

根据指定的article

答案 1 :(得分:0)

要获取容器的指标,我们需要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

我希望这会对您有所帮助;)