2017-02-09 2 views
0

Timestamps don`t match Ich habe und ELK (Elasticsearch, Logstash und Kibana) Instanz ausgeführt und Filebeat Protokolle von anderen Maschinen senden, und ich habe festgestellt, dass Protokolle in Kibana in anderer Reihenfolge angezeigt werden, die sie auf dem Server angekommen (wie Sie in dem beigefügten Bild zu sehen), zum Beispiel, das ist, was in Kibana gezeigt wird, ist die zweite Spalte Kibana Zeitstempel und die dritte Spalte ist der Server-Zeitstempel:Sortieren von Protokollen nach Zeitstempel in Kibana

February 9th 2017, 11:53:11.714 11:53:04,904 
February 9th 2017, 11:53:11.714 11:53:05,579 
February 9th 2017, 11:53:11.714 11:53:05,581 
February 9th 2017, 11:53:11.714 11:53:05,591 
February 9th 2017, 11:53:11.714 11:53:04,441 
February 9th 2017, 11:53:11.714 11:53:05,589 

Was ich im Protokoll sehen Datei ist:

11:53:04,441 
11:53:04,904 
11:53:05,579 
11:53:05,581 
11:53:05,589 
11:53:05,591 

Gibt es eine Möglichkeit, die Protokolle in Kibana in der Reihenfolge zu sehen, in der sie auf dem Server angezeigt werden? ich für sie war auf der Suche, aber ich didn `t irgendeine Frage sehen, die dieses Thema behandeln, aber ich sah, dass es die Logstash Konfigurationsdatei 10-syslog-filter.conf Ändern werden könnte, ist diese Mine:

filter { 
    if [type] == "syslog" { 
    grok { 
     match => { "message" => "%{SYSLOGTIMESTAMP:syslog_timestamp} %{SYSLOGHOST:syslog_hostname} %{DATA:syslog_program}(?:\[%{POSINT:syslog_pid}\])?: %{GREEDYDATA:syslog_message}" } 
     add_field => [ "received_at", "%{@timestamp}" ] 
     add_field => [ "received_from", "%{host}" ] 
    } 
    syslog_pri { } 
    date { 
     match => [ "syslog_timestamp", "MMM d HH:mm:ss", "MMM dd HH:mm:ss" ] 
    } 
    } 
} 

Danke im Voraus.

Antwort

0

denke ich, das ist, weil Sie die timestamp nicht gegeben haben, auf denen die Ereignisse sollten in Kibana angezeigt werden, wenn Sie die Index in Kibana zu schaffen sind. Sie können etwas tun wie folgt:

Das obige ist nur ein Beispiel, damit Sie reproduzieren können. Hinweis, die ich syslog_timestamp als Server Zeit gehe mal davon aus, die Sie in Ihrer Frage erwähnt

Also, wenn Sie einen neuen Index in Kibana erstellen, werden Sie Namen wählen Sie die Zeit Feld gefragt, um die Ereignisse zu filtern. Was tut, ist, dass es die Ereignisse basierend auf der Zeit des Browsers zeigt, es sei denn, Sie wählen es aus dem Dropdown aus.

Also, wenn Sie den logstash conf verarbeiten sollten Sie in der Lage sein, das Feld received_time, um zu sehen, die wir unten in der conf im Drop erstellt. Sie müssen es also einfach unter drop down auswählen, damit Kibana die Ereignisse basierend auf der von Ihnen ausgewählten timestamp anzeigen. Auch stellen Sie sicher,, dass Sie keine Zeitzone Probleme haben. Wenn Sie UTC verwenden, ändern Sie bitte die Zeitzone des Browsers sowie Erweiterte Einstellungen> dateFormat: tz in . Ich hoffe es hilft!

+0

Ich überprüfte den Zeitstempel zwischen ELK-Server und einem der Server, die Protokolle sendet, und sie sind ein bisschen anders, könnte es ein Problem sein? –

+0

Was ist der Zeitunterschied zwischen zwei von ihnen? Ist es nach dem, was du nach meiner Antwort getan hast? – Kulasangar

+0

ca. 2 Minuten –

Verwandte Themen