繁体   English   中英

如何配置Prometheus-operator以在Kubernetes上从cAdvisor收集信息?

[英]How can prometheus-operator be configured to collect from cAdvisor on Kubernetes?

我正在使用prometheus-operator来管理Kubernetes集群上的Prometheus部署。 该设置运行良好,可以使用多个ServiceMonitor来从我的许多应用程序容器中提取指标,这些监视器选择Kubernetes终结点,以提供发布指标的网络地址。 在prometheus-operator中,这似乎是典型的(必需的?),Prometheus配置是根据基于ServiceMonitors发现的Kubernetes端点为我生成的。

我还希望我的Prometheus部署能够检索kubelet在每个群集节点上发布的cAdvisor指标 我已验证集群中的kubelet具有cAdvisor并已启用(通过访问端口4194并观察本机cAdvisor Web界面)。 但是,我所缺少的是如何告诉prometheus-operator配置包括每个kubelet / cAdvisor服务器在内的目标的Prometheus部署。

唯一的“文档”我对这个发现是一个普罗米修斯运营商GitHub的问题问为什么海报的群集上发现了一些cAdvisor指标。 该解释表明,prometheus-operator以某种方式创建了kubelet / cAdvisor的Kubernetes端点,然后一个附加的ServiceMonitor找到了它们,并使Prometheus配置了附加目标。 但是,这些Kubernetes端点在我的Kubernetes集群上不存在,而且我还没有找到有关它们为什么会使用的任何信息。

我需要配置什么以便我的Prometheus-operator配置的Prometheus部署可以获取这些指标?

事实证明,有两个问题阻止了cAdvisor指标的收集。

首先,必须启用prometheus-operator中的一个选项,以打开创建和维护kubelet服务和端点的操作员功能(因为kubelet通常没有这些功能)。 --kubelet-service=kube-system/kubelet --config-reloader-image=quay.io/coreos/configmap-reload:v0.0.1到我的操作员配置中后,出现了所需的kubelet端点(我不确定第二个选项做什么或是否有必要;两个都只是从链接文档中复制的)。

接下来,必须通过Prometheus配置选择ServiceMonitor。 匹配kubelet端点的prometheus-operator文档中的ServiceMonitor具有一些标签,但不能保证与已存在的Prometheus资源定义相匹配。 更新ServiceMonitor的标签以使它们被现有的Prometheus选择之后,cAdvisor的统计信息很快就可用于Prometheus部署。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM