如何在grafana中在x轴上绘制不同的时间数据

时间:2017-03-06 06:51:42

标签: influxdb grafana

我有两个不同时间间隔的发布数据。但是我想用相同的间隔时间在grafana中绘制这两个版本。这有可能伪造时间间隔并绘制图形吗? 。因为x轴默认需要时间序列。所以我不能用其他参数。

请就此提出建议。

3 个答案:

答案 0 :(得分:2)

我已经创建了这样的图表,虽然它需要一些工作。

首先,InfluxDB不支持timeShift,详情如下:

https://github.com/influxdata/influxdb/issues/142

所以我使用了一个名为Influxdb-timeshift proxy的单独的HTTP服务器:

https://github.com/maxsivanov/influxdb-timeshift-proxy

我的堆栈看起来像这样:

Grafana Dashboard --> influxdb-timeshift-proxy --> InfluxDB

以下是两个" - >"在上面的原理图中:

  • - >在左边:我创建了一个Grafana数据源来指向 潮流 - 时间转移代理
  • 的tcp端口
  • - >在右边:" Influxdb-timeshift-proxy"启动 配置指向InfluxDB服务器。

有了这个,为了实现时间转换,对InfluxDB的类似SQL的语句需要一个精心格式化的字段'别名'像这样:

"SELECT mean( "meanAT" ) AS shift_855296_seconds" blah blah sql blah.

有关语法详细信息,请参阅上面的Influxdb-timeshift-proxy github页面。

使用Grafana仪表板,要在时间序列图上获得两行(也称为系列),我配置两个sql语句。以上代表了9-10天前测试的一个SQL,然后我选择了一个不同的测试(我今天运行的基线),时间转换为0:

"SELECT mean( "meanAT" ) AS shift_0_seconds" blah blah sql blah.

所以这回答你的问题,但它的用途有限 - 因为一些穷人必须计算测试时间之间的差异,然后将结果(shift_855296_seconds)拨入仪表板中的SQL。

为什么呢?因为开箱即用,Grafana Dashboards执行(大部分)硬配置到仪表板中的SQL语句。

要让Grafana执行动态生成移位别名的SQL,我 用javascript写了一个Grafana Scripted仪表板。以下是脚本化仪表板的高级说明:

http://docs.grafana.org/reference/scripting/

仅供参考,Grafana脚本化仪表板的文档记录很少,而且开发环境也很差。调试是原始的,充其量,我无法得到javascript'要求' worky(包括第三方图书馆)工作。但是Grafana讨论区的帮助有限,而且确实有效 - 可以在飞行中创建一个非常漂亮的时间转换仪表板。

用于启动/显示“脚本”信息中心的http网址'可以轻松嵌入您创建的其他仪表板中。只需将脚本化的仪表板URL添加到"文本面板"使用markdown:

http://docs.grafana.org/features/panels/text/

最终,Influxdb-timeshift-proxy是一个临时解决方案。 我没试过,但看起来Kapacitor也可以用来提供时间转换,如下所述:

https://docs.influxdata.com/kapacitor/v1.3/nodes/shift_node/

- 埃里克

答案 1 :(得分:0)

不确定我是否正确理解了您的问题。 如果您只想标记您的版本 - 您可以使用注释 - http://docs.grafana.org/reference/annotations/#influxdb-annotations

如果您只想在特定的时间范围内显示信息中心,则可以使用“from”和“to”参数在网址中对其进行编码 - https://[your-dashboard-url]?from=1488868669245&to=1488873058626 但是,是的,你无法在当前的Grafana中将参数放在X轴上。

答案 2 :(得分:0)

您的意思是“图表”面板上的“X轴模式”选项吗?

X-Axis Mode Option