Fluentd、ElasticSearch、Kibana4によるログ分析環境の構築

現在、ログを収集し分析するシステムを構築しようとした場合に、オープンソースの組み合わせですぐに始められる構成としてはじめに思いつくのは Fluentd + ElasticSearch + Kibana の構成です。
Web上の記事や書籍も充実していますし、日本にもユーザーが多そうなので割と安心して利用できる環境でもあると思われます。

この記事では、Fluendによりログ収集しElasticSearchに保存し、それをKibana 4で分析する環境の構築手順について調べた内容をまとめてみました。

今回試したのは以下のように、Apacheのアクセスログをtailして、Fluentdで収集しElasticSearchに保存、Kibanaでログの検索、分析を行うシンプルなシステム構成です

fluentd-elasticsearch-kibana-system

Apacheのログを収集するサーバーおよびElasticSearch、KibanaをインストールするサーバーともにOSはUbuntu 14.04 (Trusty)を利用します。

ここでは、構築を解説して、Kibana 4そのものの使い方についてはまた別途まとめたいと思います。
“Fluentd、ElasticSearch、Kibana4によるログ分析環境の構築” の続きを読む

CentOS 6.3でRsyslog ommailを利用してシステムアラートを送信するには

ommail はrsyslogで特定のエラーが発生した場合、メールアラートを送信するモジュールです。
CentOS 5系でommailを使用する場合は、rsyslogをコンパイル・インストールし直す必要がありましたが、CentOS 6以降では、デフォルトでommail.soを含むrsyslogがインストールされていますので設定だけで利用することができます。

/etc/rsyslog.d/ommail.conf

[text]
$ModLoad ommail

$ActionMailSMTPServer 192.168.1.2
$ActionMailFrom alert@example.com
$ActionMailTo admin@example.com
$template mail_subject,"Syslog Warning"
$template mail_body,"%fromhost%\r\n%msg%"
$ActionMailSubject mail_subject
$ActionExecOnlyOnceEveryInterval 15

*.error :ommail:;mail_body
[/text]
主な設定は以下のとおり

  • $ActionMailSMTPServer: SMTPサーバーのホスト名/IPアドレス
  • $ActionMailFrom: アラートメールの送信者アドレス
  • $ActionMailTo: アラートメールの送信先アドレス
  • $ActionMailSubject: メールタイトル
  • $template mail_subject: メールタイトルのテンプレート
  • $template mail_body: メール本文のテンプレート
    ール本文のテンプレート
  • ActionExecOnlyOnceEveryInterval: メール送信間隔

SELinuxの設定

SELinuxが有効な場合は、rsyslogからメールを送信できないように制限されています。
setseboolコマンドでlogging_syslogd_can_sendmailを有効にします。
[bash]
setsebool -P logging_syslogd_can_sendmail 1
[/bash]
getseboolで確認
[bash]
# getsebool -a | grep logging
logging_syslogd_can_sendmail –> on
[/bash]