我已经设置了Prometheus来监视Kubernetes。但是,当我观看Prometheus仪表板时,我看到 kubernetes-cadvisor DOWN
我想知道我们是否需要它来监视Kubernetes,因为在Grafana上我已经获得了不同的信息,例如内存使用情况,磁盘空间...
是否将其用于监视容器以发出精确的请求,例如使用特定命名空间的pod 使用的内存?
最佳答案
您提供的错误意味着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。
关于kubernetes - 我需要kubernertes-cadvisor来监视kubernetes吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54183717/