Kibana zeigt auf der Registerkarte "Entdecken" keine Ergebnisse an

79

Ich habe elasticsearch und Kibana für die Indizierung unserer Anwendungs- (Fehler-) Protokolle eingerichtet. Das Problem ist, dass Kibana keine Daten auf der Registerkarte "Entdecken" anzeigt.

Momentane Situation

  • Elasticsearch ist aktiv und reagiert auf die API
  • Wenn Sie eine Abfrage direkt in Elasticsearch ausführen, werden http://elasticserver.com:9200/applogs/_search?q=*viele Ergebnisse zurückgegeben (siehe unten, wie ein einzelner gefundener Datensatz aussieht).
  • Kibana ist betriebsbereit und findet sogar den applogsvon Elasticsearch bereitgestellten Index
  • Kibana zeigt auch die korrekten Eigenschaften und den Datentyp der applogsDokumente an
  • Die Registerkarte "Entdecken" zeigt keine Ergebnisse an ... selbst wenn der Zeitraum auf einige Jahre eingestellt ist ...

Irgendwelche Ideen??

So sieht Kibana den applogsIndex :

Geben Sie hier die Bildbeschreibung ein

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 auf der Registerkarte "Entdecken" sehe :

Geben Sie hier die Bildbeschreibung ein

Juri
quelle
1
Haben Sie beim Hinzufügen des Index zu Kibana einen Zeitstempel hinzugefügt?
Anish
@Ngeunpo Könnten Sie genau beschreiben, was Sie meinen?
Juri
9
Vielleicht solltest du mit dem Zeitrahmen von der oberen rechten Ecke umschalten :)
Anish
2
@Ngeunpo Haben Sie das getan, wenn Sie sich den Screenshot ansehen, ist er auf "letzte 60 Tage" eingestellt, so dass dies nicht das Problem sein kann.
Juri
6
Wenn Sie mich mögen, haben Sie möglicherweise keine Zeitstempeldaten in Ihren Daten. Versuchen Sie , deaktivieren Sie die Index contains time-based eventsbeim Erstellen des Index - Muster.
Automatico

Antworten:

155

Für Leute, die ein Problem wie dieses haben:

Ändern Sie den Zeitrahmen in der oberen rechten Ecke.

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

dasar
quelle
1
Nun ... wenn Sie sich meinen Screenshot ansehen, war das überhaupt nicht der Fall. Ich visualisiere die letzten 60 Tage. Wie auch immer, das Problem scheint gelöst zu sein. Das Schlimme ist, dass ich keine Ahnung habe, warum es anfangs nicht funktioniert hat. Löscht diese Frage jedoch, da sie keine Lösung bietet
Juri
1
Außerdem: Stellen Sie sicher, dass Sie den richtigen Index erstellen und auswählen, den Sie anzeigen möchten. Erstellen Sie es auf der Registerkarte "Einstellungen" und wählen Sie es auf der Registerkarte "Erkennung" auf der linken Seite aus.
Automatico
11
Das ist eigentlich ziemlich schwer zu erkennen, nette Antwort.
TomSelleck
2
Ja, hatte das gleiche Problem, musste es also auf dieses Jahr ändern und es zeigte alles
ashim888
Ich habe das gleiche Problem und mit mehr als 20.000 Anfragen pro Minute. Der Zeitrahmen ist also nicht die Hauptursache. Ich habe auch versucht, das Indexmuster in den Einstellungen zu aktualisieren, wie unten empfohlen. Hat auch nicht geholfen. Die letzte Option könnte sein, das Muster neu zu erstellen, aber dann werde ich Daten verlieren, die durch berechnete Felder erzeugt werden, nehme ich an.
Reddy SK
29

Ich wollte dies als Kommentar setzen, aber leider kann ich mein mangelhaftes Repo nicht dazu geben. Wie @Ngeunpo vorgeschlagen hat, fügen Sie einem Index auf diese Weise ein Zeitfeld hinzu, während Sie ihn erstellen : Geben Sie hier die Bildbeschreibung ein. Wenn Sie dies beim Erstellen Ihres Index nicht getan haben, empfehlen wir Ihnen, diesen Index zu löschen und neu zu erstellen. Der Indexname logstash- * im GIF entspricht Ihren Index- Applogs . In diesem Fall wird das Feld @timestamp als Zeitfeld hinzugefügt. Lassen Sie mich wissen, ob dies funktioniert.

EDIT: Mit freundlicher Genehmigung von Bild: Diese wunderbare ELK-Setup-Anleitung

Mathakoot
quelle
9

Kibana versteht das Zeitstempelfeld nicht , wenn das Format falsch ist. Der Zeitstempel , den Sie durch Klicken auf Zeitfeldname beim Konfigurieren eines Indexmusters ausgewählt haben, muss wie folgt lauten:

"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

AKTUALISIEREN

Wenn Sie ES 2.X verwenden, können Sie einstellen , die "format"auf "epoch_millis"diese mögen:

curl -XPUT 'http://localhost:9200/applogs/1/_mapping' -d'
{
  "1": {
    "timestamp": {
      "type": "date",
      "format": "epoch_millis",
      "store": true,
      "doc_values": true
    }
  }
}'
Grüne Lei
quelle
5

Beispielbild für ELK, das einen Index oder ein Muster erstellt

Versuchen Sie Folgendes: Deaktivieren Sie das Kontrollkästchen "Index enthält zeitbasierte Ereignisse" und geben Sie Ihren Indexnamen ein. Aktivieren Sie dann "Erkennen", ob er Daten enthält oder nicht

Vignesh Ammasi
quelle
4

Ich hatte das gleiche Problem und das hat bei mir funktioniert:

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

Ich bin mir sicher, dass die Probleme mit Zeitreihen auch ein Problem sein können. Wenn jedoch auf der Registerkarte "Entdecken" tatsächlich keine Felder angezeigt werden, haben Sie möglicherweise dasselbe Problem wie der ursprüngliche Reporter und das, was ich hatte.

lazieburd
quelle
1
Kibana muss nicht neu gestartet werden. Löschen Sie einfach den Index und fügen Sie ihn erneut hinzu
Bizmate
3

Ich hatte wahrscheinlich das gleiche Problem - ich sehe Daten im Dashboard, aber 0 führt zu entdecken. Das Wechseln zu Manager> Indexmuster> Schaltfläche "Dateiliste aktualisieren" (eine Schaltfläche nur mit dem Symbol "Aktualisieren") hat das Problem für mich gelöst.

user1929895
quelle
Ihre Lösung funktioniert für mich. Danke
Mohammad Ravanbakhsh
2

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

Der nächste Schritt sollte darin bestehen, herauszufinden, dass mein benutzerdefiniertes Datumsfeld nicht korrekt ist.

Pangur
quelle
1

Ich hatte das gleiche Problem, aber jetzt funktioniert es gut. Das Problem war mit dem @ Zeitstempel. Eigentlich habe ich die Datei zur elasticsearchVerwendung hochgeladen , logstashso dass automatisch ein @ timestamp-Feld generiert wird. KibanaVergleichen Sie den Zeitbereich mit diesem @ Zeitstempel, dh wenn das tatsächliche Ereignis aufgetreten ist. kibanaSelbst wenn ich die Option "Index enthält zeitbasierte Ereignisse" auf der Seite " Neues Indexmuster hinzufügen" deaktiviere , wird das Feld "@stimestamp" automatisch berücksichtigt. Umschalten mit dem Zeitrahmen kibanabasierend auf dem @ timestamp Feld hat für mich gearbeitet. Sie können dies auch überprüfen, indem Sie ein Indexmuster ohne Zeitstempel hinzufügen und die Option "Index enthält zeitbasierte Ereignisse" deaktivieren. Sehen Sie, was passiert. Jetzt gibt es keine Option zur Auswahl des ZeitrahmenskibanaSeite entdecken und Sie werden höchstwahrscheinlich das Ergebnis in Seite entdecken. Dies sind alle meine Beobachtungen, nicht sicher, diese Lösung passt zu Ihrem Fall. Sie können es versuchen. Ich verwende ES 1.5x, Logstash 1.5.1 und Kibana 4.1.0

Talin
quelle
1

Ich habe auch den gleichen Fehler erfahren. Meistens geschieht dies aufgrund des Zeitformats . Stellen Sie grundsätzlich sicher, dass Sie einen gültigen Zeitrahmen für Ihre Daten haben (Filter oben rechts). In meinem Fall habe ich das Epochenzeitformat für den Zeitstempel verwendet, aber es hat nicht funktioniert. Also habe ich stattdessen zu epoch_millisec gewechselt und es hat wie ein Zauber funktioniert.

Stellen Sie insgesamt sicher, dass Kibana Ihr Datums- und Uhrzeitformat versteht. Es ist standardmäßig epoch_millisec erforderlich, nicht nur epoch .

Fony Lew
quelle
1

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

dunkler Flügel
quelle
0

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

Aber das hat das Problem nicht gelöst. Also habe ich mich mit dem Thema befasst und festgestellt, dass nach einem Einsatz nichts in Kibana eintrat.

Also ging ich auf den Server und sah, dass die Indizes beschädigt waren. Also habe ich gerade den Logstash und die Elasticsearch auf der Instanz / dem Server gestoppt und den Dienst neu gestartet. Und Voila, es hat den Dienst erfolgreich neu gestartet und Kibana war zurück.

WARUM IST ES PASSIERT ?

Möglicherweise hat jemand den Server abrupt gestoppt, wodurch die Indizes beschädigt wurden.

Golokesh Patra
quelle