search
LoginSignup
103

More than 5 years have passed since last update.

posted at

updated at

fluentd最低限のメモ

インストール

私の環境はCentOSなのでrpmを利用してインストール。

curl -L https://toolbelt.treasuredata.com/sh/install-redhat-td-agent2.sh | sh

fluentdですが、実際のデーモンはtd-agentという名前です。
fluentdは開発版の名前で、安定版の名前がtd-agentなのだとか。

バージョン確認

td-agent --version
td-agent 0.12.12

実行ユーザー変更

fluentd(td-agent)はログを収集、書き込むという性質上、root権限が必要になることが多い。
テスト等であれば不要なトラブルを防ぐため、実行ユーザーはrootにしておくのが無難。

設定は、/etc/init.d/td-agentの中の、下記の箇所をtd-agentからrootに変更する。

TD_AGENT_USER=root
TD_AGENT_GROUP=root

設定ファイル

設定ファイルは、/etc/td-agent/td-agent.confをいじる。

実行

CentOS6.x系なので、

service td-agent start

その他、stop,status,restart諸々のコマンドが使えます。

設定変えたら、restartもしくはreloadを忘れずに。

fluent-cat

テストにfluent-catを利用する例が多く紹介されていますが、rpmインストールではPATHは通ってないようです。
fluent-catは、下記にあるようです。

/opt/td-agent/embedded/bin/fluent-cat

で、

export PATH=$PATH:/opt/td-agent/embedded/bin/

echo '{"status":"OK"}' | fluent-cat <tag.name>

などとする。

設定

冒頭にも書きましたが、設定ファイルは/etc/td-agent/td-agent.confに設定します。

単純な例

最も単純な例は下記のようなものです。

<source>
    type forward
</source>

<match log.**>
    type stdout
</match>

こんな感じにすると、

設定を変更したらrestartとするかreloadが必要です。

echo '{"status":"OK"}' | fluent-cat log.hoge

/var/log/td-agent/td-agent.logに下記のように出力されます。

2015-12-13 07:02:52 +0900 log.hoge: {"status":"OK"}

ローカルからはもちろん、この時点で、リモートからリクエスト?もリッスンしているようです。標準portは24224のようです。

sourceを、

<source>
  type forward
  port 24224
  bind 0.0.0.0
</source>

などと記述することもできます。

ファイルへ出力

<source>
    type forward
</source>

<match log.**>
    type file
    path /var/log/fluentd/out
</match>

ログを転送

送信側

ログを転送したいサーバにもfluentdを入れて、下記のように設定します。

<source>
  type tail
  path /var/log/messages
  format syslog
  pos_file /var/log/fluentd/messages.pos
  tag log.foo
</source>

<match log.*>
  type forward
  <server>
    host 192.168.77.140
    port 24224
  </server>
</match>

受信側

受信側はとりあえずそのまま。

<source>
    type forward
</source>

<match log.**>
    type file
    path /var/log/fluentd/out
</match>

送信側で、

logger hogehoge

などとし、/var/log/messagesにログを送ります。
ファイル(out)に反映されるまで少々かかります。

出力までの時間をや設定するには flush_interval 10s とかにすればいい?

参考

  • いろいろありますが、ここが最初に読むにいいかなと。
  • ログ収集エージェントの性質場、一番気になるのはログの欠損。その可能性と対応はここを読んでおく。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
103