ERES + Fluentd かんたんログ活用術 – その⓪ Fluentdのインストール


アプリケーションやデータベースにはログがつきものです。プログラムが実行されたときの経過情報をあらかじめ決められた出力先に書き出します。このログは大抵の場合、そのサーバのローカル領域に保存されるため、ログの内容を確認するだけでも大変です。これではログをうまく活用することなんてそうそうできません。

このシリーズでは、弊社取扱い製品であるERESFluentdというオープンソースミドルウェアを利用して、このようなログを一ヶ所に集約し、チャートやレポートとして、どのように活用していくかを紹介していきます。

e+f_01

図は構成のイメージ図です。次のような処理を行っています。

①アプリケーションサーバからログを収集
②DBサーバへのログの出力
③ログ収集サーバ上でログのフィルタリング
④ERESサーバからDBを参照し、チャートやレポートを作成

 

今回、ログを収集するために利用しているのは、Fluentdというオープンソースのミドルウェアです。豊富なプラグインを組合せ、データの取り込み、加工そして各種ミドルウェアやAPIコール、ファイルへの出力を実現できます。詳しくは、公式サイトをご覧ください。

そして、収集対象のログには、弊社製品のDBMotoが出力するhistoryログを使用します。DBMotoはDBで行われた変更(insert,update,deleteなど)を検知し、異種DBへほぼリアルタイムに反映させることができるDRや移行、データ連携に最適なツールです。historyログには何時に何件のデータがソースDBからターゲットDBへコピーされたのかなどの情報が記載されています。

 

それでは、早速Fluentdをインストールしてみましょう。インストールを行うのは、アプリケーションサーバ(Windows)とログ収集サーバ(Linux)の2つです。

ログ収集サーバへのインストール
OSはRHEL 7.2を使用しています。インストールは次のコマンドを実行します。RPMリポジトリにシェルスクリプトが登録され、RPMパッケージがインストールされます。詳細については、こちらをご参照ください。

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

 

e+f_02

 

インストール後、次のコマンドでtd-agentサービスが起動します。

$ /etc/init.d/td-agent start
Starting td-agent: [  OK  ]

 

アプリケーションサーバへのインストール
OSはWindows 8です。Windowsはつい最近、正式サポートが行われたようです。事前に次のソフトをインストールする必要があります。詳しくはこちらをご参照ください。

  • Ruby 2.2.x (6.4bit)
  • DevKit-mingw64-64-4.7.2-20130224-1432-sfx.exe
  • Git for Windows

これらをインストール後、コマンドプロンプトから次のコマンドを実行することでインストールが行われます。

git clone https://github.com/fluent/fluentd.git
cd fluentd
git checkout windows
gem install bundler
bundle
bundle exec rake build
gem install pkg\fluentd-0.12.9.gem –no-ri –no-rdoc

 

インストール後、次のコマンドでサービスを起動できますが、

fluentd -c ./example/in_forward.conf

 

後々楽になので、Windowsサービスとして登録しておきます。

fluentd –reg-winsvc i

 

e+f_03

その① ログの収集へつづく

関連するトピックス:

ERES + Fluentd かんたんログ活用術 – その⓪ Fluentdのインストール への1件のフィードバック

  1. repeatedly のコメント:

    記事ありがとうございます!
    Windows版ですが,masterにすでにマージされているので,windowsブランチにいかなくてもそのままビルドしてもらえれば大丈夫です(devkitが入っているのであれば,gem install fluentd –preで入るv0.14.pre1でも大丈夫なはずです).

    上記のqiitaの記事の方には,masterを使うよう修正を頼んでおきました.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です