rsyslog + MySQL(ログをDBへ保存する方法)

指定したサーバログをデータベースに格納する方法。
php等を駆使してコンテンツを作成すれば、web経由で閲覧できます。

当方はページ作成の段階で面倒になり無期延期中(挫折)。面倒くさいし…。

<必要なパッケージ>

・rsyslog
・mysql-server
・rsyslog-mysql

<設定>

1.mysqlにて、syslogを保存するデータベースを作成する。

# mysql -u root -p
mysql> create database syslog(作成するデータベース名);

2.作成したデータベースに、SQLファイルをインポートする。

# mysql -u root -p syslog(データベース名)< /usr/share/doc/rsyslog-mysql-2.0.0/createDB.sql

3.rsyslogコンフィグを編集する。

# vi /etc/rsyslog.conf

4.データベース化の対象ログを指定する。
例:
対象ログ    :maillog(通常は/var/log/maillogに保存されるログ)
DBサーバ   :localhost
DB名      :Syslog
アクセスユーザ:root(実際はrootは好ましくない。適宜変更する)
パスワード   :test

# Log all the mail messages in one place.
mail.* /var/log/maillog

# Log all the mail messages in one place.
#mail.* /var/log/maillog  #単にコメントアウトするだけ

以下を追記する

###Maillog
$ModLoad MySQL
mail.* >localhost,Syslog,root,test

DB毎のユーザ&パスワード設定、ファイアウォール設定等は割愛。

シェアする

  • このエントリーをはてなブックマークに追加

フォローする