我一直在尝试将日志从logstash发送到elasticsearch.Suppose我正在运行logstash实例,并在运行时对logstash实例所在的文件进行了更改监控,那么先前保存在elasticsearch中的所有日志都会再次保存,因此会形成重复。在logstash实例运行时将条目复制到Elastic Search
另外,当logstash实例关闭并重新启动时,日志会在elasticsearch中重复。
如何解决此问题? 如何仅将文件中最新添加的条目从logstash发送到elasticsearch? 我logstash instance命令如下: 斌/ logstash -f logstash-complex.conf
和配置文件是这样的:
input
{
file
{
path => "/home/amith/Desktop/logstash-1.4.2/accesslog1"
}
}
filter
{
if [path] =~ "access"
{
mutate
{
replace =>
{ "type" => "apache_access" } }
grok {
match => { "message" => "%{COMBINEDAPACHELOG}" }
}
}
date {
match => [ "timestamp" , "dd/MMM/yyyy:HH:mm:ss Z" ]
}
}
output {
elasticsearch {
host => localhost
index => feb9
}
stdout { codec => rubydebug }
}
如果我创建的文件是一个新文件,start_position必须指向文件的开头,该怎么办? – 2015-02-10 11:33:33
进行上述更改后仍然重复。 – 2015-02-10 11:44:10
你使用什么操作系统?如果您在窗口上运行,则存在logstash上的错误。 https://logstash.jira.com/browse/LOGSTASH-429 – 2015-02-12 00:40:42