如何在 Grafana 的 Timeseries 中绘制水平线

Posted

技术标签:

【中文标题】如何在 Grafana 的 Timeseries 中绘制水平线【英文标题】:How to plot horizontal line in Timeseries in Grafana 【发布时间】:2021-09-24 07:52:32 【问题描述】:

我使用 grafana 绘制时间序列数据。在时间序列图中,我想添加一条来自监控级别的恒定线。该级别的值是动态的(来自 postgres 数据库)时间序列来自 ifluxdb 数据源。

监控级别没有时间戳。结果应如下所示:

我已经搜索了很长时间如何做到这一点,但没有找到一个很好的解释。

【问题讨论】:

【参考方案1】:

要画一条这样的线,你必须“伪造”一个时间序列。 (据我所知,阈值不起作用,因为它们不能是动态的)

首先要记住的是,grafana 需要时间戳来绘制它,因此全局变量 $__to 和 $__from 会派上用场。

那么,要画一条线,grafana 至少需要两个点。 ([t0, t1][y0, y1])

所以这是导致所需结果的 sql (postgre) 查询:

SELECT
  $__from AS time,
  level_1,
FROM my_table where display_name = '$my_grafana_var:raw'
union all
SELECT
  $__to AS time,
  level_1,
FROM my_table where display_name = '$my_grafana_var:raw';

【讨论】:

以上是关于如何在 Grafana 的 Timeseries 中绘制水平线的主要内容,如果未能解决你的问题,请参考以下文章

带有不错的 java 查询客户端的 Timeseries DB

grafana+influxDB+Telegraf 监控

如何使用 fill_value 对 Pandas 中的 TimeSeries 重新采样?

如何更改日期轴的中断+将它们旋转90度

使用 pandas TimeSeries 创建热图

如何在 AWS 胶水上将嵌套的 JSON 扩展为 Spark 数据框