2017-06-26 11 views
0

私はファイルスタックでElastic Stack(Logstash + Elastic search + Kibana)を設定しました。だから私の質問は、私は私のアプリケーションインスタンス(マイクロサービスアプリケーション)を配備した複数のサーバーを持っているということです。私はすべてのサーバーからログを取得したいが、そのためには各サーバーにファイルビートをインストールする必要がある。それは正しい理解ですか?または、単一のファイルビートインスタンスがすべてのサーバー(サーバーは同じネットワークになる)からログを取得でき、TCPまたは任意のプロトコルでログを送信できるようなものを設定できますか?Filebeat - 複数のサーバーインスタンスの設定

答えて

0

はい、ログをスクラップするすべてのサーバにfilebeatをデプロイする必要があります。

0

ログストアを設定してTCPポートでリッスンし、ファイルではなくソケットにログオンするようにアプリケーションを設定することもできます。

input { 
    tcp { 
    port => 8192 
    codec => json 
    tags => [ "micrologs" ] 
    } 
} 

これはJSONでフォーマット接続するたびに、と、8192ログを一度に到着するポートにLogstashボックスのリスナーを設定します。

input { 
    tcp { 
    port => 8192 
    codec => json_lines 
    tags => [ "micrologs" ] 
    } 
} 

これは、接続は永続的で、かつjson_linesコーデックが着信接続でのJSONの行に基づいてログ・イベントを破るために使用されることを除いて、同じことを行います。

ここでjsonを使用する必要はありませんが、必要に応じてプレーンテキストにすることができます。 JSONを構造化ログの例として使用しました。

関連する問題