複数のfilebeatからlogstashへデータを流し込もうとしたらlogstashが死んだ


俺も死んだ(チーン

今頃なのか今更なのか知りませんが、Elasticstackに手を出し始めました。
柔軟性が高いのはいいけど、その柔らかさに殺されそうでまぢつらたんです(´;ω;`)

ちなみに構成は、
CentOS6
elastic 6.x
です。

さて、今回問題のケースでは、ログをfilebeatで取得して、logstashに流し込み、elasticsearchに書き込む構成を取りました。
そして、複数サーバーのログを集約させたいので、各サーバーにfilebeatを設置する、という形にしました。
図(?)にするとこんな感じ?ずれてたらごめんなさい
[FB]―[LS]―[ES]
[FB]/

これで動かしたけれども、elasticsearchのほうにIndexがさっぱり作られません。おかしいと思って/var/log/logstash/logstash-plain.logを見ると、以下のエラーがいっぱい書かれてました。

長すぎ!
まぁ要点は「Error: Cannot assign requested address」だと思います。

この時、2つのfilebeatが設定していたlogstashの宛先ポートはどちらも5044でした。
冷静になって考えたら、1つのポートを奪い合う状態はまずいので、片方のfilebeatのポートを5055に変更してやり直してみたら、普通に動きました!(∩´∀`)∩ワーイ

単純にポートの競合はやめましょうって話でした。よくよく考えると恥ずかしいw

「複数のfilebeatからlogstashへデータを流し込もうとしたらlogstashが死んだ」への2件のフィードバック

  1. ご質問させてください

    当方同じような環境を考えています

    logstashのポートを5055にされたと理解します。この場合logstash側にlistenポートは5055はどのように記載されたのか具体的に教えて欲しいです
    おそらくlogstashのconfにlistenを記載されていると思いますが、並べて書かれたのでしょうか

    またfilebeatで複数の種類のログをlogstashに送ることはできるのでしょうか

    1. コメントありがとうございます!そして返信が大変遅れてしまいました……申し訳ありません。
      もしかしてもう解決してしまったかもしれませんが、返信させていただきます。

      > logstashのポートを5055にされたと理解します。この場合logstash側にlistenポートは5055はどのように記載されたのか具体的に教えて欲しいです
      > おそらくlogstashのconfにlistenを記載されていると思いますが、並べて書かれたのでしょうか

      logstashのポート設定は、confファイルに以下のように書いています。
      input {
      beats {
      port => 55034
      }
      }

      並べて書いてはおらず、ポートひとつだけ指定しています。

      通りすがりのさんがやりたいことは、複数のfilebeatから一つのlogstashへ同時にログを流すこと、かとお見受けいたしますが、そういうときは、logstashのパイプラインという仕組みを使うとうまくいきます。
      参考ページ – [Elasticsearch][Logstash] Multiple Pipelinesを試す。:
      https://qiita.com/tsgkdt/items/3e7f07ca963676b37718

      > またfilebeatで複数の種類のログをlogstashに送ることはできるのでしょうか

      filebeat.yml内のfilebeat.inputs:のところで、監視するデータソースを複数指定できます。
      参考ページ – Configure inputs:
      https://www.elastic.co/guide/en/beats/filebeat/current/configuration-filebeat-options.html

      ちなみに自分はこんな感じでfilebeat.ymlに記述しています。
      filebeat.inputs:

      – type: log
      paths:
      – /var/log/httpd/hogehoge_access_log
      tags: [“hogehoge”]

      – type: log
      paths:
      – /var/log/httpd/hugahuga_access_log
      tags: [“hugahuga”]

      – type: log
      paths:
      – /var/www/html/acme_system/storage/log/hoge.log
      tags: [“acme_system”]

nisihunabasi へ返信する コメントをキャンセル

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です