# Multiple pipelines and multiple filebeats

**URL:** <https://discuss.elastic.co/t/multiple-pipelines-and-multiple-filebeats/141994>\
**Category:** Logstash\
**Created:** [July 27, 2018, 8:11pm UTC](https://discuss.elastic.co/t/multiple-pipelines-and-multiple-filebeats/141994 "2018-07-27T20:11:40Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![HRG](https://avatars.discourse-cdn.com/v4/letter/h/a4c791/32.png) [@HRG](https://discuss.elastic.co/u/HRG)\
**Post date:** [July 27, 2018, 8:11pm UTC](https://discuss.elastic.co/t/multiple-pipelines-and-multiple-filebeats/141994/1 "2018-07-27T20:11:40Z")

</div>

Can you please help me below.

1. I have multiple pipelines. each pipleline configuration is receives data from different application servers where we installed filebeat.

2. When i have single pipeline config running(on logstash server) and single filebeat running(on app server), we are able to receive the logs to logstash server.

3. I have new pipelined added which should receive log data from another application server. Here another filebeat instance is running.

When two separate filebeat instances are sending data to two different logstash pipelines(both are having beats input, how logstash know which pipeline should receive data from which filebeat server.

**Here is the error i am getting**

[2018-07-27T15:38:07,570][INFO][org.logstash.beats.Server] Starting server on port: 5044  
[2018-07-27T15:38:13,787][ERROR][logstash.pipeline] A plugin had an unrecoverable error. Will restart this plugin.  
Pipeline\_id: api\_filebeat  
Plugin: \<LogStash::Inputs::Beats port=\>5044, client\_inactivity\_timeout=\>120, id=\>"9aa966e55046c21f0e07eb96962fd976dc46e3f80a9205e44799e10da8703c99", enable\_metric=\>true, codec=\>\<LogStash::Codecs::Plain id=\>"plain\_e8908910-e10f-40bd-a5ab-fbb7d3a00f5b", enable\_metric=\>true, charset=\>"UTF-8"\>, host=\>"0.0.0.0", ssl=\>false, ssl\_verify\_mode=\>"none", include\_codec\_tag=\>true, ssl\_handshake\_timeout=\>10000, tls\_min\_version=\>1, tls\_max\_version=\>1.2, cipher\_suites=\>["TLS\_ECDHE\_ECDSA\_WITH\_AES\_256\_GCM\_SHA384", "TLS\_ECDHE\_RSA\_WITH\_AES\_256\_GCM\_SHA384", "TLS\_ECDHE\_ECDSA\_WITH\_AES\_128\_GCM\_SHA256", "TLS\_ECDHE\_RSA\_WITH\_AES\_128\_GCM\_SHA256", "TLS\_ECDHE\_ECDSA\_WITH\_AES\_256\_CBC\_SHA384", "TLS\_ECDHE\_RSA\_WITH\_AES\_256\_CBC\_SHA384", "TLS\_ECDHE\_RSA\_WITH\_AES\_128\_CBC\_SHA256", "TLS\_ECDHE\_ECDSA\_WITH\_AES\_128\_CBC\_SHA256"], executor\_threads=\>4\>  
_Error: Address already in use_  
Exception: Java::JavaNet::BindException  
Stack: sun.nio.ch.Net.bind0(Native Method)  
sun.nio.ch.Net.bind(sun/nio/ch/Net.java:433)  
sun.nio.ch.Net.bind(sun/nio/ch/Net.java:425)  
sun.nio.ch.ServerSocketChannelImpl.bind(sun/nio/ch/ServerSocketChannelImpl.java:223)  
io.netty.channel.socket.nio.NioServerSocketChannel.doBind(io/netty/channel/socket/nio/NioServerSocketChannel.java:128)  
io.netty.channel.AbstractChannel$AbstractUnsafe.bind(io/netty/channel/AbstractChannel.java:558)  
io.netty.channel.DefaultChannelPipeline$HeadContext.bind(io/netty/channel/DefaultChannelPipeline.java:1283)  
io.netty.channel.AbstractChannelHandlerContext.invokeBind(io/netty/channel/AbstractChannelHandlerContext.java:501)  
io.netty.channel.AbstractChannelHandlerContext.bind(io/netty/channel/AbstractChannelHandlerContext.java:486)  
io.netty.channel.DefaultChannelPipeline.bind(io/netty/channel/DefaultChannelPipeline.java:989)  
io.netty.channel.AbstractChannel.bind(io/netty/channel/AbstractChannel.java:254)  
io.netty.bootstrap.AbstractBootstrap$2.run(io/netty/bootstrap/AbstractBootstrap.java:364)  
io.netty.util.concurrent.AbstractEventExecutor.safeExecute(io/netty/util/concurrent/AbstractEventExecutor.java:163)  
io.netty.util.concurrent.SingleThreadEventExecutor.runAllTasks(io/netty/util/concurrent/SingleThreadEventExecutor.java:403)  
io.netty.channel.nio.NioEventLoop.run(io/netty/channel/nio/NioEventLoop.java:463)  
io.netty.util.concurrent.SingleThreadEventExecutor$5.run(io/netty/util/concurrent/SingleThreadEventExecutor.java:858)  
io.netty.util.concurrent.FastThreadLocalRunnable.run(io/netty/util/concurrent/FastThreadLocalRunnable.java:30)  
java.lang.Thread.run(java/lang/Thread.java:748)

It says address already in use but it is not in use. Single logstash service with multiple pipelines. Each pipeline receives data from multiple app servers(each has its own filebeat running)

Could you please help what to do when we have this situation.

---

<div class="post-metadata">

**Author:** ![magnusbaeck](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/magnusbaeck/32/44943_2.png) [@magnusbaeck](https://discuss.elastic.co/u/magnusbaeck)\
**Post date:** [July 27, 2018, 9:24pm UTC](https://discuss.elastic.co/t/multiple-pipelines-and-multiple-filebeats/141994/2 "2018-07-27T21:24:44Z")

</div>

You can't have multiple beats inputs (in the same pipeline or in different pipelines) that listen on the same TCP port. If you want to separate processing of events from different applications in different pipelines you need to ship the events to different ports on the Logstash host.

---

<div class="post-metadata">

**Author:** ![HRG](https://avatars.discourse-cdn.com/v4/letter/h/a4c791/32.png) [@HRG](https://discuss.elastic.co/u/HRG)\
**Post date:** [July 30, 2018, 8:25pm UTC](https://discuss.elastic.co/t/multiple-pipelines-and-multiple-filebeats/141994/3 "2018-07-30T20:25:34Z")

</div>

Thank you very much Magnus. I changed TCP port from default. It worked .

Thank you.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [August 27, 2018, 8:32pm UTC](https://discuss.elastic.co/t/multiple-pipelines-and-multiple-filebeats/141994/4 "2018-08-27T20:32:00Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
