2017-01-20 2 views
1

私は現在、fluentdのフォワーダとアグリゲータのインスタンスのシステムをセットアップしようとしています。 マイフォワーダの設定がある - >fluentdアグリゲータがフォワーダからログを取得していない、正しい設定ですか?

これを行う
<source> 
    @type tail 
    format json 
    path /app/node-apps/something-fe/logs/itt-logs.log 
    tag td.pm2.access 
</source> 

## File output 
## match tag=local.** and write to file 
<match td.pm2.*> 
    @type file 
    path /opt/td-agent/forward/log/fluentd.log 
</match> 

## Forwarding 
## match tag=system.** and forward to another td-agent server 
<match td.pm2.*> 
    @type forward 
    host <hostname>.bc 

私はトンフォワーダは、ここでの転送の場所にログファイルを出力している見ることができます:/opt/td-agent/forward/log/fluentd.log すべての危険な遊び遠い! しかし、上記のマッチフォワード構文を使ってアグリゲータでこれをインポートしようとすると、アグリゲータマシンで何も取得されません。 私が使用していることをここfluentdのためのtehのアグリゲータの設定を見つけてください - 私はあそこにログをコピーするストアを使用してもelasticsearchするためにそれらを転送しようとしています>

<source> 
    @type forward 
     port 24224 
</source> 

<match td.pm2.*> 
    type copy 
    <store> 
    @type file 
    path /opt/td-agent/log/forward.log 
    </store> 
    <store> 
    type elasticsearch 
    host <aggreatorhost>.bc 
    port 9200 
    logstash_format true 
    flush_interval 10s 
    </store> 
</match> 

。 elasticsearchを忘れると、ログでさえ、フォワーダからアグリゲータに移入されていないようです。 何か間違っていますか?アグリゲーターログには、ポート24224のすべてのアドレスをリッスンしていると表示されます。

答えて

0

フォワーダには2つの一致パターンがあり、最初に一致するもののみが実行されます(configは上から下に実行されます)。ログはファイルシステム(/opt/td-agent/forward/log/fluentd.log)に書き込まれていますが、アグリゲータには転送されません。

あなたはあなたのフォワーダにコピーして、アグリゲータ

<match td.pm2.*> 
    type copy 
    <store> 
    @type file 
    path /opt/td-agent/log/forward.log 
    </store> 
    <store> 
    @type forward 
    host <hostname>.bc 
    </store> 
</match> 

深い読みに@forward設定でelasticsearchを置き換える必要がありアグリゲータの正しいコピー構文、実際に使用してきました:それは、http://docs.fluentd.org/articles/out_copy

+0

を助けてくれて、ありがとう、今私はフルートに転送されたログを見ることができます。しかし、私はjson形式で入力ログパーサーを置く。しかし、それはそれが格納/送信するとき、フルソンドがjsonメッセージを切り捨てるようです。それについてのアイデア? – Mainak90

+0

流動的な設定でフィルター操作を行っていない限り、メッセージの一部を切り捨てる/削除しないでください。 –

関連する問題