手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

日志分析工具Awstats实战之Apache篇-多站点日志分析

[日期:2013-11-03] 来源:Linux社区  作者:sunsky [字体: ]

三、配置日志分析页面的来访ip的地址位置显示

这里我们用国内最准确的ip数据库——QQ纯真库(点击下载),大家下载之后通过CRT用lrzsz工具传上去,具体步骤这里不写了。
附件里面有三个文件qqhostinfo.pm,qqwry.pl和QQWry.Dat,我们将这三个文件统统都放到/usr/local/awstats/wwwroot/cgi-bin/plugins中。
接下来,我们修改qqwry.pl文件,将./QQWry.Dat修改为${DIR}/plugins/QQWry
vim /usr/local/awstats/wwwroot/cgi-bin/plugins/qqwry.pl
 #my $ipfile="./QQWry.Dat";

修改为
my $ipfile="${DIR}/plugins/QQWry.Dat";

然后编辑awstats的配置文件/etc/awstats/awstats.www.linuxidc.com.conf(根据你前面配置的站点信息生成的文件),将LoadPlugin="hostinfo"替换为LoadPlugin="qqhostinfo"即可。

sed -i 's#\#LoadPlugin="hostinfo"#LoadPlugin="qqhostinfo"#g' /etc/awstats/awstats.www.linuxidc.com.conf
sed -i 's#\#LoadPlugin="hostinfo"#LoadPlugin="qqhostinfo"#g' /etc/awstats/awstats.www.88181.com.conf

切记,在这些替换完之后一定要查看替换是否成功,以便及早发生纰漏。
grep "LoadPlugin=\"qqhostinfo\"" /etc/awstats/awstats.www.linuxidc.com.conf

如果检查无误,那么我们的ip地址位置显示就配置好了,在后面的日志分析中,我们就可以清楚的看到来访ip的地理位置信息了。

四、配置apache
首先我们打开apache的主配置文件/usr/local/apache/conf/httpd.conf可以看到里面多出了以下几行:

#
# Directives to allow use of AWStats as a CGI
#
Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"
Alias /awstatscss "/usr/local/awstats/wwwroot/css/"
Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"
ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"
#
# This is to permit URL access to scripts/files in AWStats directory.
#
<Directory "/usr/local/awstats/wwwroot">
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
</Directory>

我们可以看到awstats已经在apache的主配置文件配置好了需要的参数,是不是很方便啊。此时我们还需要在配置虚拟目录配置文件里面配置几个参数来实现站点的统计信息安全。
1 vim /usr/local/apache/httpd/extra/httpd-vhosts.conf

添加以下两行参数进去
 auth_basic "Restricted"; 
    auth_basic_user_file /usr/local/nginx/htpasswd.pass;

添加之后的文件信息
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.example.com
    DocumentRoot "/www/linuxidc"
    ServerName dummy-host.example.com
    ServerAlias www.linuxidc.com
    CustomLog "|/usr/local/sbin/cronolog /app/logs/linuxidc_access_%Y%m%d.log" combined
    ErrorLog "|/usr/local/sbin/cronolog /app/logs/linuxidc_error_%Y%m%d.log"
    auth_basic "Restricted"; 
    auth_basic_user_file /usr/local/apache/htpasswd.pass;
</VirtualHost>
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host2.example.com
    DocumentRoot "/www/88181"
    ServerName www.88181.com
    CustomLog "|/usr/local/sbin/cronolog /app/logs/88181_access_%Y%m%d.log" combined
    ErrorLog "|/usr/local/sbin/cronolog /app/logs/88181_error_%Y%m%d.log"
    auth_basic "Restricted";
    auth_basic_user_file /usr/local/apache/htpasswd.pass;
</VirtualHost>

接下来我们用下面的命令来生成加密文件和加密的账号及密码
htpasswd -c -m /usr/local/nginx/htpasswd.pass admin      #用户名为admin,回车之后输入两次密码即完成创建

如果,你顺利的执行了上面的所有操作,那么OK!现在你已经可以通过访问
http://www.linuxidc.com/awstats/awstats.pl?config=www.linuxidc.com
http://www.88181.com/awstats/awstats.pl?config=www.88181.com

来查看你多个站点的日志分析信息了。

日志分析工具Awstats实战之Apache篇-多站点日志分析

日志分析工具Awstats实战之Apache篇-多站点日志分析

五、配置awstats自动运行
为了让整个日志的统计过程可以实现自动化,我们将awstats.sh脚本加入crontab定时任务中去
0 1 * * * /bin/sh /server/scripts/awstats_up.sh >/dev/null 2>&1

也许你会问为什么不把cronolog也加入开机启动呢,因为cronolog已经默认被apache用来调用记录日志,所以无需加入到crontab定时任务中。


至此,我们已经通过在nginx和apache上部署awstats日志访问分析工具来实现了对站点来访信息的分析。整个系列的博文不多,只有三篇,不过还算是详尽,把改涉及到的都涉及到了。中间有很多技术是连同的,比如在apche上进行的多站点,在nginx上的静态化访问等,尽管我没有再出,不过我们都可以将他们来回应用实现部署需求。我也相信,只有融会贯通了,我们大家才能更好的部署好这一利器!

linux
相关资讯       AWStats  Apache日志分析 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款