AwstatsでWindows7のアクセスを表示させる。
2011-05-09 (月) - 00:12:00 - Posted by: yashikiba - Category: CentOS5 ( サーバ監視ツール )
このサーバで使用しているAwstatsのバージョンは、「6.95」です。※ Advanced Web Statistics 6.95 (build 1.943)
今までは、「オペレーティングシステムのバージョン」の表示で、
Windows 2008がアイコンとともに表示されていましたが、これは実際はWindows7だと思います。
そこで、AwstatsのOS項目にWindows7を追加することにしました。
参考: <AwstatsのブラウザリストにPSPやjigブラウザを表示させるには>
参考: < AWStatsのWindows 7対応>
Awstastsのoperating_systems.pmスクリプトを編集することになります。
Windows7でのアクセスは、apacheのログでは「Windows NT 6.1」と記録されるので、この部分に対応する箇所を書き換えます。
--------------------------------------------------------------
# vi /var/www/awstats/lib/operating_systems.pm
(省略)
@OSSearchIDOrder = (
# Windows OS family
'windows[_+ ]?2005', 'windows[_+ ]nt[_+ ]6\.0',
#'windows[_+ ]?2008', 'windows[_+ ]nt[_+ ]6\.1', # Must be before windows_nt_6
'windows[_+ ]?7', 'windows[_+ ]nt[_+ ]6\.1', # Must be before windows_nt_6 → 追加。
(省略)
%OSHashID = (
# Windows OS family
'windows[_+ ]?2005','winlong','windows[_+ ]nt[_+ ]6\.0','winlong',
#'windows[_+ ]?2008','win2008','windows[_+ ]nt[_+ ]6\.1','win2008',
'windows[_+ ]?7','win7','windows[_+ ]nt[_+ ]6\.1','win7', → 追加。
(省略)
%OSHashLib = (
# Windows family OS
'win7','<a href="http://www.microsoft.com/windows/" title="Windows 7 home page [new window]" target="_blank">Windows 7</a>',
→ 追加。
'winlong','<a href="http://www.microsoft.com/windows/" title="Windows Vista home page [new window]" target="_blank">Windows Vista (LongHorn)</a>',
(省略)
--------------------------------------------------------------
※ 「Windows 2008」の行はコメントアウトにするか、そうでなければ、「Windows 7」の行は追加せず、
「2008」を「7」に変更するだけにします。
Windows 2008とWindows 7の設定はまったく同じなので、重複させるとエラーが出ます。
※ %OSHashLibへのWindows7のURLの指定はしておきました。
次に、Window7のアイコンの画像ファイルを../awstats/icon/os/ディレクトリに入れて置きます。
ただ、「私の場合」、アイコンのPNGファイルを自分で作成できなかったので、以下のサイトから入手しました。
参考: <atix.psfiles.com - /AWStats/icon/os/>
※ このサイトではAwstats関連のいろいろな画像がアップロードされています。
追記
この設定変更では、設定後のアクセスからWindows7の表示が可能になります。
ところで、何らかの原因で最新月のデータが正常に取得・表示できなくなることがあった時、
以下のように、データベースを再作成すると良いかもしれません。
参考: <Apacheアクセスログ解析(AWStats)>
上の参考サイト通りにAwstatsをインストールした時は、AWStatsデータベース初期作成スクリプト実行します。
* そのまま実行するのが簡単ですが、必要なデータベースはその月の分だけです。
awstatsとawstatsreportディレクトリのバックアップを取ってから、
AWStatsデータベース初期作成スクリプトを実行します。
--------------------------------------------------------------
vi ./awstatsinit_test.sh
#!/bin/sh
for i in 3 2 1; do → 必要なログの数だけ指定します。(最新月のデータベース作成のため。)
/var/www/awstats/awstats.pl -config=voicetwo.selfip.com
-LogFile="/var/log/httpd/access_log.$i"
done
/var/www/awstats/awstats.pl -config=voicetwo.selfip.com
-LogFile="/var/log/httpd/access_log"
--------------------------------------------------------------
・AWStatsデータベース初期作成スクリプト実行後の確認。
・次に、以下のようにディレクトリ名を変更して見ます。
# cd /var/www/
# ls -l
合計 148
drwxr-xr-x 9 root root 4096 3月 20 15:27 awstats → 今までのディレクトリ。
drwxr-xr-x 9 root root 4096 3月 21 12:45 awstats_new → 新規作成分。
drwxr-xr-x 2 root root 81920 3月 20 16:31 awstatsreport → 今までのディレクトリ。
drwxr-xr-x 3 root root 12288 3月 21 12:45 awstatsreport_new → 新規作成分。
(省略)
★2011年3月が最新月とした場合。
# cd /var/www/awstats/
# ls -l
(省略)
-rw-r--r-- 1 root root 435706 3月 21 12:57 awstats032011.voicetwo.selfip.com.bak
→ これを最新のものに置き換える。
-rw-r--r-- 1 root root 435705 3月 21 13:01 awstats032011.voicetwo.selfip.com.txt
→ これを最新のものに置き換える。
(省略)
# cd /var/www/awstats_new/
# cp -v awstats032011.voicetwo.selfip.com.bak ../awstats/awstats032011.voicetwo.selfip.com.bak
cp: `../awstats/awstats032011.voicetwo.selfip.com.bak' を上書きしてもよろしいですか(yes/no)? y
`awstats032011.voicetwo.selfip.com.bak' -> `../awstats/awstats032011.voicetwo.selfip.com.bak'
# cp -v awstats032011.voicetwo.selfip.com.txt ../awstats/awstats032011.voicetwo.selfip.com.txt
cp: `../awstats/awstats032011.voicetwo.selfip.com.txt' を上書きしてもよろしいですか(yes/no)? y
`awstats032011.voicetwo.selfip.com.txt' -> `../awstats/awstats032011.voicetwo.selfip.com.txt'
# cd
# pwd
/root
# ./awstatsreport.sh domainname /var/www/awstatsreport
※アクセス統計ページHTML版の作成。
--------------------------------------------------------------
以上で、設定変更した月からWindows7の表示に対応できると思います。













Since 2007-12-27
