1、日誌拆分
javascript
一、配置apache使用cronolog:
因爲實驗用的apache開啓了虛擬主機功能,因此如下配置都在虛擬主機中進行,這樣也是爲了方便對多站點的分析操做。
vim /etc/httpd/conf.d/vhosts.conf
將配置文件中的CustomLog和ErrorLog替換爲下面的(因爲咱們要對多站點,因此這裏要替換兩個虛擬主機的,而且將日誌存放名字作有效的區分纔好)php
www.test.com
CustomLog "|/usr/local/sbin/cronolog logs/www.test.com_access_log_%Y%m%d" combined
ErrorLog "|/usr/local/sbin/cronolog logs/www.test.com_access_log_error_%Y%m%d"
www.test2.com
CustomLog "|/usr/local/sbin/cronolog logs/www.test2.com_access_log_access_%Y%m%d.log" combined
ErrorLog "|/usr/local/sbin/cronolog logs/www.test2.com_error_%Y%m%d.log"java
注意:這裏必定要注意對兩個網站的日誌名稱配置nginx
二、使用logrotate對apache進行日誌拆分:數據庫
/var/log/httpd/*log {
daily
dateext
copytruncate
rotate 60
missingok
notifempty
sharedscripts
postrotate
/sbin/service httpd reload > /dev/null 2>/dev/null || true
endscript
}apache
2、awstats配置及生成:vim
一、LogFile="/var/log/httpd/www.test.com_access_log-%YYYY-0%MM-0%DD-0"
api
LogFile="/var/log/httpd/www.test2.com_access_log-%YYYY-0%MM-0%DD-0"dom
對最新的數據進行分析
ide
二、執行命令:/usr/local/awstats/tools/awstats_updateall.pl now
三、生成靜態文件
/usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=$name -dir=/usr/local/awstats/wwwroot/awstats -awstatsprog=
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
四、針對多域名進行腳本crontab執行
#!/bin/sh
/usr/local/awstats/tools/awstats_updateall.pl now
domain_name="access.mopote.com mopote.com"
for name in $domain_name
do
/usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=$name -dir=/usr/local/awstats/wwwroot/awstats -awstatsprog=
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
done
crontab添加:
0 9 * * * (time /usr/local/awstats/awstats_cron.sh) &> /usr/local/awstats/logs/
awstats.log
頁面訪問:
http://localhost/awstats/awstats.pl?config=mopote.com
3、AWStats擴展GeoIP
一、GeoIP插件整合到awstats中,實現IP反向解析歸屬地功能。
數據庫下載地址:http://dev.maxmind.com/zh-hans/geoip/legacy/geolite/
分別下載:
一、國家數據庫 二、城市數據庫 三、運營商
下載後分別放置到awstats的配置文件目錄下。
注: geo已經發布geolite2,但文件格式爲mmdb,而不是dat格式。暫時好像awstats不支持。
二、安裝相應的perl模塊
perl -MCPAN -e 'install "Geo::IP"'
perl -MCPAN -e 'install "Geo::IPfree"'
perl -MCPAN -e 'install "Net::XWhois"'
perl -MCPAN -e 'install "Encode"'
perl -MCPAN -e 'install "URI::Escape"'
三、先下載安裝C庫
wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP-1.4.8.tar.gz
tar -zxf GeoIP-1.4.8.tar.gz
cd GeoIP-1.4.8/
./configure --prefix=/usr/local/GeoIP
make && make install
因爲編譯GeoIP時自定義了安裝路徑,因此這裏須要加載關聯GeoIP模塊庫
# echo '/usr/local/GeoIP/lib' >> /etc/ld.so.conf
# /sbin/ldconfig /etc/ld.so.conf
四、下載Perl庫
wget http://geolite.maxmind.com/download/geoip/api/perl/Geo-IP-1.40.tar.gz
tar vzxf Geo-IP-1.40.tar.gz
cd Geo-IP-1.40/
perl Makefile.PL LIBS='-L/usr/local/GeoIP/lib' INC='-I/usr/local/GeoIP/include'
make && make install
五、修改配置文件 ,開啓相應模塊
LoadPlugin="hostinfo"
LoadPlugin="decodeutfkeys"
LoadPlugin="graphgooglechartapi"
LoadPlugin="geoip GEOIP_STANDARD /usr/local/awstats/etc/GeoIP.dat"
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/awstats/etc/GeoLiteCity.dat"
LoadPlugin="geoip_org_maxmind GEOIP_STANDARD /usr/local/awstats/etc/GeoIPASNum.dat"
六、更新配置
/usr/local/awstats/tools/awstats_updateall.pl now
4、對nginx日誌進行分析統計
一、對nginx日誌格式進行變動
log_format awstats '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
二、對awstats配置文件進行變動:
#LogFormat=1 關閉默認的apache格式
LogFormat="%host %other %other %time1 %methodurl %code %bytesd %refererquot %uaquot %otherquot"
三、用awstats生成數據文件
5、結合jawstats顯示數據
配置請參考 :http://www.jawstats.com/documentation
// core config parameters
$sDefaultLanguage = "en-gb";
$sConfigDefaultView = "thismonth.all";
$bConfigChangeSites = true; #多站點切換開關
$bConfigUpdateSites = false; #頁面更新開關
$sUpdateSiteFilename = "xml_update.php";
// individual site configuration
$aConfig["mopote.com"] = array(
"statspath" => "/usr/local/awstats/data/",
"updatepath" => "//usr/local/awstats/wwwroot/cgi-bin/awstats.pl/",
"siteurl" => "http://mopote.com",
"sitename" => "mopote.com",
"theme" => "default",
"fadespeed" => 250,
"password" => "sky1",
"includes" => "",
"language" => "en-gb"
);
$aConfig["access.mopote.com"] = array(
"statspath" => "/usr/local/awstats/data/",
"updatepath" => "//usr/local/awstats/wwwroot/cgi-bin/awstats.pl/",
"siteurl" => "http://access.mopote.com",
"sitename" => "access.mopote.com",
"theme" => "default",
"fadespeed" => 250,
"password" => "sky2",
"includes" => "",
"language" => "en-gb"
);
6、故障處理:
官網下的程序有個小bug。多是由於0.7是beta版本的緣由吧。若是你訪問JAWStats時,出現的是空白頁的話。可按下面的方法修改解決:
修改jawstats目錄中的index.php,將258行上
#修改前 <? // output booleans for javascript function BooleanToText($bValue) {
#修改後 <?php // output booleans for javascript function BooleanToText($bValue) {