Logstash 是否可以将日志转发到不同日志类的不同目标?

Logstash 是否可以将日志转发到不同日志类的不同目标?,logstash,elk,logstash-forwarder,Logstash,Elk,Logstash Forwarder,我知道在logstash你可以转发日志 您可以为不同的类使用不同的目标和协议吗?我想在json和syslog日志之间分离转发目标。如何做到这一点?您可以根据不同的流的需要,使用标记将其分开,并相应地对其应用操作。下面提到了一个示例代码: input { beats { port => 2200 tag => apache } tcp { port => 9999 tag => firewall } } filter {

我知道在logstash你可以转发日志


您可以为不同的类使用不同的目标和协议吗?我想在json和syslog日志之间分离转发目标。如何做到这一点?

您可以根据不同的流的需要,使用标记将其分开,并相应地对其应用操作。下面提到了一个示例代码:

 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 { ... }
       }  
    }
输入{
beats{port=>2200标记=>apache}
tcp{port=>9999标记=>firewall}
}
滤器{
如果[tags]{
{ ... }
}如果[tags]{
格罗克{…}
}  
}
输出{
如果[tags]{
弹性搜索{…}
}如果[tags]{
tcp{…}
}  
}
说明:

在输入插件中,来自端口2200和9999的所有事件都分别添加了标记apache和firewall。这将用于根据输入插件中添加的标记对每个事件应用单独的筛选操作。 现在,以同样的方式,这些事件可以分别发送到不同或相同的端点(可以是日志文件、控制台输出、Elasticsearch存储等)