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
applogs
von Elasticsearch bereitgestellten Index - Kibana zeigt auch die korrekten Eigenschaften und den Datentyp der
applogs
Dokumente an - Die Registerkarte "Entdecken" zeigt keine Ergebnisse an ... selbst wenn der Zeitraum auf einige Jahre eingestellt ist ...
Irgendwelche Ideen??
So sieht Kibana den applogs
Index :
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 :
elasticsearch
kibana-4
Juri
quelle
quelle
Index contains time-based events
beim Erstellen des Index - Muster.Antworten:
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 .
quelle
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 : . 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
quelle
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:
Dann sollten Sie Ihre Indexzuordnung folgendermaßen aktualisieren:
Siehe diese Frage und Antwort
AKTUALISIEREN
Wenn Sie ES 2.X verwenden, können Sie einstellen , die
"format"
auf"epoch_millis"
diese mögen:quelle
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
quelle
Ich hatte das gleiche Problem und das hat bei mir funktioniert:
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.
quelle
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.
quelle
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.
quelle
Ich hatte das gleiche Problem, aber jetzt funktioniert es gut. Das Problem war mit dem @ Zeitstempel. Eigentlich habe ich die Datei zur
elasticsearch
Verwendung hochgeladen ,logstash
so dass automatisch ein @ timestamp-Feld generiert wird.Kibana
Vergleichen Sie den Zeitbereich mit diesem @ Zeitstempel, dh wenn das tatsächliche Ereignis aufgetreten ist.kibana
Selbst 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 Zeitrahmenkibana
basierend 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 Zeitrahmenskibana
Seite 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.0quelle
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 .
quelle
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, dassDD
als Tag des Jahres interpretiert wird und ich wollte Tag des Monats, der istdd
. Durch Ändern der Zuordnung und Neuindizierung wurde das Problem behoben.quelle
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.
quelle