2015-04-20 9 views
8

Ich schaue mir alle InfluxDB-Beispiele an, und alle scheinen mit "Zeit jetzt" einzufügen (Zeitpunkt des Einfügens). Es gibt ein gut definiertes "Zeit" -Feld, aber keines der Beispiele verwendet es.Einfügen mit einer bestimmten Zeit?

Das Aufzeichnen der Uhrzeit eines Ereignisses als "Zeit in die DB einfügen" ist ein schlechtes Muster. Es ist immer besser, wenn der Sensor die Idee der aktuellen Zeit an den Sensorwert anfügt, diesen Datensatz weitergibt und in verschiedene Analyse-DBs mit diesem Zeitwert einfügt. (wirklich kleine Sensoren haben vielleicht einen "Controller", der die Zeit besser kennt, aber das ist immer noch nicht der Datenbankeinsatz).

Ein offensichtliches Beispiel sind Protokolldateien. Jede Zeile hat einen Zeitstempel, gleich zu Beginn. Liebe es oder hasse es, aber das ist deine beste Sicht auf die Zeit, als das Ereignis passiert ist.

Ich bin auf der Suche nach Beispielen für das Einfügen in InfluxDB mit einem bestimmten Zeitwert, und habe noch keinen gefunden. Die Zeit scheint immer die implizierte aktuelle Zeit zu sein.

Antwort

2

Ja, das ist absolut möglich. Sie müssen nur eine "Zeit" -Spalte zusammen mit einem Wertfeld angeben. Zum Beispiel:

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

Natürlich können Sie so viele Spalten angeben, wie Sie möchten.

0

In dem Zustrom CLI können Sie den Zeitstempel am Ende der Zeile, in Nanosekunden Präzision Unix Zeit, pro den Line Protocol hinzufügen:

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