16

我正在查看所有 InfluxDB 示例,它们似乎都以“现在时间”(插入时间)插入。有一个明确定义的“时间”字段,但没有一个示例使用它。

将事件时间记录为“将时间插入数据库”是一种糟糕的模式。最好让传感器将其当前时间的概念附加到传感器值,传递该记录,然后将其插入具有该时间值的各种分析数据库中。(非常小的传感器可能有一个“控制器”,它更了解时间,但这仍然不是数据库插入)。

一个明显的例子是日志文件。每行都有一个时间戳,就在开头。爱它或恨它,但这是你对事件发生时间的最佳看法。

我正在寻找以指定时间值插入 InfluxDB 的示例,但还没有想出一个。时间似乎总是隐含的当前时间。

4

3 回答 3

6

timestamp只需在您的点中指定标签和值,请参见此处的示例:

https://docs.influxdata.com/influxdb/v1.3/guides/writing_data/#writing-data-using-the-http-api

0.9 版本的文档:

http://influxdb.com/docs/v0.9/concepts/schema_and_data_layout.html

如果您使用的是 0.8,那么您会希望您的分数以time列开头:

http://influxdb.com/docs/v0.8/api/reading_and_writing_data.html

于 2015-04-22T02:54:33.323 回答
3

是的,这是完全可能的。您只需指定一个“时间”列和一个值字段。例如:

{
  name:    "my_serie",
  columns: ["time", "value1", "value2"],
  points:  [
             [1429807111, 1, 2],
             [1429807111, 11, 22],
             [1429807111, 111, 222]
           ]
}

当然,您可以根据需要指定任意数量的列。

于 2015-04-23T16:40:46.223 回答
3

在 influx CLI 中,您可以根据行协议在行尾添加时间戳,以纳秒精度的 Unix 时间为单位:

$ influx
Connected to http://localhost:26131 version 1.3.5
InfluxDB shell version: 1.3.5
> insert log value=1 1504225728000123456
于 2017-10-03T06:43:00.767 回答