2

在 Prometheus 中,给出了下面的指标定义,我如何为指标系列中排名前 5 位的重复设备呈现表格?

top_5_noisy_devices:

    { "device" : "1234", "type" : "foo"}
    { "device" : "1234", "type" : "foo"}
    { "device" : "1234", "type" : "foo"}
    { "device" : "2345", "type" : "foo"}
    { "device" : "4231", "type" : "foo"}
    { "device" : "4354", "type" : "foo"}

我想在 Grafana 中为上述标签呈现一个表格,以显示设备 1234 是所选时间段内的嘈杂设备。我尝试了 topk 运算符,但它呈现超过 3 个。(我在表中看到 100 行而不是 3 行) https://www.robustperception.io/graph-top-n-time-series-in-grafana声称支持格拉法纳的顶级。但我不明白如何使它适应一张桌子。

4

2 回答 2

2

看来 prometheus 不支持这样的功能。参考:

  1. Prometheus topk 返回的结果比预期的要多
  2. https://github.com/prometheus/prometheus/issues/586
于 2018-09-06T23:00:57.183 回答
1

我使用以下方法来显示表格。

  • 定义一个带有少量静态值的变量区间(示例) 在此处输入图像描述

  • 在 Grafana 中添加一个面板(作为您选择的表格或饼图)并在以下查询中使用

topk(5,round(increase(top_5_noisy_devices{type="Foo"}[$interval])))

  • 图例格式为 {{ device }}
  • 格式为 -> 时间序列
  • 图例格式为 {{ device }}
  • 选择即时复选框

在此处输入图像描述

在此处输入图像描述

并使用变量选择任何间隔下拉列表以获取特定时期的 topk 数据。 在此处输入图像描述

于 2019-05-13T15:07:22.887 回答