指定したサーバログをデータベースに格納する方法。
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毎のユーザ&パスワード設定、ファイアウォール設定等は割愛。