2016-08-30 1 views
0

1つlogstashからJSONを送信iが3ノード設定

10.xx1へを持って解析するための機械およびlogstash 10.xx3 - から集中logstashノードを有します私たちは、私はstdoutに出力コーデックを設定すると10.xx2に弾性検索

にメッセージをプッシュする必要があり、私は10.xx1へからのメッセージを見ることができます。

今、私は10.x.x.2から10.x.x.3までのすべてのjsonメッセージを転送する必要があります。 TCPを使ってみました。しかし、メッセージは送信されません。

10.xx2 logstashのconfファイル

input { 
    beats { 
    port => 5045 
    } 
} 


output{ 
#stdout { codec => rubydebug } 
tcp{ 
host => "10.x.x.3" 
port => 3389 
} 

10.xx3 logstashのconfファイル

input{ 
tcp{ 
host => "10.x.x.3" 
port => 3389 
#mode => "server" 
#codec => "json" 
} 
} 

output{ 
stdout{ codec => rubydebug } 
} 

別logstashサーバに1 logstashからJSONデータを送信することができます任意のプラグインがある

+0

TCPがあるため、あなたのJSON出力で可能な改行文字、JSONのための出力として動作するように注意が必要です。必要な作業を行う良い方法は、Gelf出力を使用することです(有効なjsonを生成するため)。 –

答えて

1

あなたの設定はうまくいくはずです。

しかし、あなたは、「コーデック」の性質を持つcarrefulでなければなりません。

最初に、出力の「行」に設定してください。および 2つのログの入力プラグイン。

ログが入力されているかどうかを確認します。 「ライン」に設定コーデックで

あなたはlogiclyログを転送しても問題はありません。

「json」プロパティで作業します。

あなたは、引数--debugでlogstashのデバッグモードを有効にすることができますし、引数でログインできることを忘れないでください:-l LOGFILENAME

あなたは_jsonparsefailure」のためのコーデックのJSON表情で作業を開始するとき"タグを使用すると、2つのlogstashの間でログを転送しない理由を説明することができます。