filebeatのUDP inputでlocalhostを指定すると受信できない

お世話になります。

filebeatを使って、UDP通信をinputしようとしております。
構成は以下の通りです。

構成

送信元(EC2)→ AWS NLB(UDP) → [転送] → filebeat(EC2)

この時、filebeatのUDP inputにAWSのプライベートIPをベタ書きすると正しく受信できるのですが、localhostを指定すると、うまく受信できません。

filebeat.yml

~
filebeat.inputs:
- type: udp
  max_message_size: 10KiB
  #受信できる host: "172.xxx.xxx.xxx:8080"
  #受信できない host: "localhost:8080"
~

$sudo lsof -i :8080で確認してみたところ、両方ともfilebeatが8080で待ち受けしているように見えるのですが、localhostの場合に受信できないのは、何か設定上おかしな部分があるのでしょうか。

何かお分かりの方がいらっしゃいましたら、ご教示くださいますと幸いです。

host: "localhost:8080"

とした場合、127.0.0.1で待ち受けているので、別ホストからは接続できないかと思います。
BindAddressの問題ではないかと。

もし、どこからでもつなげるようにする、というような場合でしたらば、

host: "0.0.0.0:8080"

と書けると思います。

1 Like

@tsgkdt さん

いつもご回答ありがとうございます。
教えて頂いた設定でうまく受信できるようになりました。
助かりました~