Prometheus 在 grafana 中查询 table

Prometheus query for table in grafana

当我制作 table 面板并转到 "Options" 选项卡时,列参数设置为自动:列及其顺序由数据查询确定。

是否有关于如何为 grafana tables 编写 prometheus 查询的文档?

我的普罗米修斯数据是一个带有 2 个标签 my_colmy_row 的指标:

my_metric{instance="lh",job="job",my_col="1",my_row="A"} 6
my_metric{instance="lh",job="job",my_col="2",my_row="A"} 8
my_metric{instance="lh",job="job",my_col="1",my_row="B"} 10
my_metric{instance="lh",job="job",my_col="2",my_row="B"} 17

我想制作一个 table 看起来像:

|   | 1 | 2 |
| A | 6 | 8 |
| B | 10| 17|

Grafana 文档中有一些关于 Table 面板的文档:https://grafana.com/docs/features/panels/table_panel/#table-panel

很遗憾,上面的文档似乎不支持您在示例中展示的特定转换。

如果可能,将 prometheus 数据的结构更改为如下所示应该会使这更容易:

my_metric{instance="lh",job="job",col_1="6",col_2="8",my_row="A"}
my_metric{instance="lh",job="job",col_1="10",col_2="17",my_row="B"}

Grafana 7.0.3 可以实现。我认为早期版本也有可能,但自 7.0.0 以来,随着转换的引入,这种方法发生了变化。

添加两个查询:

my_metric{instance="lh",job="job",my_col="1"}
my_metric{instance="lh",job="job",my_col="2"}

使它们成为即时查询并将它们格式化为表格。创建转换 Outer join 并通过 my_col 加入。您应该得到 Value #AValue #B 这两个值。您可以使用转换 Organize fields 重命名它们并删除所有其他字段。