Grafana: 功能请求:接受网格阈值级别中的变量

创建于 2014-10-10  ·  66评论  ·  资料来源: grafana/grafana

@torkelo ,我缺少每个仪表板模板的可变阈值级别

假设我正在设计一个产品仪表板模板(例如 apache Web 服务器),并且我需要在响应时间大于阈值时进行观察。

虽然仪表板是相同的,但我们可以切换到其他带有变量的实例,但是响应时间(如果它好与不好)取决于后端哪个实际进程(可以是应用程序服务器,可以是静态 html 或者可能是一个LAMP 服务器),在每种情况下,阈值都会有很大差异。

通过示例将这个阈值(2 位数字)与模板中的一个变量(实例名称)映射也是一个好主意。

aredashboartemplating arepanegraph typfeature-request

最有用的评论

@kmoczydlowski @bogatuadrian @sofixa @golddiga @cattt84
请停止与 +1 碰撞,您正在向每个订阅者发送通知(可能还有电子邮件)

使用每条评论右侧的反应来表达您的投票。
谢谢😄

所有66条评论

:+1:

也很想看到这个:+1:

不确定这是否有效,但也许我们可以创建一个链接的 $threshold 变量,根据变量设置更新阈值,然后阈值只使用 $threshold

+1 这将在动态仪表板方面开辟许多新的可能性

我希望能够将指标映射到阈值。 我使用 Grafana 绘制网络硬件的链接使用图,并且将阈值映射到接口类型非常好。 目前我使用 IfSpeed SNMP 源来获取活动接口速度并将其绘制为非填充指标,但这种方式破坏了 Grafana 的动态最大/最小功能。

+1,有这个功能会很酷。 我需要通过 influxdb 标签设置阈值。

有关于这个话题的消息吗?

我也非常需要这个。 理想情况下,模板变量的值可能是查询的结果(不是路径名,而是此查询返回的值)

+1

希望根据 elasticsearch 查询动态设置阈值。

对于使用 Grafana 作为 PNP4Nagios 替代品,有可能根据字段值设置警告/暴击阈值和最小/最大 y 轴值将非常有帮助!

也需要这个。
例如,我有内存图并且无法切换 $server 变量。 服务器有不同的内存量,我想知道使用了多少 GiB(不是 %),但我不记得它们的总内存量。 所以我需要一个带有 $total_mem 变量的阈值(或者,也许,Y-Max)。

+1 这里需要接受 $variable

+1

我也很渴望这个功能,这样我就可以为具有不同阈值的多个设备使用单个图形模板。

我也想拥有这个功能。 这是什么现状?

+1

+1

+1

+1

@kmoczydlowski @bogatuadrian @sofixa @golddiga @cattt84
请停止与 +1 碰撞,您正在向每个订阅者发送通知(可能还有电子邮件)

使用每条评论右侧的反应来表达您的投票。
谢谢😄

为什么不能使用模板?

动态阈值是否可以实现到simpleJson数据源。

+1

+1

+1

所以现在我们有了 2018 年。这个功能怎么样?

+1

+1 对此。

这4年怎么开? 我们的用例之一是监控文件存储配额。 阈值定义为软限制和硬限制,两者都是按文件共享定义的,因此由于图表是动态创建的,因此无法手动设置。 让我们选择一个度量值作为阈值的值传递似乎微不足道。 这些阈值也应该能够用于警报。

我也是在这之后(对于 singlestat 面板),并且已经实现了一个版本,希望可以合并到第三方 singlestat-math 插件中(第一次尝试制作插件 - 所以可能有一些粗糙的边缘)。
公关在这里: https :
如果你现在想使用它,你可以从我的分支中提取。
您需要做的就是添加一个额外的数据源,为其命名,然后在阈值中使用该名称。 这个插件还支持n阈值,这可能对某些人有用。

我需要这个来检查是否有任何工作滞后。 作为现在的解决方法,我使用模板变量查询max(my_prometheus_metric)并将其设置为隐藏变量,然后我对执行abs(my_prometheus_metric - $variable)表视图有一个额外的查询,并在其上添加阈值柱子。 不幸的是,无法隐藏用于设置行颜色的列,因此我也很乐意使用此功能。

此功能有任何更新吗?

@debmalyapan53抱歉,我把球丢在了这上面——但我刚刚针对最新版本提交了另一个 PR。 希望它不会合并太久。 当前 PR 位于: https :
干杯。

实际上我想实现一个文本框,用户可以在其中设置阈值,以便在图表中反映出来。

+1

使用模板,我们可以解决这个问题,这是我的设置:

image

image

请注意,我在过去几分钟内禁用了一台服务器,并且阈值发生了变化

可悲的是,这并不能解决所有问题,我们不能“填充上面”,也不能基于此发出警报。 因此,虽然该解决方法适用于许多情况,但并不能解决所有问题,grafana 仍然需要能够使用变量/查询来设置阈值/警报

5 年了,没有关于这一壮举的消息。 要求?

我想用 Grafana 提醒 Elastic ML 结果。 我想提醒的示例仪表板。 我在图中有较低/高于阈值,即模型图。

image

+1
这是一个非常重要的功能。 好奇心为什么滞后。

这确实是最需要的功能。 我们可以更新一下吗?

这确实是最需要的功能。 我们可以更新一下吗?

我支持这个。 拜托拜托拜托....

所以基本上这永远不会发生,尽管在 5 年的时间里,很多人在这里要求它,并在许多其他请求、错误报告和整个网络上要求它。 接受用户输入并改进应用程序的方法。

我也需要这个

检查https://github.com/grafana/grafana/pull/19102 - 如果您可以使用您的变量从查询中生成一个值,这可能会起作用。 “从 xyz 中选择 ${var}”

作为一种解决方法,我执行以下操作。 它假设第二个 Y 轴没有被使用(或者它有固定的最小值和最大值)。

例子:
image

创建方法如下:

  • 添加一个名为“down”(或其他)的指标

    • 使用像这样的 Prometheus 查询(多行!)。 请参阅下面的注释。

      1 - (day_of_week(vector(time())) > bool 0)
      * (day_of_week(vector(time())) < bool 6)
      * (((hour(vector(time()))  >= bool 7 - 2)))
      * (hour(vector(time())) < bool 19 - 2)
  • 为这个名为“down”的指标添加一个可视化覆盖:

    • 线填充:1

    • 线宽:0

    • 楼梯线:真实

    • 颜色:_a 浅灰色,例如_“rgb(167, 167, 167)”

    • Y轴:2

    • Z-index:1 _(在其他指标之前)_

    • 图例:假

    • 隐藏在工具提示中:false

  • 配置第二个 Y 轴可视化:

    • 分钟:0

    • 最大值:1(或任何你想要的......相应地乘以上面的指标)

关于查询的注意事项:

  • 在上面的示例查询中,“7-2”是早上 7 点,“-2”是我的时区和夏令时偏移!
  • 示例查询还处理周末
  • 如果您调整其他数据源的查询,欢迎您回复此评论

呃......真的需要这个,现在是 2019 年......这是一个旧线程

同样在这里..可能永远不会发生?

是很难实施还是没有人想做? 如果是这样,我想尝试

@EggTronic我看看它会涉及什么,我认为它归结为 Threshold 对象:
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/packages/grafana-data/src/types/threshold.ts#L1 -L4

我正在考虑专门为 bar-guage 实现这个。 此处使用阈值:
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/public/app/plugins/panel/bargauge/BarGaugePanel.tsx#L37

在同一个文件的更深处,使用了一个replaceVariables函数,我认为它用于评估 grafana 变量:
https://github.com/grafana/grafana/blob/4a25ec0d36edcb551e6efd60e665df0fa93cb954/public/app/plugins/panel/bargauge/BarGaugePanel.tsx#L53 -L61

我可以看到它完成的方式是

  1. 修改Threshold类型,使value可以是变量名(字符串)。
  2. 为每个面板类型添加逻辑以在任何Threshold.value是字符串上调用replaceVariables
  3. 使阈值设置框接受字符串(变量名称)。

我不确定该设计是否适合代码库,但它有点像黑客。

+1 为功能请求

+1

我真的可以将它用于 Gauge 面板。 我想为每个写入我的数据库的标签记录器显示一个仪表。 每个记录器报告其摄取率和理论最佳摄取率。 但是每个记录器都需要不同的阈值来对应各自的摄取率。

+1

这种功能是否有解决方法(对于 SingleStat 面板)? 或者可以使用 MySQL 查询更新阈值吗?

这些问题的现状如何? 这是要实施吗? 还是很难实施?

我已经问过这个但没有回应:#25313

+1

我不确定该设计是否适合代码库,但它有点像黑客。

@liamdiprose恕我直言是合适的,你介意提出拉取请求吗?
避免动态图例的一个理论上的原因是面板模板必须参考统一的数据集。 打开动态图例以拥有可以管理不同数据流的通用模板,这可能是不正确的。 恕我直言,我面临一个用例,其中多个索引共享具有不同比例和颜色映射的类似面板布局。
拥有动态阈值允许我管理单个仪表板,而不是为不同的索引复制 if。

任何反馈@torkelo或grafana 实验室或核心贡献者中的任何其他人? 某些功能在https://github.com/grafana/grafana/pull/24763中管理?

@luipir还没有,我们在工作中非常需要这个功能,但它仍然在我的积压工作中。 :哭:

Grafana 7 似乎正在朝着数据驱动的方向发展,所以我相信最终会添加这个功能。 GrafanaLabs的 @ryantxu 提到在类似的问题线程中即将使用这种方式使用变量: https :

我很想看到每个设置框都接受变量。 也许每个用户提供的值都应该被“评估”:变量名评估他们的价值,价值评估他们自己。 变量评估需要正确的replaceVariables函数(作为道具提供给面板)才能工作。

如果将replaceVariables替换为eval(varname) -> value就好replaceVariables就可以成为一个以eval作为参数的实用函数。

+1

+1

+1

+1

在绘制股票图表时,这将是一个非常有用的功能。 例如,我可以根据股票代码的开盘价设置阈值,而无需将其绘制为指标。 我在将其绘制为指标时遇到的问题是它会使图形变平/标准化。

不绘制开盘价:
image

绘制开盘价后:
image

将开盘价设置为阈值(蓝线):
image

+1

+1,这是一个长期要求的功能,而且看起来相当“标准”。 期待此功能的未来更新!

+1

与无聊的 +1 不同,我将一个(巨大的)🍺 作为奖励,让这个功能成为现实。

用例示例:尝试为 API 的所有端点构建通用 SLO 仪表板,我希望仪表板通过仪表板的 URL 接收 SLO 条件。

我有一个类似的问题,我有一个 mysql 查询,以及一个带有 min 和 max 变量的仪表板。 无法在阈值中使用最小/最大变量令人失望。 但是我设法绘制了一些类似的图,这至少让我能够将异常值可视化。

  1. 在查询中,将您的变量作为附加列引用。
    select time, data, ${minimum} as data_min, ${maximum} as data_max from table
  2. 添加系列覆盖,在最小值和最大值上使用正则表达式匹配(例如/data_(min|max)/
  3. 将覆盖设置为:

    1. 启用线(假设图形否则为点)

    2. 禁用点

    3. 使用不同的颜色(或对最小/最大使用单独的覆盖)

    4. 禁用图例

    5. 禁用工具提示

如果您有一个指标列,您可能希望将您的数据值命名为 '' ( data as '' ),这使得图例/工具提示不加修饰。

当然,这只是一种可视化的解决方法,您并没有获得阈值的其他好处,因此仍然非常需要此功能请求。

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

ADeane6 picture ADeane6  ·  3评论

jackmeagher picture jackmeagher  ·  3评论

SATHVIKRAJU picture SATHVIKRAJU  ·  3评论

ricardclau picture ricardclau  ·  3评论

sslupsky picture sslupsky  ·  3评论