サーバの64bit化に伴い、httpdログの統計・分析/解析・レポートツールの AWStats も移行する必要がありました。
ここでは、AWStats の移行方法を整理しておきます。ポイントは、旧環境における過去ログ分析データを移行することです。
移行に必要な作業は次の通りです。
1.AWStats のインストール
yumでインストール可能なパッケージが rpmforgeリポジトリにありますので、それをインストールします。
まずは、パッケージ情報を確認します。
[root ~]# yum info awstats Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * epel: ftp.kddilabs.jp * extras: www.ftp.ne.jp * rpmforge: ftp-stud.fht-esslingen.de * updates: www.ftp.ne.jp 277 packages excluded due to repository priority protections Available Packages Name : awstats Arch : noarch Version : 7.0 Release : 2.el5.rf Size : 1.2 M Repo : rpmforge Summary : Powerful and fullfeatured server logfile analyzer URL : http://awstats.sourceforge.net/ License : GPL Description: Advanced Web Statistics is a powerful and featureful tool that : generates advanced web server graphic statistics. This server log : analyzer works from command line or as a CGI and shows you all : information your log contains, in graphical web pages. It can : analyze a lot of web/wap/proxy servers like Apache, IIS, : Weblogic, Webstar, Squid, ... but also mail or ftp servers. : : This program can measure visits, unique vistors, authenticated : users, pages, domains/countries, OS busiest times, robot visits, : type of files, search engines/keywords used, visits duration, : HTTP errors and more... Statistics can be updated from a browser : or your scheduler. The program also supports virtual servers, : plugins and a lot of features.
間違いはないので、これをインストールします。
[root ~]# yum install awstats Loaded plugins: fastestmirror, priorities Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * epel: ftp.kddilabs.jp * extras: www.ftp.ne.jp * rpmforge: ftp-stud.fht-esslingen.de * updates: www.ftp.ne.jp 277 packages excluded due to repository priority protections Setting up Install Process Resolving Dependencies There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them. The program yum-complete-transaction is found in the yum-utils package. --> Running transaction check ---> Package awstats.noarch 0:7.0-2.el5.rf set to be updated --> Processing Dependency: perl(LWP::UserAgent) for package: awstats --> Processing Dependency: perl(Geo::IP) for package: awstats --> Running transaction check ---> Package perl-Geo-IP.x86_64 0:1.31-1.el5.centos set to be updated --> Processing Dependency: libGeoIP.so.1()(64bit) for package: perl-Geo-IP ---> Package perl-libwww-perl.noarch 0:5.805-1.1.1 set to be updated --> Processing Dependency: perl-HTML-Parser >= 3.33 for package: perl-libwww-perl --> Processing Dependency: perl(URI::URL) for package: perl-libwww-perl --> Processing Dependency: perl(URI) for package: perl-libwww-perl --> Processing Dependency: perl(HTML::Entities) for package: perl-libwww-perl --> Processing Dependency: perl(Compress::Zlib) for package: perl-libwww-perl --> Processing Dependency: perl(URI::Heuristic) for package: perl-libwww-perl --> Processing Dependency: perl(URI::Escape) for package: perl-libwww-perl --> Running transaction check ---> Package geoip.x86_64 0:1.4.6-1.el5.rf set to be updated ---> Package perl-Compress-Zlib.x86_64 0:1.42-1.fc6 set to be updated ---> Package perl-HTML-Parser.x86_64 0:3.55-1.fc6 set to be updated --> Processing Dependency: perl-HTML-Tagset >= 3.03 for package: perl-HTML-Parser --> Processing Dependency: perl(HTML::Tagset) for package: perl-HTML-Parser ---> Package perl-URI.noarch 0:1.35-3 set to be updated --> Running transaction check ---> Package perl-HTML-Tagset.noarch 0:3.10-2.1.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================== Package Arch Version Repository Size ============================================================================== Installing: awstats noarch 7.0-2.el5.rf rpmforge 1.2 M Installing for dependencies: geoip x86_64 1.4.6-1.el5.rf rpmforge 754 k perl-Compress-Zlib x86_64 1.42-1.fc6 base 52 k perl-Geo-IP x86_64 1.31-1.el5.centos extras 46 k perl-HTML-Parser x86_64 3.55-1.fc6 base 92 k perl-HTML-Tagset noarch 3.10-2.1.1 base 15 k perl-URI noarch 1.35-3 base 116 k perl-libwww-perl noarch 5.805-1.1.1 base 376 k Transaction Summary ============================================================================== Install 8 Package(s) Upgrade 0 Package(s) Total download size: 2.6 M Is this ok [y/N]: y Downloading Packages: (1/8): perl-HTML-Tagset-3.10-2.1.1.noarch.rpm | 15 kB 00:00 (2/8): perl-Geo-IP-1.31-1.el5.centos.x86_64.rpm | 46 kB 00:00 (3/8): perl-Compress-Zlib-1.42-1.fc6.x86_64.rpm | 52 kB 00:00 (4/8): perl-HTML-Parser-3.55-1.fc6.x86_64.rpm | 92 kB 00:00 (5/8): perl-URI-1.35-3.noarch.rpm | 116 kB 00:00 (6/8): perl-libwww-perl-5.805-1.1.1.noarch.rpm | 376 kB 00:00 (7/8): geoip-1.4.6-1.el5.rf.x86_64.rpm | 754 kB 00:02 (8/8): awstats-7.0-2.el5.rf.noarch.rpm | 1.2 MB 00:00 ------------------------------------------------------------------------------ Total 554 kB/s | 2.6 MB 00:04 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing : geoip 1/8 Installing : perl-Geo-IP 2/8 Installing : perl-Compress-Zlib 3/8 Installing : perl-URI 4/8 Installing : perl-HTML-Tagset 5/8 Installing : perl-HTML-Parser 6/8 Installing : perl-libwww-perl 7/8 Installing : awstats 8/8 Installed: awstats.noarch 0:7.0-2.el5.rf Dependency Installed: geoip.x86_64 0:1.4.6-1.el5.rf perl-Compress-Zlib.x86_64 0:1.42-1.fc6 perl-Geo-IP.x86_64 0:1.31-1.el5.centos perl-HTML-Parser.x86_64 0:3.55-1.fc6 perl-HTML-Tagset.noarch 0:3.10-2.1.1 perl-URI.noarch 0:1.35-3 perl-libwww-perl.noarch 0:5.805-1.1.1 Complete!
これで、インストール完了です。
インストールされたディレクトリやファイルには次のようなものがあります。
/var/www/awstats /etc/awstats/awstats.model.conf /etc/awstats/awstats.local.localdomain.conf /etc/cron.hourly/00awstats /etc/httpd/conf.d/awstats.conf /usr/libexec/webmin/awstats
2.cronスクリプトの一時移動
インストール直後は /etc/cron.hourly/00awstats が1時間ごとに実行されるようになりますので、設定等が完了するまで、実行されないようにしておく方がいいでしょう。
[root ~]# mv /etc/cron.hourly/00awstats /root/.
3.新サーバの過去ログの用意
統計・分析/解析・レポートに必要なhttpdログの過去ログを用意します。
例えば、通常ログローテーションを行っていると思いますので、過去全世代分をマージして一つのファイルにする場合には次のように logresolvemerge.pl を実行します。
ログローテーションされた過去ログファイル名が access_log.1~n となっていることを前提としています。
※access_log.1~n がまだ存在しない場合には行う必要はありません。
[root ~]# logresolvemerge.pl /var/log/httpd/access_log.* > /root/access_log_all
4.過去ログの統計・分析/解析の実行
設定ファイルは、/etc/awstats/awstats.localhost.localdomain.conf です。
4-1.設定ファイル名の変更
[root ~]# mv /etc/awstats/awstats.localhost.localdomain.conf /etc/awstats/awstats.www.goofoo.jp.conf
4-2.設定変更(過去ログ統計・分析/解析のための設定)
[root ~]# vim /etc/awstats/awstats.www.goofoo.jp.conf
(設定変更箇所)
LogFile="/var/log/httpd/access_log" ↓ LogFile="/root/access_log_all" ・・・対象過去ログファイル SiteDomain="localhost.localdomain" ↓ SiteDomain="www.goofoo.jp" ・・・自サイトのフルドメインを指定する AllowFullYearView=2 ↓ AllowFullYearView=3 ・・・CGIでも月次ベースのレポートを利用できるようにする FirstDayOfWeek=0 ↓ FirstDayOfWeek=1 ・・・週の始まりを月曜日とする
4-3.存在する設定ファイルの確認
/etc/awstatsディレクトリに下記ファイル以外が存在しないことを確認します。というのも、次のステップで使用する awstats_updateall.pl が awstats.model.conf 以外の設定ファイルを読み込んでしまう仕様になっているため、不要な設定ファイルがあると必要のない処理を実行してしまうからです。
-
awstats.www.goofoo.jp.conf
awstats.model.conf
4-4.旧サーバの過去ログ分析データの移行
旧サーバの /var/www/awstats いかに存在する例えば下記のような名前のファイルをすべて、新サーバの /var/www/awstats 以下に配置します。
-
awstats042011.www.goofoo.jp.txt
awstats052011.www.goofoo.jp.txt
※ファイル名のフォーマットは、awstats[月][年].[Webサイトのフルドメイン].txt
4-5.過去ログ統計・分析/解析実行
[root ~]# awstats_updateall.pl now -awstatsprog=/var/www/awstats/awstats.pl -configdir=/etc/awstats
5.通常運用用の設定
過去ログの処理が終わりましたので、通常運用の設定を行います。
5-1.設定変更(通常運用のための設定)
[root ~]# vim /etc/awstats/awstats.www.goofoo.jp.conf
(設定変更箇所)
LogFile="/root/access_log_all" ↓ LogFile="/var/log/httpd/access_log" ・・・対象ログファイル
5-2.cronスクリプトの再配置
一時退避しておいた /etc/cron.hourly/00awstats を復活させます。
[root ~]# mv /root/00awstats /etc/cron.hourly/.
6.httpd の設定
インストールによって、/etc/httpd/conf.d/awstats.conf が作成されていますが、旧サーバの設定と同様に個々の環境に合わせて設定してします。
これで、AWStats の移行はすべて完了です。
最後に、レポートを下記のURLを参考に、個々に適切なURLでアクセスすると表示されますので、確認して下さい。
-
http://www.goofoo.jp/awstats/awstats.pl?config=www.goofoo.jp&configdir=/etc/awstats
※ config に指定する文字列は、[/etc/awstats/awstats.ここの文字列.conf]です。