我的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}"
}
}
在我删除了现有的索引模式并创建了一个新的索引模式之后,我看到了最新的日志。但我不认为这是解决办法。
1条答案
按热度按时间9cbw7uwe1#
关注评论中的讨论。这里的问题很常见。
kibana的索引模式非常具体:
所以9月份的数据被kibana忽略了,即使它们在elasticsearch中。
更改kibana索引模式将解决以下问题:
但您必须更正所有自定义的可视化效果。