【发布时间】:2018-03-25 10:08:54
【问题描述】:
我有一个通过 HTTP 和 TCP 捕获日志的简单设置。
我在/etc/logstash/conf.d/(见下文)创建了 2 个 conf 文件,但通过 HTTP 发送的日志也通过 TCP 管道传递,反之亦然。例如,当我通过 TCP 发送日志时,它最终会出现在 http-logger-* 索引和 tcp-logger-*.. 这对我来说毫无意义:(
http_logger.conf
input {
http {
port => 9884
}
}
filter {
grok {
match => ["[headers][request_path]", "\/(?<component>[\w-]*)(?:\/)?(?<env>[\w-]*)(?:\/)?"]
}
}
output {
amazon_es {
hosts => ['XXXXX']
region => 'us-west-2'
aws_access_key_id => 'XXXXX'
aws_secret_access_key => 'XXXXX'
index => 'http-logger-%{+YYYY.MM.dd}'
}
stdout { codec => rubydebug }
}
tcp_logger.conf
input {
tcp {
port => 9885
codec => json
}
}
filter {
}
output {
amazon_es {
hosts => ['XXXXX']
region => 'us-west-2'
aws_access_key_id => 'XXXXX'
aws_secret_access_key => 'XXXXX'
index => 'tcp-logger-%{+YYYY.MM.dd}'
}
stdout { codec => rubydebug }
}
关于我缺少什么的任何想法? 谢谢
【问题讨论】:
标签: logstash elastic-stack logstash-configuration