IIJ Dag output plugin for Fluentd

概要

Fluentd の IIJ GIOストレージ&アナリシスサービス向けアウトプットプラグインではローカルファイルのイベントログをバッファーし、解析可能な構造へ変換して定期的にアップロードします。

また、このプラグインはイベントログの時間を参照して正確にファイルを分割します。

データの格納構造は以下のようになります。

dag://${database(bucket)}/${table}/date=yyyymmdd/hour=%-H/dag_%-M_0.gz

データフォーマットは以下のように \n 区切りのjson文字列となります。

{"time":${unixtime}, "v":"${record}"}
{"time":${unixtime}, "v":"${record}"}
...

必要なもの

インストール

  • Rubygems.orgよりインストール

    gem install fluent-plugin-dag
    

設定

  • 設定ファイルを用意

    <match pattern>
      type dag
    
      dag_key_id   YOUR_DAGRIN_KEY_ID
      dag_sec_key  YOUR_DAGRIN_SECRET_KEY
      dag_endpoint storage-dag.iijgio.com
      dag_database sample_db
      dag_table    sample_tbl
      buffer_path     local_path
      flush_interval  5m
      buffer_chunk_limit 100m
    </match>
    
dag_key_id (必須)

ストレージサービスのaccess key id

dag_sec_key (必須)

ストレージサービスのsecret key

dag_database (必須)

ストレージサービスのbucket名

dag_table (必須)

ストレージサービスのテーブル名

dag_endpoint

ストレージサービスのエンドポイント名

auto_create_bucket

ストレージサービス上に bucket が存在しないなら作成する。デフォルトでtrue

check_apikey_on_start

起動時にストレージサービスのkeyを確認する。デフォルトでtrue

proxy_uri

プロキシ環境でのURI

buffer_path (必須)

バッファー対象のファイルのパス

flush_interval

ログの送信時間(秒)。デフォルトでは5分。1分以上の時間を指定してください。(s|m|h)で単位指定が可能。

buffer_chunk_limit

バッファーの最大サイズ。このサイズを超えるとバッファーから強制的にflushされます。デフォルトでは8MB。ストレージサービスでは100MBが推奨されています。接尾辞 “k” (KB), “m” (MB), “g” (GB) が使用できます。

utc

UTCを使用する。

起動方法

fluend.confを設定ファイルとした場合、以下のようにコマンドを実行する

fluentd -c ./fluend.conf -d fluentd.pid -l fluentd.log -vvv

License

Apache License 2.0