123213 发表于 2015-11-23 09:28:09

awstats和jawstats对apache、nginx进行多站点日志分析

一、对apache进行日志拆分

1、配置apache使用cronolog:
由于实验用的apache开启了虚拟主机功能,所以以下配置都在虚拟主机中进行,这样也是为了方便对多站点的分析操作。
vim /etc/httpd/conf.d/vhosts.conf
将配置文件中的CustomLog和ErrorLog替换为下面的(由于我们要对多站点,所以这里要替换两个虚拟主机的,并且将日志存放名字做有效的区分才好)
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"
注意:这里一定要注意对两个网站的日志名称配置

2、使用logrotate:
/var/log/httpd/*log {
    daily
    dateext
    copytruncate
    rotate 60
    missingok
    notifempty
    sharedscripts
    postrotate
      /sbin/service httpd reload > /dev/null 2>/dev/null || true
    endscript
}

二、awstats配置:
1、LogFile="/var/log/httpd/www.test.com_access_log-%YYYY-0%MM-0%DD-0"

   LogFile="/var/log/httpd/www.test2.com_access_log-%YYYY-0%MM-0%DD-0"
对前一天的数据进行分析

2、执行命令:/usr/local/awstats/tools/awstats_updateall.pl now
3、crontab添加:
         0 9 * * * (time /usr/local/awstats/tools/awstats_updateall.pl now)&> /usr/local/awstats/logs/
awstats.log

三、AWStats扩展GeoIP

1、GeoIP插件整合到awstats中,实现IP反向解析归属地功能。
数据库下载地址:http://dev.maxmind.com/zh-hans/geoip/legacy/geolite/

分别下载:
1、国家数据库
2、城市数据库
3、运营商


下载后分别放置到awstats的配置文件目录下。
注: geo已经发布geolite2,但文件格式为mmdb,而不是dat格式。暂时好像awstats不支持。


2、安装相应的二个模块

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"'


3、#先下载安装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

4、下载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


5、修改配置文件
LoadPlugin="hostinfo"

LoadPlugin="decodeutfkeys"
LoadPlugin="graphgooglechartapi"
LoadPlugin="geoip GEOIP_STANDARD /usr/local/awstats/etc/GeoIP.dat"
#LoadPlugin="geoip GEOIP_STANDARD /usr/local/awstats/etc/GeoLite2-Country.mmdb"

LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/awstats/etc/GeoLiteCity.dat"
#LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /usr/local/awstats/etc/GeoLite2-City.mmdb"

LoadPlugin="geoip_org_maxmind GEOIP_STANDARD /usr/local/awstats/etc/GeoIPASNum.dat"


6、更新配置

/usr/local/awstats/tools/awstats_updateall.pl now

页: [1]
查看完整版本: awstats和jawstats对apache、nginx进行多站点日志分析