想象一下我有这样的指标:
sample_metric{type="some-type1-1234"} 2
sample_metric{type="some-type1-5678"} 1
sample_metric{type="some-type2-9876"} 4
sample_metric{type="some-type2-4321"} 3
Run Code Online (Sandbox Code Playgroud)
现在我想根据遵循相同模式的类型对指标值进行求和。因此,对于上面的例子,期望的结果是有 2 个和:
type1: 3
type2: 7
Run Code Online (Sandbox Code Playgroud)
这个问题与这个问题有点相似,但是就我而言,我事先不知道这些组。我只知道他们遵循的模式。有没有一种方法可以使用正则表达式通过一个查询来实现这一目标?
我正在尝试解决在 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
因此,如果我在“索引”标签中有简短版本的值,我会这样做:
sum(metric) by (index)
但我想做的是这样的:
sum(metric) by ("project.<projectname>")
我可以在其中按“索引”标签的子字符串进行分组。这如何通过 Prometheus 查询来完成?我认为这可能可以使用 label_replace 作为组的一部分来解决,但我不能只看到如何“截断”标签值来实现这一点。
此致
拉斯米兰