Sirius -旧ブログ、更新されません-

名前

URL

タイトル

コメント

2011年3月31日(木) 20:17

Webalizer で DNS 逆引きをさせる。



参考:

Webalizer DNS Readme

Webalizerをインストール



webalizer を使ってアクセス解析をしていますが、いままで DNS の逆引きをしていませでした。デフォルトの設定では逆引きしないようです。



webalizer の設定ファイル webalizer.conf を書き換えて DNS キャッシュファイルを作成させるようにします。

webalizer.conf は以下を有効にしました。

DNSCache dns_cache.db

DNSChildren 0



既にログが大量にある場合 (ログが 44MB ほどありました)はかなり時間がかかるので、ログ解析とは別にショートカット webazolver を使って DNS キャッシュファイルを作成します。DNSChildren を 0 にすると、DNS キャッシュファイルは作成せずに、キャッシュファイルを利用して名前解決だけ行います。



ショートカット webazolver のプロパティは、

webalizer.exe -N 10 -C webalizer.conf -D dns_cache.db

とします。終わるまでに結構時間がかかります。



このままでは DNS キャッシュの作成を手動でやらないといけません。今まで全てのログを同じファイルに出力していましたが、一ヶ月単位でログを分割するように IIS を設定しました。

ログ解析と DNS キャッシュを同時に行うために DNSChildren の値は 5 に変更しました。

また、

Incremental yes

IncrementalName webalizer.current

にして古いデータを引き継ぐようにしました。



IIS ではログファイル名は、月単位で分割すると、u_ncYYMM.log (YY: 年、MM: 月) となるので次のようなバッチファイルを作成してタスクスケジューラに登録しました。



--------------------------------ここから----------------------------------


@echo off

set LOGDIR=C:¥inetpub¥logs¥LogFiles¥W3SVC1

set LOG=u_nc

for %%i in (%LOGDIR%¥%LOG%????.log) do set LASTFILE=%%i

for %%i in (%LOGDIR%¥%LOG%????.log) do if not %LASTFILE%==%%i set PREFILE=%%i

C:¥webalizer-2.21-02-cygwin¥webalizer.exe -c C:¥webalizer-2.21-02-cygwin¥webalizer.conf -N 0 %PREFILE%

C:¥webalizer-2.21-02-cygwin¥webalizer.exe -c C:¥webalizer-2.21-02-cygwin¥webalizer.conf %LASTFILE%


--------------------------------ここまで----------------------------------

一応、月替わりも考慮して前月分は DNS キャッシュは作成しないでページを作成して、今月分は DNS キャッシュを作成するようにしました。

written by sirius [WindowsWebServer2008] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

Comments

TrackBacks

Sirius -旧ブログ、更新されません-

MySketch 2.7.2 written by 夕雨