kubernetes - 我需要 kubernertes-cadvisor 来监控 kubernetes
问题描述
我已经设置 Prometheus 来监控 Kubernetes。但是,当我观看 Prometheus 仪表板时,我看到kubernetes-cadvisor DOWN
我想知道我们是否需要它来监控 Kubernetes,因为在 Grafana 上我已经获得了不同的信息,例如内存使用情况、磁盘空间......
它会被用来监视容器以发出精确的请求,例如使用特定命名空间的 pod 使用的内存吗?
解决方案
您提供的错误意味着 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
如此处所指定。
推荐阅读
- java - 为什么在 Java TreeMap 中调用 iterator.remove() 时相同的 Map.Entry 会发生变化?
- go - 使用 Golang 更新 KML 文件中的节点
- android - 类型不匹配。必需:结果
- >!发现:成功
- r - R - 基于交叉测试的聚合层次结构
- python - PyPDF2 编写的 PDF 显示在 Acrobat 中打开时的更改
- javascript - 带相机的 A 帧多个动画
- linux - 如何在不进入 docker-compose.yml 的情况下添加一行
- flutter - 无法在 MacO 上安装 Flutter,提示解压缩过程不起作用
- reactjs - 使用 react-phone-input-2 作为 Ant AutoComplete 的自定义输入
- c# - 使用 Web Service 时出错:响应消息的内容类型 multipart/related 与绑定的内容类型不匹配