ApacheのログをMySQLに(mod_log_sql)


リンク

公式 http://www.outoforder.cc/projects/apache/mod_log_sql/
参考 http://kuroseets.wablog.com/mod_log_sql.html

インストール

portinstall www/mod_log_sql

↑バージョン1.18

設定(1.18)

データベースを作る

mysql> CREATE DATABASE apachelogs
mysql> grant all on apachelogs.* to apachelogs@'localhost' identified by 'password';

httpd.confに以下を追加してリスタート

# mod_log_sql settings
LogSQLLoginInfo localhost apachelogs test
LogSQLDatabase apachelogs
LogSQLCreateTables on
LogSQLSocketFile /tmp/mysql.sock
LogSQLTransferLogTable access_log

説明

  • LogSQLLoginInfo DBアドレス ユーザー名 パスワード
  • virtual_hostはServerNameが利用されるServerAliasはServerNameの方で書き込まれる
  • それとは別にLogSQLMassVirtualHosting Onを指定するとそれぞれ別テーブルが作られる
  • LogSQLTransferLogFormat は出力するlogを選択する詳しくは本家を見る
  • cookieを有効にするにはLogSQLTransferLogFormatに’c'を追加してLogSQLWhichCookie に取得するcookieの名前を指定する
例)
 CookieTracking on
 CookieStyle Cookie
 CookieName Foobar
 LogSQLTransferLogFormat huSUsbTvRAc
 LogSQLWhichCookie Foobar

CookieTracking on などはmod_usertrackの機能Apacheのモジュールだけど最近のApacheは標準でインストールされている

CookieTracking on
CookieStyle Cookie
CookieName Foobar
CookieDomain .foo.com
CookieExpires "3 year 1month"

などmod_usertrackについては下記のリンクを参考に
http://httpd.apache.org/docs/1.3/mod/mod_usertrack.html
http://seraph.s4.xrea.com/ht/d/usertrack

コメントを残す

Some HTML is OK