插入特定时间?
Posted
技术标签:
【中文标题】插入特定时间?【英文标题】:Inserting with a specific time? 【发布时间】:2015-06-26 14:46:38 【问题描述】:我正在查看所有 InfluxDB 示例,它们似乎都以“现在时间”(插入时间)插入。有一个明确定义的“时间”字段,但没有一个示例使用它。
将事件的时间记录为“将时间插入数据库”是一种糟糕的模式。最好让传感器将其当前时间的概念附加到传感器值,传递该记录,然后将其插入具有该时间值的各种分析数据库中。 (非常小的传感器可能有一个更了解时间的“控制器”,但这仍然不是数据库插入)。
一个明显的例子是日志文件。每行都有一个时间戳,就在开头。爱它或恨它,但这是您对事件发生时间的最佳看法。
我正在寻找使用指定时间值插入 InfluxDB 的示例,但还没有想出一个。时间似乎总是隐含的当前时间。
【问题讨论】:
【参考方案1】:只需在您的点中的标签和值旁边指定一个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
【讨论】:
【参考方案2】:是的,完全有可能。您只需指定一个“时间”列和一个值字段。例如:
name: "my_serie",
columns: ["time", "value1", "value2"],
points: [
[1429807111, 1, 2],
[1429807111, 11, 22],
[1429807111, 111, 222]
]
当然,您可以指定任意数量的列。
【讨论】:
【参考方案3】:在 influx 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
【讨论】:
以上是关于插入特定时间?的主要内容,如果未能解决你的问题,请参考以下文章