服务器

位置:IT落伍者 >> 服务器 >> 浏览文章

Apache 服务器Log分析应用实例


发布日期:2024年06月23日
 
Apache 服务器Log分析应用实例

所用软件及工具

Apache服务器 官方网址

awstats 日志分析软件 官方网址

cronolog 日志截取软件 官方网址

环境构架

RedHat AS

Apache

/configure –prefix=/usr/local/apache/ ——enableso

make

make install

awstats

直接tar到 /usr/local/awstats

cronolog

/configure –prefix=/usr/local/cronolog

make

make install

配置

apache

a让apache中的某个虚拟主机产生日志

全局环境变量设置

代码LogFormat %h %l %u %t \%r\ %>s %b \%{Referer}i\ \%{UserAgent}i\ combined

SetEnvIf Request_URI \gif$ gifimage

SetEnvIf Request_URI \GIF$ gifimage

SetEnvIf Request_URI \jpg$ gifimage

SetEnvIf Request_URI \JPG$ gifimage

SetEnvIf Request_URI \png$ gifimage

SetEnvIf Request_URI \swf$ gifimage

SetEnvIf Request_URI \SWF$ gifimage

SetEnvIf Request_URI \css$ gifimage

SetEnvIf Request_URI \CSS$ gifimage

SetEnvIf Request_URI \js$ gifimage

SetEnvIf Request_URI \JS$ gifimage

SetEnvIf Request_URI \ico$ gifimage

产生日志但不包括 图片

虚拟主机日志设置

代码<VirtualHost >

ServerAdmin

DocumentRoot /db/htdocs/www

ServerName

CustomLog |/usr/local/cronolog/sbin/cronolog /db/logs/www%Y%m%dlog combined env=!gifimage

#用cronolog截取存放在/db/logs/下的按日期产生的apache日志文件

</VirtualHost>

日志文件是针对每一个虚拟主机产生的所以可以配置一台服务器上多个虚拟主机的日志分析

b别名设置

代码

#

# 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/cgibin/

#

# This is to permit URL access to scripts/files in AWStats directory

#

<Directory /usr/local/awstats/wwwroot>

Options None

AllowOverride None

Order allowdeny

Allow from all

</Directory>

该配置在运行awstats/tools/awstats_configurepl 后会自动产生所以不用手动添加

cawstats需要cgi的支持如果没有添加cgi可以现在添加

代码

/apxs c i /usr/local/src/_cgic

再在 中添加

代码

LoadModule cgi_module modules/mod_cgiso

d为了保护日志统计信息需要对某些目录进行认证设置需要认证模块的支持

代码

/apxs c i /usr/local/src/……/mod_authc

再在 中添加

代码

LoadModule auth_module modules/mod_authso

配置需要认证的目录

代码

<Directory /db/htdocs/www/awstat/>

AuthType Basic

AuthName Restricted Files

AuthUserFile /usr/local/apache/passwd/passwords

Require user loguser

</Directory>

其中在 /usr/local/apache/passwd/下产生passwords 的密码文件

运行如下代码产生用户名为loguser用户及其密码

代码

/usr/local/apache/bin/htpasswd c /usr/local/apache/passwd/passwords loguser

注意先要在 /usr/local/apache/下建passwd目录

Awstats

运行 /usr/local/awstats/tools/awstats_configurepl

主要设置的是需要输入做统计的主机名的配置文件名如

接着修改 刚才配置是产生的awstats配置文件 默认位置在

/etc/awstats/con 主要做指定log位置

代码

LogFile=/db/logs/www%YYYY%MM%DDlog

创建目录mkdir /var/lib/awstats/

执行

代码

/usr/local/awstats/wwwroot/cgibin/awstatspl update config=

更新update 后可以在浏览器中输入 进行访问了

cronolog (基本不用什么修改)

crontab的修改

在 crontab中添加如下 命令保证分钟更新一次也可以根据你自己的需要修改更新的间隔

代码

*/ * * * * /usr/local/awstats/wwwroot/cgibin/awstatspl update config=

安全性考虑

以上的设置由于要cgi支持也增加了安全隐患可以用awstats 自带的awstats_buildstaticpagespl来 生成静态页面 可以添加到crontab中

代码

*/ * * * * /usr/local/awstats/tools/awstats_buildstaticpagespl update config= lang=cn dir=/db/htdocs/www/awstat/ awstatsprog=/usr/local/awstats/wwwroot/cgibin/awstatspl

这样没分钟在/db/htdocs/www/awstat/ 下生成各种静态页面

保护/db/htdocs/www/awstat/禁止未授权用户访问

在中添加

代码

<Directory /db/htdocs/www/awstat/>

AuthType Basic

AuthName Restricted Files

AuthUserFile /usr/local/apache/passwd/passwords

Require user loguser

</Directory>

如果 虚拟主机 主目录为/db/htdocs/www/ 则在浏览器中输入 就可以通过认真访问静态页面

如果用静态页面就不要忘了注释掉

LoadModule cgi_module modules/mod_cgiso

上一篇:Tomcat配置10大技巧

下一篇:apache设置静态文件缓存方法介绍