はじめに
前編では、Graylog2サーバーのセットアップ方法について解説しました。後編では、ログ収集を行う方法および、Graylog2クライアントのセットアップ方法について解説します。
サーバーセットアップ
サーバーをセットアップしただけでは、ログを収集することができませんので、サーバーに対して収集するログ(入力ソース)の登録を行います。
今回は、SYSLOGを入力ソースとして登録します。
1.管理画面へのログイン
管理画面にログインし、画面上部のSystemタブを選択すると、システムの運用状況が表示されます。
http://192.168.0.50:9000/
2.入力ソースの表示
右に配置されたメニューから、[Inputs]を選択すると、graylog2クラスターへの入力ソースの登録画面が表示されますので、[Syslog TCP]を選択した後、[Launch New Input]をクリックします。
3.入力ソースの設定
入力ソース設定画面が表示されたら、[Title]を入力し、[Store full message]をチェックした後、[Launch]をクリックすると、入力ソースが登録されます。
4.待ち受けポートの確認
入力ソースが登録できたら、待ち受けポートを確認します。
$ netstat -an | grep -i tcp | grep ::514
以上で、入力ソースの登録は終了です。
クライアントセットアップ
クライアントでは、SYSLOGをGraylog2サーバーに転送し、Apacheのアクセスログおよび、エラーログをSYSLOGに転送します。
1.SYSLOG設定
UDP/TCPのログを全てGraylog2サーバーに転送します。
$ sudo vi /etc/rsyslog.conf
$WorkDirectory /var/lib/rsyslog # where to place spool files $ActionQueueFileName fwdRule1 # unique name prefix for spool files $ActionQueueMaxDiskSpace 1g # 1gb space limit (use as much as possible) $ActionQueueSaveOnShutdown on # save messages to disk on shutdown $ActionQueueType LinkedList # run asynchronously $ActionResumeRetryCount -1 # infinite retries if host is down *.* @192.168.0.50:514 # UDPログの転送 *.* @@192.168.0.50:514 # TCPログの転送
2.SYSLOG再起動
設定が終了したら、rsyslogを再起動します。
$ sudo service rsyslog restart
3.Apache設定
httpd.confを修正して、アクセスログおよび、エラーログをSYSLOGに転送します。
これにより、該当のログが一旦ローカルのSYSLOGに転送された後、Graylog2サーバーに転送できます。
$ sudo vi /etc/httpd/conf/httpd.conf
ErrorLog syslog:local6 CustomLog "|/usr/bin/logger -t httpd -p local6.info" combined
4.設定のリロード
設定が終了したら、設定をリロードします。
$ sudo service httpd reload
以上で、クライアントセットアップは終了です。
動作確認
ここまでの作業で、システムのセットアップが終了しましたので、動作確認を行います。
1.SYSLOGへのログ出力
loggerコマンドを使用して、テスト用のログを出力します。
$ logger -p kern.info "TEST 1" $ logger -p kern.info "TEST 2" $ logger -p kern.info "TEST 3" $ logger -p kern.info "TEST 4" $ logger -p kern.info "TEST 5" $ logger -p kern.info "TEST 6"
ログ出力を6回行っているのは、前編のgraylog2-server設定において設定したelasticsearch_max_docs_per_indexの値が5に設定されているためで、Graylog2では、この値を越えた段階でバッファリングされているログをクラスターに書き込みます。
2.HTTPアクセスのログ出力
CygwinTermimalから、ab2コマンドを使用してクライアントにアクセスします。
$ ab2 -n 100 -c 10 http://192.168.0.30/
ここでは、同時接続数10、総接続数100としてクライアントにHTTPアクセスを行っています。
3.クエリーによるログ確認
Graylog2の管理画面にアクセスし、送信されたログを確認します。
クエリーボックスに、TESTを入力すると該当するログが検索表示されます。
4.タイムスケールによるログ確認
クエリーボックスの上にあるタイムスケールを変更して、ログを検索します。
ここでは、[Search in the last 15 minutes]を選択しています。
以上で、システムが正常に動作していることが確認できます。
まとめ
ここまで、サーバーのログ収集設定および、Graylog2クライアントのセットアップ方法について解説しました。Graylog2は、これまでに本ブログで紹介したFluentdやLogStashのように日本語ドキュメントが豊富にあるわけではありません。しかし、海外では、Splunkと並ぶログ収集システムとして評価されており、エンタープライズ向けのソフトウエアとして位置づけられています。本記事をきっかけにして、クライアントに特別なソフトウエアを導入すること無く利用できるGraylog2の導入を検討しては如何でしょうか。
本ブログは、Git / Subversion のクラウド型ホスティングサービス「tracpath(トラックパス)」を提供している株式会社オープングルーヴが運営しています。
開発の効率化をしたい!もっと便利なツールを使いたい!そんなお悩みをtracpathで解決!
「tracpath(トラックパス)」は、企業内の情報システム部門や、ソフトウェア開発・アプリケーション開発チームに対して、開発の効率化を支援し、品質向上を実現します。
さらに、システム運用の効率化・自動化支援サービスも提供しています。
”つくる情熱を支えるサービス”を提供し、まるで専属のインフラエンジニアのように、あなたのチームを支えていきます。
No Comments