I'm trying to setup a AWS Network Load Balancer (NLB) in-front of Filebeat instance. Need help in 1. How to configure the NLB &
2. How to do health check in NLB.
Note:
This setup is to collect the logs from various devices (over UDP) into Elastic Search via Filebeat agent.
Devices --> NLB--> FileBeat --> ES
As answered in the other post, I think that your problem is that the AWS NLB can't do a health check using UDP, so you will need to do the health check using TCP or HTTP/HTTPS.
You can do that adding a TCP input in filebeat that will be used only for this healthcheck, than in your target group you configure the health check to use this port.
Or you can try this experimental feature that exposes the metrics http endpoint, and use this endpoint as the target for the health check.
I tried the first option - configuring additional TCP input on port 9001. But, no luck - still TG is in unhealthy state. Would you please have a look at my setup below?
You can't listen on only localhost, you need to change the host to 0.0.0.0:9001, the same thing applies to your UDP input.
If you want to listen for connections from outside your machine, even from the same network, you can't use localhost as it will only listen to local requests. The NLB won't be able to talk to your filebeat if you are listening only on localhost.
This is not an Filebeat issue, it is an AWS issue, there is not much to do on the filebeat side.
Apache, Apache Lucene, Apache Hadoop, Hadoop, HDFS and the yellow elephant
logo are trademarks of the
Apache Software Foundation
in the United States and/or other countries.