gpt4 book ai didi

nginx - 使用两个配置文件时的Logstash混合输出

转载 作者:行者123 更新时间:2023-12-03 00:36:00 25 4
gpt4 key购买 nike

我在Ubuntu中使用Logstash 1.5.6。

我在/etc/logstash/conf.d中编写了两个配置文件,指定了不同的输入/输出位置:

文件A:

input {
file {
type => "api"
path => "/mnt/logs/api_log_access.log"
}
}
filter {
...
}
output {
if "_grokparsefailure" not in [tags] {
elasticsearch {
host => "localhost"
protocol => "http"
index => "api-%{+YYYY.MM.dd}"
template => "/opt/logstash/template/api_template.json"
template_overwrite => true
}
}
}

文件B:
input {
file {
type => "mis"
path => "/mnt/logs/mis_log_access.log"
}
}
filter {
...
}
output {
if "_grokparsefailure" not in [tags] {
elasticsearch {
host => "localhost"
protocol => "http"
index => "mis-%{+YYYY.MM.dd}"
template => "/opt/logstash/template/mis_template.json"
template_overwrite => true
}
}
}

但是,我可以看到 /mnt/logs/mis_log_access.log/mnt/logs/nginx/dmt_access.log中显示的 api-%{+YYYY.MM.dd}mis-%{+YYYY.MM.dd}中的数据,这不是我想要的。

配置有什么问题?谢谢。

最佳答案

Logstash读取配置目录中的所有文件,并将它们全部合并到一个配置中。

若要使一个过滤器或输出部分仅针对一种输入类型运行,请使用条件:

if [type] == "api" {
....
}

关于nginx - 使用两个配置文件时的Logstash混合输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34503473/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com