是时候用 ES 拯救发际线啦

filebeat 读取日志文件无序

Beats | 作者 yu89780012 | 发布于2019年11月21日 | 阅读数:3251

目前我的版本为7.2.1我用的是最简单的 filebeat  
 我通过websocket 抓取的文件内容是

QQ20191121-092522@2x.png



下面是我的logstash 的配置文件, 用的最简单的。
# Sample Logstash configuration for creating a simple
# Beats -> Logstash -> Elasticsearch pipeline.

input {
#file {
# path => "/var/log/test/test.log"
# codec => "json"
# sincedb_path => "/dev/null"
#}
beats {
port => 5044
}
# stdin{
# codec=>line
# }

}
filter{
json {
source=>"message"
target=>"json"
}
mutate{
remove_field => ["tags","agent","input","host","ecs","@version",'log']
}

}
output {

websocket{
id => "websocket_id"
}


}
那么怎么才能保证抓取到的日志有序。


已邀请:

tacsklet - 公司有用到es

赞同来自:

可以将这个字段提取出来,然后查询的时候根据这个字段排序。从一般情况来讲,日志数据不太能保证有序,比如有多台服务器都有日志,同时抓取,考虑网络有可能阻塞,不同日志到达es的时间是不同的,依赖写入的有序是一种极不稳定的方式。
匿名用户

匿名用户

赞同来自:

首先你要看 自己的日志文件,是否是有序的,如果没顺序,filebeat logstash 都是无序的。
 
大数据,时序问题一直都是个难度,根本做不到。
 

zqc0512 - andy zhou

赞同来自:

在入库的时候在logstash上面配置一个新的时间@timestamp就有顺序了。

yu89780012

赞同来自:

通过写logstash 输出插件进行部分数据排序进行处理。 通过filebeat->logstash->websocket输出插件(非本业务) 验证,日志可能会无顺序。

要回复问题请先登录注册