【发布时间】:2021-02-04 18:21:19
【问题描述】:
我知道你可以在 logstash 中转发日志。
你可以为不同的类使用不同的目标和协议吗?我想将我的 json 和 syslog 日志之间的转发目标分开。我该怎么做?
【问题讨论】:
标签: logstash elk logstash-forwarder
我知道你可以在 logstash 中转发日志。
你可以为不同的类使用不同的目标和协议吗?我想将我的 json 和 syslog 日志之间的转发目标分开。我该怎么做?
【问题讨论】:
标签: logstash elk logstash-forwarder
您可以根据需要使用标签分隔不同的流,并相应地对其应用操作。示例代码如下:
input {
beats { port => 2200 tag => apache }
tcp { port => 9999 tag => firewall }
}
filter {
if "apache" in [tags] {
<someoperation> { ... }
} else if "firewall" in [tags] {
grok { ... }
}
}
output {
if "apache" in [tags] {
elasticsearch { ... }
} else if "firewall" in [tags] {
tcp { ... }
}
}
解释:
在输入插件中,所有从端口 2200 和 9999 流出的事件都分别添加了标签 apache 和防火墙。这将用于根据输入插件中添加的标签对每个事件应用单独的过滤器操作。 现在,以同样的方式,这些事件可以分别发送到不同或相同的端点(无论是日志文件、控制台输出、Elasticsearch 存储等)
【讨论】: