2016-08-25 9 views
0

アプリケーションログの出力をlogstashを使用して弾性検索に格納する作業を進めています。logstashを解析して中央のlogstashサーバに送信

最初は、アプリケーションサーバー1と2がログを中央のlogsatshに送信し、入力を解析して弾性検索に送信するアーキテクチャを考えました。

しかし、集中ログサーバは多くのアプリケーションで使用されています。我々はログで​​それを迷惑にしたくない。したがって

Centralized Logstash Parsing

、私はいくつかのユーティリティやアプリケーションサーバ自体に入力を解析し、弾性検索にさらに前方になるの集中logstashにそれを送ることができるプログラムを探しています。

Logstashが種類のエージェントを動作させるかどうかわかりません。私が心に持っているアーキテクチャは以下の通りです。

Each application has logstash

代わりの集中管理サーバーにログを配布し、それを解析します。ログを解析して集中ログストアに送信するアプリケーションサーバー自体でログスタッシュを実行することは可能ですか?

サンプルのconfファイルです。

アプリケーションサーバーで

input{ 
file{ 
path => "/tmp/test.log" 
start_position => "beginning" 
} 
} 
filter{ 
parsing logic here with grok 
} 
output{ 
Centralized logstash IP 
} 
一元化logstashノードで

input{ 
application server IP 
} 

output{ 
elastic search IP 
} 

それはこのように実現することが可能であるか、同じことを行うには、他の簡単な方法があります。

+1

このようにlogstashを配布することは、ログシャート固有のマシンを作成せずにマシンのグループに負荷を分散させるのに適しています。欠点はメンテナンス中です - logstash configsをマシン群にリリースすることは痛みを伴うようになります。私は一元化されたlogstash(es)でリモートマシン上のfilebeatが好きです。 –

答えて

0

このアーキテクチャを使用できます。

しかし、Logstashでアプリケーションサーバーの解析を実行すると、Logstashは多くのリソースを消費する可能性があります。特に、Grok解析を使用している場合は、アプリケーションに影響します。いつかLogstashは長いメッセージを解析する必要があるため、CPU時間の最大99%を食べることができます。
アプリケーションサーバー(ビーバーやファイルビートなど)でシンプルな配送業者を使用し、専用サーバーにLogstashをインストールする方がよいでしょう。

関連する問題