**已关闭。**此问题为not about programming or software development。目前不接受回答。
此问题似乎与a specific programming problem, a software algorithm, or software tools primarily used by programmers无关。如果您认为此问题与another Stack Exchange site的主题相关,可以发表评论,说明在何处可以回答此问题。
上个月关门了。
Improve this question的
我正在尝试如何使用prometheus-stack从kubelet metrics中获取pod标签**。在我们的环境中,我们需要散列pod名称(由于长度限制),以便我们的应用名称,env和单元名称保存在pod标签中。
我们正在使用prometheus-stack(helm安装)从kubelet(/metrics
,/metrics/cadvisor
)收集指标,由于指标标签中缺少pod标签,很难知道哪个指标属于哪个应用程序。
Prometheus-stack正在使用sd_kubernetes_config
和endpoint规则来收集kubelet指标,其中pod标签的__meta
标签不能使用。有没有其他方法可以在指标标签中获得标签?
我还尝试使用kubeStateMetrics
收集pod_labels指标,在这里我可以获得包含pod标签的指标,但我无法弄清楚如何以cadvisor的指标显示其值,kubeStateMetrics
的指标将用于显示其标签的方式显示这两个指标(在Prometheus图中)。
谢谢你的建议。
1条答案
按热度按时间ct3nt3jp1#
据我所知,你真的可以使用过滤指标based on pod labels。看看原始答案:
您可以使用
+
运算符来连接度量。这里,group_left()
将包括来自正确度量kube_pod_labels
的额外标签:label_source
。您要连接的度量被强制为零(即0 * kube_pod_labels
),以便它不会影响第一个度量的结果。字符串
事实上,这样的指标可能会很长,也很烦人,但是在prometheus中,这是一种有效的方法来创建你所期望的东西,那就是带有pod标签的kubelet指标。
还可以看看this guide-它描述了如何通过PromQL和this another guide的标签连接Prometheus指标-如何使用PromQL连接来更有效地查询Prometheus指标。