Вставка с определенным временем?

Я просматриваю все примеры InfluxDB, и все они, кажется, вставляют "время сейчас" (время вставки). Существует четко определенное поле "время", но ни один из примеров не использует его.

Запись времени события как "время вставки в БД" является плохой картиной. Всегда лучше, чтобы сенсор привязал значение датчика к его идее текущего времени, передал эту запись и вставлял в различные аналитические базы данных с этим значением времени. (действительно маленькие датчики могут иметь "контроллер", который знает время лучше, но это все еще не вставка базы данных).

Очевидным примером является файл журнала. Каждая строка имеет временную метку, начиная с самого начала. Любите его или ненавидите, но это ваш лучший взгляд на время, когда произошло событие.

Я ищу примеры вставки в InfluxDB с заданным значением времени и еще не придумал. Время всегда является предполагаемым текущим временем.

3 ответа

Просто укажите 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


Да, это вполне возможно. Вам просто нужно указать столбец "время" вместе со значением поля. Например:

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

Конечно, вы можете указать столько столбцов, сколько хотите.


В CLI притока вы можете добавить временную метку в конце строки, с точностью до наносекундного Unix, за Line Protocol:

$ influx
Connected to http://localhost:26131 version 1.3.5
InfluxDB shell version: 1.3.5
> insert log value=1 1504225728000123456

licensed under cc by-sa 3.0 with attribution.