スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

IISのログを複数台のWindowsServerからLinuxServerへ収集してアクセスログ解析ソフトで解析する

タイトル通りです。私が管理している環境ではIISを動かしているWindowsServerが複数台ありまして、それらのIISのアクセスログをログ収集するLinuxの運用サーバへ集計する必要がありました。

このための処理順序としては下記のようにしました。
1.各WebサーバのIISでアクセスログが生成される(日次)
2.朝9時に更新終了したアクセスログを10時にタスクスケジューラでLinuxサーバへ転送する。
※うちのIISではアクセスログを日次でローテしているので、日本時間の朝9時(GMT0時)にその1日前の日付分のアクセスログファイルの更新が完了する。
具体的にいうと、2015年3月31日朝9時~2015年4月1日の朝8時59分までのアクセスログは、すべて2015年3月31日付のアクセスログに収容されるということです。
ちなみにローテ時間はIISの設定で変更可能なので、今現在サーバ構築中の人はこれを実施すればよいと思います。
http://www.atmarkit.co.jp/fwin2k/win2ktips/486iislog/iislog.html
ただし記事にもあるように、書き込まれる時刻はGMTのままですのでご注意ください。あくまで0時にログローテしてくれるだけです。
3.AWStats(W3C時刻対応の解析ソフトなら何でも良い)でアクセスログを集計する

よって、今回の環境ではいくつかの面倒くさい処理をこちらでスクリプトにしてやる必要があります。
① 1日前の分のアクセスログファイル名を指定する。
1日前のアクセスログファイル名を指定するコマンドがWindowsにはどうやらないようです。
Linuxはhttp://shellscript.sunone.me/date.htmlで簡単に終了します。

② ①にて指定されたアクセスログファイルをLinuxサーバへ送付する。
これはそんなに難しいことではないですが。

③ AWStatsによって、複数サーバのアクセスログを日時順に集計する。
AWは自分が食べ終えている最後のログ日時より古いログを食べてくれないです。
たとえば2015年4月10日分までのログを集計し終えている場合は、追加で2015年4月1日のログを集計させようとしても集計してくれません。

ひとつずつ記事を作って、順次備忘録を作っていこうと思います。
記事作成し次第、こちらの記事の該当箇所へリンクします。
スポンサーサイト

Comment

(編集・削除用)
管理者にだけ表示を許可

Trackback

URL
http://tmgbl.blog.fc2.com/tb.php/29-c6b2b951
この記事にトラックバック(FC2Blog User)
Copyright © m
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。