使用 logstash 从文件中收集数据
Collect Data from File with logstash
我正在尝试使用 logstash 从文件中收集数据,但它不起作用,这是我的 logstash.conf 文件:
{
input {
stdin { }
file {
type => "tomcat-access"
path => ["/Users/aymen/Desktop/Projet Big Data/outils/logstash-1.5.0.rc2/var/log/test.txt"]
}
}
filter {
grok {
match => [ "message", "%{WORD:firstname} %{WORD:lastname} %{NUMBER:age}"]
}
}
output {
stdout { }
elasticsearch {
cluster => "logstash"
}
}
}
这是我的数据文件:
Kevin Larsing 34
Nicolas Derel 22
Florence Niral 32
Ines Lkiel 23
此致。
正如@Magnus 所说,您不需要最外面的大括号。除此之外,您可能想要添加(至少用于测试):
start_position => 'beginning'
...到输入文件流。这将确保提取测试文件中的现有日志。文档 here - 请注意,此设置的默认值为 "end"。
我的工作 .conf 文件如下所示:
input {
stdin { }
file {
type => "tomcat-access"
path => "/in.txt"
start_position => 'beginning'
}
}
filter {
grok {
match => [ "message", "%{WORD:firstname} %{WORD:lastname} %{NUMBER:age}"]
}
}
output {
stdout { }
elasticsearch {
cluster => "henrys_elasticsearch"
}
}
我正在尝试使用 logstash 从文件中收集数据,但它不起作用,这是我的 logstash.conf 文件:
{
input {
stdin { }
file {
type => "tomcat-access"
path => ["/Users/aymen/Desktop/Projet Big Data/outils/logstash-1.5.0.rc2/var/log/test.txt"]
}
}
filter {
grok {
match => [ "message", "%{WORD:firstname} %{WORD:lastname} %{NUMBER:age}"]
}
}
output {
stdout { }
elasticsearch {
cluster => "logstash"
}
}
}
这是我的数据文件:
Kevin Larsing 34
Nicolas Derel 22
Florence Niral 32
Ines Lkiel 23
此致。
正如@Magnus 所说,您不需要最外面的大括号。除此之外,您可能想要添加(至少用于测试):
start_position => 'beginning'
...到输入文件流。这将确保提取测试文件中的现有日志。文档 here - 请注意,此设置的默认值为 "end"。
我的工作 .conf 文件如下所示:
input {
stdin { }
file {
type => "tomcat-access"
path => "/in.txt"
start_position => 'beginning'
}
}
filter {
grok {
match => [ "message", "%{WORD:firstname} %{WORD:lastname} %{NUMBER:age}"]
}
}
output {
stdout { }
elasticsearch {
cluster => "henrys_elasticsearch"
}
}