elasticsearch 为什么ElasticSearch有时不';不显示Logstash发送的最新日志?,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" /> elasticsearch 为什么ElasticSearch有时不';不显示Logstash发送的最新日志?,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana" />

elasticsearch 为什么ElasticSearch有时不';不显示Logstash发送的最新日志?

elasticsearch 为什么ElasticSearch有时不';不显示Logstash发送的最新日志?,elasticsearch,logstash,kibana,elasticsearch,Logstash,Kibana,我的Logstash将日志发送到ElasticSearch,在Logstash输出文件中,我看到发送了新日志,但在Kibana Discover页面中单击refresh时,这些日志不会显示。发现页面显示约1小时前的日志 是什么导致了这个问题? 有没有办法检查记录是否在ElasticSearch中而不是使用Kibana 我的日志文件中的时间戳如下:[2020-09-02 13:53:07392Z] 这是pipeline.yml我的日志库使用的: input { #stdin {}

我的Logstash将日志发送到ElasticSearch,在Logstash输出文件中,我看到发送了新日志,但在Kibana Discover页面中单击refresh时,这些日志不会显示。发现页面显示约1小时前的日志

是什么导致了这个问题? 有没有办法检查记录是否在ElasticSearch中而不是使用Kibana

我的日志文件中的时间戳如下:[2020-09-02 13:53:07392Z]

这是pipeline.yml我的日志库使用的:

input {
    #stdin {}
    beats {
        port => "5055"
    }
    # file {
}
filter {
    grok {
        patterns_dir => "C:\logstash-7.4.2\patterns"
        match => { "message" => "^\[%{TIMESTAMP_ISO8601:timestamp}\]\[%{LOGLEVEL:level}\]\[%{Thread:thread}\]\[%{JAVACLASS:class}\](\[\d*\])? %{GREEDYDATA:msg}" }
   }
   if "_grokparsefailure" in [tags] {
       drop{}
   }
}
output {
    file {
        path => "C:\logstash-7.4.2\logstash_output.txt"
    }
    elasticsearch {
        hosts => [ "localhost:9200" ]
        index => "ts_services-%{+YYYY.MM.dd}"
    }
}

我删除了现有的索引模式并创建了一个新的索引模式后,看到了最新的日志。但我不认为这是解决方案。

请遵循评论中的讨论。 这是一个非常普遍的问题

Kibana中的索引模式非常具体:

ts_services-2020-08*
所以九月份的数据被Kibana忽略了,即使他们在Elasticsearch中

更改Kibana索引模式将解决此问题:

ts_services*

但您必须更正所有自定义可视化。

这可能是时间戳问题。Kibana在浏览器时区中解释时间戳,因此如果日志末尾没有时区,它们可能无法正确显示。您能否显示日志文件中的时间戳以及日志存储配置的外观?与日志存储/Kibana中使用别名的方式相比,日志存储命名约定也可能存在问题。您还可以添加索引设置吗?@Val我在我的问题中添加了时间戳格式和Logstash配置。@Logstash yml文件中的Jaycreation索引设置现在是我的问题。刚刚发现Kibana中定义的默认索引模式的月份为08:someservice-2020.08*。删除“08”后,最新日志显示在Kibana中。谢谢@Jaycreation。