こんにちは、FL.OPSの中の人、じゅんちゃんです。

FL.OPSメンバーの名前が各地で反響を呼んでいます。それぞれの由来が気になるところです。
私も次回から改名したい。

さて、Fluentd
前回はサーバ1台で、Webのアクセスログを収集して別のファイルに出力しました。
今回はサーバを2台使ってWebサーバのログを、もう1台のサーバ(ログ収集サーバ)に転送してみます。

はたして転送できるのでしょうか。
では、早速開始!

 

【今回のサーバ構成と役割】

[  Webサーバ    ]  :アクセスログを収集し「ログ収集サーバ」へ転送する
[ログ収集サーバ ]  :「Webサーバ」からログを受け取り ファイルへ出力する

※事前準備として「Fluentd」を「Webサーバ」と「ログ収集サーバ」にインストールする必要あり
(ログ収集サーバは前回使用した「Fluentd」インストール済みのサーバを使う)

【検証の流れ】

(1)Webサーバに「Fluentd」をインストール
(2)Webサーバの設定変更(ログ転送の設定)
(3)ログ収集サーバの設定変更(ログ受信の設定)
(4)動作検証(Webサーバへアクセスするとログ収集サーバ側にファイルが作成されるハズ)

1 Webサーバに「Fluentd」をインストール

前回と同様に、コマンドは3回

インストール
curl -L http://toolbelt.treasuredata.com/sh/install-redhat.sh | sh
サービス起動
/etc/init.d/td-agent start
起動ログ確認
cat /var/log/td-agent/td-agent.log

インストール完了!!(前回と同じなので画面は省略します)

2 Webサーバの設定変更(ログ転送の設定)

次は転送の設定です。Webサーバで以下の設定ファイルを編集します。

vi /etc/td-agent/td-agent.conf

入力側の<source>~</source>は前回と同様Apacheのアクセスログに設定します。
出力側の<match>~</match>は、type foward で”転送”に設定します。

<source>
type tail
format apache2
pos_file /var/log/td-agent/httpd-access.log.pos
path /var/log/httpd/access_log
tag www.apache.access
</source>

<match www.apache.access>
type forward
<server>
host 192.168.100.50
port 12345
</server>

</match>

01

※ここでのポイントは、<source>の中にある“tag” で指定する文字列です。
Fluentdの設定ファイルは、入力側と出力側を複数定義することができるため、それぞれの対応付けを”tag”で行います。

【例えば】
<入力定義1>(Apacheのアクセスログ) ← 対応を”tag”で定義 → <出力定義B>(サーバAへ転送)
<入力定義2>(Syslog) ← 対応を”tag”で定義 → <出力定義A>(ローカルのファイルに保存)

<server>の中の定義は以下です。
“host” :ログ収集サーバのIPアドレス
“port” :ログ収集サーバと通信で使う任意のポート

設定ファイルを保存したら、サービスを再起動。
/etc/init.d/td-agent restart

3 ログ収集サーバの設定変更(ログ受信の設定)

次は受信の設定です。ログ収集サーバで以下の設定ファイルを編集します。

vi /etc/td-agent/td-agent.conf

入力側の<source>~</source>は、type foward で”転送”に設定します。
出力側の<match>~</match>は、前回のファイル出力と同じです。

<source>
type forward
port 12345
</source>

<match www.apache.access>
type file
path /var/log/td-agent/wwwaccess
</match>
02

※ここでのポイントは、<match *.*>で指定する文字列を、「webサーバ」で指定した”tag”と同じにすることです。

設定ファイルを保存したら、サービスを再起動。
/etc/init.d/td-agent restart

4 動作検証(Webサーバへアクセスするとログ収集サーバ側にファイルが作成されるハズ)

ブラウザからWebサーバにアクセスしてみます。

ログ収集サーバ側の以下のファイルができていれば成功です。
cd /var/log/td-agent
ls -a
03
wwwaccess ファイルができています!転送テスト成功!

さてFluentdは一旦終わって、次回は何か別のやってみたをします。