我正在尝试解决在 Prometheus 中按指标进行查询求和和分组的问题,其中分配给指标值的标签对于我的求和和分组要求是唯一的。
我有 ElasticSearch 索引的度量采样大小,其中索引名称标记在度量上。索引的命名如下,并放置在标签“index”中:
project.<projectname>.<uniqueid>.<date>
具体值如下所示:
project.sample-x.ad19f880-2f16-11e7-8a64-jkzdfaskdfjk.2018.03.12
project.sample-y.jkcjdjdk-1234-11e7-kdjd-005056bf2fbf.2018.03.12
project.sample-x.ueruwuhd-dsfg-11e7-8a64-kdfjkjdjdjkk.2018.03.11
project.sample-y.jksdjkfs-2f16-11e7-3454-005056bf2fbf.2018.03.11
因此,如果我在“index”标签中有简短版本的值,我就会这样做:
sum(metric) by (index)
但我想做的是这样的:
sum(metric) by ("project.<projectname>")
我可以在其中按“索引”标签的子字符串进行分组。如何通过 Prometheus 查询来完成此操作?我认为这可能可以使用 label_replace 作为组的一部分来解决,但我不能只看到如何“截断”标签值来实现此目的。
此致
拉斯·米兰德
虽然最好修复指标,但下一个最好的方法是使用metric_relabel_configs
使用相同的技术这篇博文 https://www.robustperception.io/extracting-labels-from-legacy-metric-names/:
metric_relabel_configs:
- source_labels: [index]
regex: 'project\.([^.]*)\..*'
replacement: '${1}'
target_label: project
然后你将拥有一个project
您可以照常使用的标签。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)