2015-04-03 22 views
23

Ich bin ziemlich neu in Kibana und nur eine Instanz einrichten, um einige ElasticSearch-Daten zu sehen.Zeitstempel nicht in Kibana

Ich habe einen Index in der elastischen Suche, die ein paar Felder einschließlich _timestamp hat. Wenn ich auf den Tab "Discover" gehe und meine Dokumente anschaue, hat jedes das Feld _timestamp, aber mit einer gelben Warnung neben dem Feld "Kein Cache-Mapping für dieses Feld". Als Ergebnis kann ich nicht nach Zeit sortieren/filtern.

Wenn ich versuche, ein neues Indexmuster zu erstellen und auf "Index enthält zeitbasierte Ereignisse" zu klicken, enthält das Dropdown-Feld "Zeitfeldname" nichts.

Gibt es noch etwas, was ich tun muss, damit Kibana das _timestamp-Feld erkennt?

Ich benutze Kibana 4.0.

Antwort

51

Sie werden diese schnellen Schritte unternehmen, müssen zuerst:

  1. Zum Einstellungen → Erweitert.
  2. Bearbeiten Sie die MetaFields und fügen Sie "_timestamp" hinzu. Hit speichern.
  3. Gehen Sie nun zurück zu Einstellungen → Indices und _timestamp wird in der Dropdown-Liste für "Time-field name" verfügbar sein.

Kibana 4 Advanced Settings metaFields

+0

Ahh .. das ist perfekt - danke! – HHHH

+1

Achtung, dies ist jetzt veraltet! – Anoyz

+0

@Anoyz Bitte geben Sie die Version von Kibana an, ab der sie veraltet ist. Vielen Dank. – Nick

0

Gehen Sie zu Einstellungen-> Indizes, wählen Sie Ihren Index und klicken Sie auf das gelbe "Aktualisieren" -Symbol. Dadurch wird die Warnung gelöscht und das Feld möglicherweise in Ihrer Visualisierung verfügbar gemacht.

+0

Dank Alain, aber leider nicht (keine Änderung, wenn ich auf das Aktualisierungssymbol getroffen) funktioniert hat .. ich gesetzt haben könnte das ursprünglichen Zeitstempel-Feld inc up orrectly (ich folgte Anweisungen auf einer anderen Frage, hier http://stackoverflow.com/questions/17136138/how-to-make-elasticsearch-add-the-timestamp-field-to-every-document-in-all-indic) . – HHHH

+0

Haben Sie _timestamp Setup als gespeichert? Greifen nach Strohhalmen ... –

+0

Ja Ich glaube, ich habe _timestamp als gespeichert und aktiviert gesetzt, als ich den Index zum ersten Mal erstellt habe. Gibt es eine Möglichkeit zu überprüfen? Danke für Ihre Geduld! – HHHH

0

Die akzeptierte Antwort ist veraltet ab Kibana 2.0

Sie ein einfaches date Feld in Ihren Daten verwendet werden sollen und legen Sie es explizit entweder einen Zeitstempel, oder ein Datum Zeichenfolge in ISO 8601 mit Format. https://en.wikipedia.org/wiki/ISO_8601

Sie müssen auch ein Mapping auf Datum setzen, BEVOR Sie scheinbar mit dem Senden von Daten beginnen.

curl -XPUT 'http://localhost:9200/myindex' -d '{ 
    "mappings": { 
    "my_type": { 
     "properties": { 
     "date": { 
      "type": "date" 
     } 
     } 
    } 
    } 
}' 
+0

Dies ist ein wenig spät, um diese Frage zu stellen, aber nach "Datum" -Feld, meinst du a Feld mit dem Namen 'Datum' oder einfach ein Feld mit einem 'Datum'? Ich habe das gleiche Problem wie dieser Beitrag, aber wie Sie sagten, ist die _timestamp Sache veraltet. – jasonmclose

+0

ein Datumstyp Feld, das Sie Datum nennen können, aber das ist für convenjence – MrE

+0

Hmm. Ich habe ein paar Felder definiert, die vom Typ Datum sind, aber sie erscheinen nicht in dem Feld Zeitfeldname in Kibana 4. Ich muss weiter graben. Vielen Dank. – jasonmclose

1

In neueren Versionen müssen Sie das Datumsfeld angeben, bevor Sie Ihre Daten senden.

Ihr Datumsfeld muss in einem Standardformat wie Millisekunden nach Epoch (lange Zahl) oder - wie von MrE vorgeschlagen - in ISO8601 sein. Weitere Informationen finden Sie hier: https://www.elastic.co/guide/en/elasticsearch/reference/current/date.html

Bevor Sie Ihre Daten an den Index senden, müssen Sie die Zuordnung für dieses Feld erneut angeben. In Python:

import requests 
mapping = '{"mappings": {"your_index": {"properties": {"your_timestamp_field": { "type": "date" }}}}}' 
requests.put('http://yourserver/your_index', data=mapping) 
... 
send_data() 
1

Meine es Version 2.2.0

Sie nach rechts Schema haben. Ich folge der guide ZB:

{ 
     "memory": INT, 
     "geo.coordinates": "geo_point" 
     "@timestamp": "date" 
    } 

Wenn Sie die @timestamp haben, werden Sie die enter image description here

ps sehen: wenn Ihr Schema, prüfe nicht "Datum" Feld haben nicht „Index enthält zeitbasierte Ereignisse