かべぎわブログ

ブログです

fluentdからfluentdにとばす

概要

fluentd(td-agent)からfluentdにログを飛ばす方法です。

こんなかんじ

送信する側

飛ばしたいログファイル等は適当に変更しちゃってください。

@type forward , port 24224 でログを飛ばしてあげます。

<source>
  @type tail
  path /path/to/log.log
  pos_file /path/to/td-agent/log.pos
  tag test.tobasu
  <parse>
    @type json
  </parse>
</source>

<match test.tobasu>
  @type forward
  <server>
    host private_ip_addr
    port 24224
  </server>
</match>

受け取る側

格納先は適当に変更しちゃってください。

<source>@type forwardport 24224 で受け取ってあげればOKです。

<source>
  @type forward
  port 24224
  bind 0.0.0.0
  tag mongo.test
</source>

<match mongo.test>
    @type copy
  <store>
    @type mongo
    host 127.0.0.1
    port 27017
    database test_db
    collection test_db
  </store>
</match>

よく使う利用方法

AWS外からLBを経由してプライベートサブネット内のfluentdに飛ばす、そこからS3やDocumentDBに格納するみたいな使い方ができる。

送る側

<source>
  @type tail
  path /path/to/log.log
  pos_file /path/to/td-agent/log.pos
  tag test.tobasu
  <parse>
    @type json
  </parse>
</source>

<match test.tobasu>
  @type forward
  <server>
    host LBのアドレス
    port 24224
  </server>
</match>

受け取る側

<source>
  @type forward
  port 24224
  bind 0.0.0.0
  tag s3.test
</source>

<match s3.test>
  @type copy
  <store>
    @type s3
    s3_bucket my-bucket
    s3_region ap-northeast-1
    path logs/
    time_slice_format %Y/%m/%d/%Y%m%d-%H.log
  </store>
</match>