2013-05-16 109 views
2

我的简单配置如下所示。 我在我的主目录中创建了一个虚拟文件夹,并在其中创建了一些日志文件。 我的配置文件看起来像这样。logstash文件输入配置

input{ 
    file{ 
     type => "dummylog" 
     path => [/home/rohit/dummy/*.log" ] 
    } 
} 
output{ 
    elasticsearch{ 
     embedded => true 
    } 
} 

现在运行logstash后,我无法在logstash的Web UI的任何文件看。那些文件没有被读入elasticsearch。我正在使用嵌入式elasticsearch,因此不需要运行单独的进程。任何人都可以帮我解决我犯的错误吗?

回答

3

也许你应该修正你的配置语法错误,然后看看是否有更深层的问题。

你缺少了“行:

path => [/home/rohit/dummy/*.log" ] 

如果不解决这个问题,这将是明智的,以确认在运行过程logstash用户,已读访问日志(S)后试图读取。

1

要非常小心的语法,你错过了“(引号)在路径

input{ 
    file{ 
     type => "dummylog" 
     path => ["/home/rohit/dummy/*.log"] 
    } 
} 

output{ 
    elasticsearch{ 
     embedded => true 
    } 
} 

还要注意的是这个工作,elasticsearch必须是在小号ame主机作为logstash。

2
input { 
    file { 
    path => "/home/rohit/dummy/*.log" 
    type => "log" 
    } 
} 

filter { 
    if [type] == "log" { 
    grok { 
     pattern => "%{COMBINEDAPACHELOG}" 
    } 
    } 
} 

output { 
    elasticsearch { host => localhost } stdout { } } 
} 

来检查模式是否正确运行

$斌/ logstash剂-f 的httpd-shipper.conf --configtest

0

除了左引号你一定已经忘了:

start_position => ...#字符串,其中之一[ “开始”, “结束”] (可选),默认: “结束”

所以,它应该是:

input{ 
    file{ 
    type => "dummylog" 
    path => "/home/rohit/dummy/*.log" 
    start_position => "beginning" 
    } 
} 
    output { 
    elasticsearch{ 
     embedded => true 
    } 
}