2015-04-20 15 views
8

Przeglądam wszystkie przykłady InfluxDB i wszystkie wydają się wstawiać z "time now" (time of insert). Istnieje dobrze zdefiniowane pole "czasu", ale żaden z przykładów go nie używa.Wkładanie o określonej godzinie?

Zapisanie czasu zdarzenia jako "wstawić czas do bazy danych" jest kiepskim wzorem. Zawsze lepiej jest, gdy czujnik dołącza do wartości czujnika swoją koncepcję bieżącego czasu, przekazywać ten rekord i wstawiać do różnych bloków analitycznych o tej wartości czasu. (naprawdę małe czujniki mogą mieć "kontroler", który lepiej zna czas, ale to wciąż nie jest wkładka do bazy danych).

Oczywistym przykładem są pliki dziennika. Każda linia ma znacznik czasu, tuż na początku. Uwielbiam to lub nienawidzę, ale to jest twój najlepszy widok na czas zdarzenia.

Szukam przykładów wstawiania do InfluxDB z określoną wartością czasu i nie wymyśliłem jeszcze. Czas wydaje się być zawsze domniemanym aktualnym czasem.

Odpowiedz

2

Tak, jest to całkowicie możliwe. Trzeba tylko określić kolumnę "czas" wraz z polem wartości. Na przykład:

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

Oczywiście można określić dowolną liczbę kolumn.

0

W CLI napływu, można dodać znacznik czasu na końcu linii, w nanosekundy precyzyjnego czasu Unix, za tym Line Protocol:

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