2015-04-20 2 views
8

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

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

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

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

ответ

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

2

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

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

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

0

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

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