如何在 influxdb 选择查询中格式化时间
Posted
技术标签:
【中文标题】如何在 influxdb 选择查询中格式化时间【英文标题】:How to format time in influxdb select query 【发布时间】:2015-10-16 08:56:37 【问题描述】:我是 InfluxDB 的新手。我正在管理 ui 中查询数据。我将时间视为时间戳。是否可以看到它被格式化为日期和时间?
【问题讨论】:
你能定义“时间戳”是什么意思吗? InfluxDB 0.9.1 及更高版本中的管理 UI 以如下格式返回时间:2015-07-17T20:32:58.662703915Z
,其中2015-07-17
是年月日,20:32:58.662703915
是小时:分钟:秒:纳秒。我将其称为时间戳并按日期和时间格式化。
我有一个类似的问题,在我的情况下,我正在从 influx
CLI shell 运行查询,并且时间打印为 Unix 纪元纳秒。我宁愿看到 RFC 3339 格式,就像 HTTP API 默认做的那样。
管理 UI 功能有限,不建议用于生产。 “thierry”的答案是正确的,使用 CLI 可以控制时间戳格式和精度。
【参考方案1】:
虽然thierry 已经回答了这个问题,但这里也是文档的链接:
精度 'rfc3339|h|m|s|ms|u|ns'
指定时间戳的格式/精度:rfc3339 (YYYY-MM-DDTHH:MM:SS.nnnnnnnnnZ), h (小时), m (分钟), s (秒), ms (毫秒), u (微秒) ), ns (纳秒)。精度默认为纳秒。
https://docs.influxdata.com/influxdb/v1.5/tools/shell/#influx-arguments
【讨论】:
【参考方案2】:从 InfluxDB 1.1 开始,Web 管理界面为 deprecated(默认禁用)。
时间戳的精度可以控制返回小时(h)、分钟(m)、秒(s)、毫秒(ms)、微秒(u)或纳秒(ns)。一个特殊的精度选项是RFC3339
,它以 RFC3339 格式返回具有纳秒精度的时间戳。 CLI 和 HTTP API 指定所需时间精度的机制不同。
To set the precision in CLI,您可以在命令行中写入precision <RFC3339|h|m|s|ms|us|ns>
,具体取决于您想要的精度。 CLI 的默认精度值为纳秒。
To set the precision in HTTP API,您将epoch=<h|m|s|ms|us|ns>
作为查询参数传递。精度的默认值为 RFC3339。
【讨论】:
【参考方案3】:要将 influxdb 时间戳转换为普通时间戳,您可以在控制台上输入:
涌入-精度 rfc3339
现在尝试使用您的查询,它应该可以工作。
更多详情请点击链接: https://www.influxdata.com/blog/tldr-influxdb-tech-tips-august-4-2016/
【讨论】:
我将它添加为别名。我认为它应该是流入 cli 的默认选项。 否,默认情况下你会得到influxdb时间戳,类似于1465839830100400200
,使用RFC3339格式后你会得到2016-06-13T17:43:50.1004002Z
【参考方案4】:
您可以通过在 CLI 中输入以下命令来选择RFC 3339 格式:
precision rfc3339
【讨论】:
以上是关于如何在 influxdb 选择查询中格式化时间的主要内容,如果未能解决你的问题,请参考以下文章
在 Grafana Graph 中看不到 InfluxDB 的时间和数据