为什么 Logstash 写入两个索引? (默认和自定义的)
Why does Logstash write into two indices? (default and custom ones)
我正在使用 Elasticsearch 5.2 和 Logstash 5.2。
我的问题是 Logstash 正在写入默认索引(格式 logstash-2017.02.15)和我的自定义索引。
我只是想让它把 only 写入我的 "logstash-secure" 索引。我该怎么办?
这是我的简单配置:
output {
elasticsearch {
hosts => [ "elasticsearch:9200" ]
index => "logstash-secure"
}
stdout { codec => rubydebug }
}
PS:如果你告诉我必须使用自定义模板,你能解释一下为什么吗? :)
我找到了解决办法。
其实我有两个配置文件,但我认为没有发生。
我用条件语句解决了我的问题。然后,Logstash 根据来源将信息存储到两个不同的索引中。
这是我新的第一个 conf 文件:
input {
beats {
port => "5044"
add_field => { "log_type" => "apache" }
}
}
filter {
[some conf]
}
output {
if [log_type] == "apache" {
elasticsearch {
hosts => [ "elasticsearch:9200" ]
}
}
}
还有我的第二个配置文件:
input {
file {
path => "/var/log/secure"
start_position => "beginning"
add_field => { "log_type" => "secure.log" }
}
}
filter {
[some conf]
}
output {
if [log_type] == "secure.log" {
elasticsearch {
hosts => [ "elasticsearch:9200" ]
index => "logstash-secure"
}
}
}
我正在使用 Elasticsearch 5.2 和 Logstash 5.2。
我的问题是 Logstash 正在写入默认索引(格式 logstash-2017.02.15)和我的自定义索引。 我只是想让它把 only 写入我的 "logstash-secure" 索引。我该怎么办?
这是我的简单配置:
output {
elasticsearch {
hosts => [ "elasticsearch:9200" ]
index => "logstash-secure"
}
stdout { codec => rubydebug }
}
PS:如果你告诉我必须使用自定义模板,你能解释一下为什么吗? :)
我找到了解决办法。 其实我有两个配置文件,但我认为没有发生。
我用条件语句解决了我的问题。然后,Logstash 根据来源将信息存储到两个不同的索引中。
这是我新的第一个 conf 文件:
input {
beats {
port => "5044"
add_field => { "log_type" => "apache" }
}
}
filter {
[some conf]
}
output {
if [log_type] == "apache" {
elasticsearch {
hosts => [ "elasticsearch:9200" ]
}
}
}
还有我的第二个配置文件:
input {
file {
path => "/var/log/secure"
start_position => "beginning"
add_field => { "log_type" => "secure.log" }
}
}
filter {
[some conf]
}
output {
if [log_type] == "secure.log" {
elasticsearch {
hosts => [ "elasticsearch:9200" ]
index => "logstash-secure"
}
}
}