こんにちは、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>
※ここでのポイントは、<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>
※ここでのポイントは、<match *.*>で指定する文字列を、「webサーバ」で指定した”tag”と同じにすることです。
設定ファイルを保存したら、サービスを再起動。
/etc/init.d/td-agent restart
4 動作検証(Webサーバへアクセスするとログ収集サーバ側にファイルが作成されるハズ)
ブラウザからWebサーバにアクセスしてみます。
ログ収集サーバ側の以下のファイルができていれば成功です。
cd /var/log/td-agent
ls -a
wwwaccess ファイルができています!転送テスト成功!
さてFluentdは一旦終わって、次回は何か別のやってみたをします。