webentwicklung-frage-antwort-db.com.de

Kibana zeigt keine Ergebnisse auf der Registerkarte "Entdecken" an

Ich habe Elasticsearch und Kibana für die Indizierung unserer Anwendungsprotokolle (Fehlerprotokolle) eingerichtet. Das Problem ist, dass Kibana auf der Registerkarte "Discover" keine Daten anzeigt.

Momentane Situation

  • Elasticsearch läuft und reagiert auf API
  • wenn Sie eine Abfrage direkt in Elasticsearch ausführen, wie http://elasticserver.com:9200/applogs/_search?q=*, erhalten Sie eine Vielzahl von Ergebnissen.
  • Kibana ist in Betrieb und findet sogar den applogs-Index, der von Elasticsearch angezeigt wird
  • Kibana zeigt auch die korrekten Eigenschaften und den richtigen Datentyp der applogs-Dokumente an
  • Die Registerkarte "Entdecken" zeigt keine Ergebnisse ... selbst wenn der Zeitraum auf ein paar Jahre festgelegt wird ...

Irgendwelche Ideen??

Hier ist wie Kibana den applogs-Index sieht :

enter image description here

Das Ergebnisobjekt der elastischen Suchabfrage sieht folgendermaßen aus:

{
_index: "applogs",
_type: "1",
_id: "AUxv8uxX6xaLDVAP5Zud",
_score: 1,
_source: {
   appUid: "esb.Idman_v4.getPerson",
   level: "trace",
   message: "WS stopwatch is at 111ms.",
   detail: "",
   url: "",
   user: "bla bla bla",
   additionalInfo: "some more info",
   timestamp: "2015-03-31T15:08:49"
 }
},

..und was ich im Discover-Tab sehe :

enter image description here

71
Juri

Für Leute, die das Problem like haben:

Ändern Sie den Zeitrahmen in der rechten oberen Ecke. 

Standardmäßig werden Daten nur für die letzten 15 Minuten angezeigt.

145
dasar

Ich wollte das als Kommentar formulieren, aber leider kann ich mein defizitäres Repo nicht dafür angeben. Wie @Ngeunpo vorgeschlagen hat, fügen Sie einem Index beim Erstellen ein Zeitfeld hinzu:enter image description here. Wenn Sie dies beim Erstellen Ihres Index nicht getan haben, sollten Sie den Index löschen und neu erstellen. Der Indexname logstash- * in der GIF ist analog zu Ihrem Index applogs. In diesem Fall wird das Feld @timestamp als Zeitfeld hinzugefügt. Sag mir, ob das funktioniert.

EDIT: Bildhöflichkeit: Diese wunderbare ELK-Installationsanleitung

21
mathakoot

Kibana versteht das Feld Zeitmarke nicht, wenn das Format falsch ist .Zeitmarke, das Sie durch Klicken auf Zeitfeldname ausgewählt haben, wenn ein Indexmuster konfiguriert werden muss Sein : 

"timestamp":"2015-08-05 07:40:20.123"

dann sollten Sie Ihre Indexzuordnung folgendermaßen aktualisieren:

curl -XPUT 'http://localhost:9200/applogs/1/_mapping' -d'
{
  "1": {
    "timestamp": {
      "enabled": true,
      "type": "date",
      "format": "yyyy-MM-dd HH:mm:ss.SSS",
      "store": true
    }
  }
}'

Siehe diese Frage und Antwort

UPDATE

Wenn Sie ES 2.X verwenden, können Sie den "format" wie folgt auf "Epoch_millis" setzen: 

curl -XPUT 'http://localhost:9200/applogs/1/_mapping' -d'
{
  "1": {
    "timestamp": {
      "type": "date",
      "format": "Epoch_millis",
      "store": true,
      "doc_values": true
    }
  }
}'
8
Green Lei

Beispielbild für die Erstellung eines Index oder Musters durch ELK

Versuchen Sie Folgendes: Deaktivieren Sie das Kontrollkästchen "Index enthält zeitbasierte Ereignisse" Geben Sie dann Ihren Indexnamen an, und aktivieren Sie "Ermitteln", ob er Daten enthält oder nicht

5
Vignesh Ammasi

Ich hatte das gleiche Problem und das funktionierte für mich:

  1. Löschen Sie den Index auf der Registerkarte Einstellungen.
  2. starten Sie Kibana neu
  3. dann in den Einstellungen erneut hinzufügen

Die Probleme mit der Zeitserie können sicherlich auch ein Problem sein. Wenn jedoch auf der Registerkarte "Discover" keine Felder angezeigt werden, haben Sie möglicherweise dasselbe Problem wie der ursprüngliche Reporter und das, was ich hatte.

4
lazieburd

Ich hatte wahrscheinlich das gleiche Problem - ich sehe Daten im Dashboard, aber 0 Ergebnisse entdecken. Zu Managerment> Indexmuster> Schaltfläche "Dateiliste aktualisieren" (nur eine Schaltfläche mit Aktualisierungssymbol) wurde für mich gelöst.

2
user1929895

Ich hatte das gleiche Problem und der Kommentar von @ tAn-’half mir, das Problem zu lösen. Das Ändern des Datumsfelds in @timestamp erledigte den Trick. Danke!

Der nächste Schritt sollte darin bestehen, herauszufinden, ob das Feld mein benutzerdefiniertes Datum falsch war.

2
Pangur

Nicht relevant für das OP, aber wenn Ihre Kibana-Instanz abstürzt, während Sie versuchen, Ihren Index zu erkennen (unter Einstellungen> Indizes), lesen Sie https://github.com/elastic/kibana/issues/6419 das Problem auch für mich.

1
jmkgreen

Ich habe auch den gleichen Fehler erlebt. Meistens geschieht dies aufgrund des Zeitformats. Vergewissern Sie sich im Wesentlichen, dass Sie einen gültigen Zeitrahmen für Ihre Daten haben (Filter oben rechts). In meinem Fall habe ich das Zeitformat der Epoche für den Zeitstempel verwendet, aber es funktionierte nicht. Also wechselte ich stattdessen zu Epoch_millisec und es funktionierte wie ein Zauber.

Vergewissern Sie sich in Summe, dass Kibana Ihr Datums- und Uhrzeitformat verstehen kann. Es ist Epoch_millisec standardmäßig nicht nur Epoche erforderlich.

1
Fony Lew

Ich hatte das gleiche Problem, aber jetzt funktioniert es gut .. Das Problem war mit dem @ timestamp. Eigentlich habe ich die Datei mit elasticsearch nach logstash hochgeladen, so dass automatisch ein @ timestamp-Feld erzeugt wird. Kibana Zeitbereich mit diesem @ Zeitstempel vergleichen, d. h. wenn das tatsächliche Ereignis aufgetreten ist. Selbst wenn ich die Option "Index enthält zeitbasierte Ereignisse" auf der Seite zum Hinzufügen neuer Indexmuster enthält, berücksichtigt kibana automatisch das @ timestamp-Feld Zeitrahmen für kibana basierend auf dem Feld @timestamp, das für mich bearbeitet wurde . Sie können das Indexmuster auch mit einem Zeitstempel hinzufügen und die Option "Index enthält zeitbasierte Ereignisse" deaktivieren. Sehen Sie, was passiert .. wenn dies nicht der Fall ist Jede Zeitrahmen-Auswahloption in der kibana-Discover-Seite, und Sie werden höchstwahrscheinlich das Ergebnis auf der Discover-Seite ... finden. Dies sind alle meine Beobachtungen. Ich bin nicht sicher, ob diese Lösung für Ihren Fall geeignet ist mit ES 1.5x, Logstash 1.5.1 und Kibana 4.1.0 

1
talin

Ich hatte das gleiche Problem. Wie in einer der obigen Lösungen gezeigt, ging ich zu Einstellungen und löschte den vorherigen Index und erstellte einen neuen mit @timestamp. 

Aber das hat das Problem nicht gelöst. Also schaute ich mir das Problem an und sah nach einem Einsatz nichts in Kibana.

Also ging ich auf den Server und sah, dass die Indizes beschädigt waren. SO Ich habe gerade den Logstash und die Elasticsearch auf der Instanz/dem Server angehalten und den Dienst neu gestartet. Und Voila, Der Dienst wurde erfolgreich neu gestartet, und Kibana war wieder da.

WARUM DID ES GESCHEHEN?

Möglicherweise wurde der Server abrupt gestoppt, wodurch Indizes beschädigt wurden.

0
Golokesh Patra

In meiner Situation funktionierte alles vorher und dann konnte ich die neuesten Daten nicht ab dem 1. Februar sehen (eigentlich könnte ich, wenn ich einen Monat zurückschaue). Es stellt sich heraus, dass das Mapping-Format für mein benutzerdefiniertes Zeitfeld falsch war. Mein Mapping-Format war YYYY-MM-DD'T'HH:mm:ss.SSSZ. Das Problem war, dass DD als Tag des Jahres interpretiert wird und ich den Tag des Monats wollte, der dd ist. Das Ändern der Zuordnung und das erneute Indexieren haben das Problem behoben. 

0
darkwing