elasticsearch 日志存储未读取新日志文件
我已经在我的系统中设置了Elasticsearch和Logstash。我试图做的是扫描我所有的日志文件(XML格式)并将其发送到Elasticsearch 我的日志存储配置文件-
elasticsearch 日志存储未读取新日志文件,
elasticsearch,logstash,
elasticsearch,Logstash,我已经在我的系统中设置了Elasticsearch和Logstash。我试图做的是扫描我所有的日志文件(XML格式)并将其发送到Elasticsearch 我的日志存储配置文件- input { stdin { } file { type => "tweet" path => "/var/www/html/suresh/elasticsearch/product_logs/xml/*" sincedb_path =&g
input {
stdin { }
file {
type => "tweet"
path => "/var/www/html/suresh/elasticsearch/product_logs/xml/*"
sincedb_path => "/home/suresh/Desktop/tools/logstash-5.5.1/logs/test.sincedb"
# ignore_older => 60
# discover_interval => 5
# start_position => "beginning"
codec => multiline {
pattern =>"^<tweet>"
negate => "true"
what => "previous"
}
}
}
filter {
xml {
store_xml => "false"
remove_namespaces => "true"
source => "message"
xpath => [
"/tweet/user/text()", "user",
"/tweet/post_date/text()", "post_date",
"/tweet/message/text()", "tweet_message"
]
}
mutate {
join => ["user", ""]
join => ["post_date", ""]
join => ["tweet_message", ""]
}
}
output {
elasticsearch {
hosts => ["localhost:9200"]
index => "twitter"
}
stdout { codec => rubydebug }
file {
path => "/home/suresh/Desktop/tools/logstash-5.5.1/logs/out.log"
}
}
&将任何新的XML文件放入我的源文件夹Logstash未检测到任何文件&正在解析该文件。但是,当我按下Ctr+C
关闭Logstash时,它检测到XML文件解析,并在关闭之前将数据发送到Elasticsearh
不知道出了什么问题。任何洞察 试试看,那会对你有帮助的。也许这是sincedb的问题。如果文件没有以换行符结尾,它将保持打开状态,因此可能您对获取的文档数量有限制,因此无法继续。另一种尝试是将sincedb指向/dev/null
sincedb_path=>“/dev/null”
,然后选择一个全新的目录,只是为了检查在这个新环境中系统是否能够获取和解析新文档。@Andrearonagnoli感谢您的回复。你提到的两种方法我都试过了。但是,没有得到任何运气。但是,我注意到的一种模式是“在创建一个新的日志文件后,当我将其放入源文件夹时,什么都没有发生。但是,如果我再次从源文件夹打开同一个文件并添加1/2换行符,它就会开始工作”。不知道到底发生了什么。您是否尝试添加一些非空新行,以检查新添加的行(当然是手动)是否正确解析?您是否尝试创建一些最小的示例来排除配置错误,一次添加一个部件来检查导致问题的部件?这真的可以帮你弄清楚到底发生了什么。试一下,这会帮你。也许这是sincedb的问题。如果文件没有以换行符结尾,它将保持打开状态,因此可能您对获取的文档数量有限制,因此无法继续。另一种尝试是将sincedb指向/dev/nullsincedb_path=>“/dev/null”
,然后选择一个全新的目录,只是为了检查在这个新环境中系统是否能够获取和解析新文档。@Andrearonagnoli感谢您的回复。你提到的两种方法我都试过了。但是,没有得到任何运气。但是,我注意到的一种模式是“在创建一个新的日志文件后,当我将其放入源文件夹时,什么都没有发生。但是,如果我再次从源文件夹打开同一个文件并添加1/2换行符,它就会开始工作”。不知道到底发生了什么。您是否尝试添加一些非空新行,以检查新添加的行(当然是手动)是否正确解析?您是否尝试创建一些最小的示例来排除配置错误,一次添加一个部件来检查导致问题的部件?这真的可以帮你弄清楚到底发生了什么。
<tweet>
<user>Tweet1</user>
<post_date>2010-11-15T14:12:12</post_date>
<message>Playing with logstash-Log1</message>
</tweet>
sudo bin/logstash -f logstash-simple.conf