我正在查看所有InfluxDB示例,它们似乎都插入了“time now”(插入时间)。有一个明确定义的“时间”字段,但没有一个例子使用它。
将事件的时间记录为“将时间插入数据库”是一种糟糕的模式。最好让传感器连接到传感器值,了解当前时间,传递该记录,并插入具有该时间值的各种分析DB。 (真正小的传感器可能有一个“控制器”,它可以更好地了解时间,但这仍然不是数据库插入)。
一个明显的例子是日志文件。每行都有一个时间戳,就在开头。喜欢或讨厌它,但这是你对事件发生时间的最好看法。
我正在寻找使用指定时间值插入InfluxDB的示例,但尚未提出。时间似乎总是隐含的当前时间。
答案 0 :(得分:5)
只需在您的积分中指定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
答案 1 :(得分:2)
是的,这是完全可能的。您只需要指定一个“时间”列和一个值字段。例如:
return
当然,您可以根据需要指定任意数量的列。
答案 2 :(得分:1)
在涌入CLI中,您可以在行的末尾添加时间戳,以Line Protocol为单位,以纳秒精度Unix时间添加:
$ influx
Connected to http://localhost:26131 version 1.3.5
InfluxDB shell version: 1.3.5
> insert log value=1 1504225728000123456