apache访问日志管理

1.访问日志

在之前的虚拟主机配置文件中,有两行日志相关的配置,末尾的combined是日志的格式类型

 ErrorLog "logs/111.com-error_log"
 CustomLog "logs/111.com-access_log" combined

在apache的主配置文件中定义了如下的日志格式

    LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
    LogFormat "%h %l %u %t \"%r\" %>s %b" common

/usr/local/apache2.4/logs/111.com-access_log中记录了主机111.com的访问记录,combined模式的日志如下:

[[email protected]_01 ~]# cat /usr/local/apache2.4/logs/111.com-access_log
192.168.231.128 - - [21/Dec/2017:00:22:13 +0800] "GET HTTP://111.com/ HTTP/1.1" 200 8
127.0.0.1 - - [21/Dec/2017:20:02:16 +0800] "HEAD HTTP://111.com/ HTTP/1.1" 401 -
127.0.0.1 - - [21/Dec/2017:20:11:22 +0800] "HEAD HTTP://111.com/ HTTP/1.1" 401 -
127.0.0.1 - - [21/Dec/2017:20:16:12 +0800] "HEAD HTTP://111.com/ HTTP/1.1" 401 -
192.168.231.1 - - [21/Dec/2017:20:18:16 +0800] "GET / HTTP/1.1" 401 381
192.168.231.1 -  wennan [21/Dec/2017:20:18:51 +0800] "GET / HTTP/1.1" 401 381
192.168.231.1 - wennan [21/Dec/2017:20:18:59 +0800] "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan [21/Dec/2017:20:18:59 +0800] "GET /favicon.ico HTTP/1.1" 404 209
192.168.231.1 - wennan [21/Dec/2017:20:19:15 +0800] "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan [21/Dec/2017:20:22:00 +0800] "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan [21/Dec/2017:20:38:38 +0800] "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan [21/Dec/2017:20:40:23 +0800] "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan [21/Dec/2017:20:40:32 +0800] "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan [21/Dec/2017:20:40:59 +0800] "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan [21/Dec/2017:20:41:11 +0800] "GET / HTTP/1.1" 200 8
192.168.231.128 - wennan [21/Dec/2017:20:43:25 +0800] "HEAD HTTP://111.com/ HTTP/1.1" 200 -
192.168.231.1 - wennan [21/Dec/2017:20:51:55 +0800] "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan [21/Dec/2017:20:52:04 +0800] "GET /123.php HTTP/1.1" 500 -
127.0.0.1 - - [21/Dec/2017:20:53:11 +0800] "HEAD HTTP://111.com/ HTTP/1.1" 200 -
127.0.0.1 - - [21/Dec/2017:20:53:21 +0800] "HEAD HTTP://111.com/123.php HTTP/1.1" 401 -
192.168.231.128 - wennan [21/Dec/2017:20:53:36 +0800] "HEAD HTTP://111.com/123.php HTTP/1.1" 200 -
192.168.231.128 - wennan [21/Dec/2017:20:54:07 +0800] "GET HTTP://111.com/123.php HTTP/1.1" 200 29
192.168.231.1 - wennan [21/Dec/2017:20:54:14 +0800] "GET /123.php HTTP/1.1" 200 29
192.168.231.128 - - [21/Dec/2017:22:05:24 +0800] "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 -
192.168.231.128 - - [21/Dec/2017:22:58:50 +0800] "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 -
192.168.231.128 - - [21/Dec/2017:22:58:54 +0800] "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 -
192.168.231.128 - - [21/Dec/2017:22:58:55 +0800] "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 -
192.168.231.128 - - [21/Dec/2017:23:00:48 +0800] "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 - "-" "curl/7.29.0"
192.168.231.128 - - [21/Dec/2017:23:00:49 +0800] "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 - "-" "curl/7.29.0"

2.不记录指定类型的文件

①在虚拟主机配置文件中加入如下内容:

 SetEnvIf Request_URI ".*\.gif$" img
 SetEnvIf Request_URI ".*\.jpg$" img
 SetEnvIf Request_URI ".*\.png$" img
 SetEnvIf Request_URI ".*\.bmp$" img
 SetEnvIf Request_URI ".*\.swf$" img
 SetEnvIf Request_URI ".*\.js$" img
 SetEnvIf Request_URI ".*\.css$" img 
 CustomLog "logs/111.com-access_log" combined env=!img

上述配置内容意义为,将gif等类型的文件同意标记为img,然后在记录访问日志的时候不去记录img标记的访问记录

②重启服务

[[email protected]_01 ~]# /usr/local/apache2.4/bin/apachectl graceful

③多次访问jpg,png等类型文件及非img文件后得到如下日志。设置生效。

[[email protected]_01 ~]# !tail
tail /usr/local/apache2.4/logs/111.com-access_log
127.0.0.1 - - [21/Dec/2017:23:28:57 +0800] "HEAD HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
127.0.0.1 - - [21/Dec/2017:23:37:38 +0800] "HEAD HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
127.0.0.1 - - [21/Dec/2017:23:38:13 +0800] "HEAD HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
127.0.0.1 - - [21/Dec/2017:23:38:45 +0800] "HEAD HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
127.0.0.1 - - [21/Dec/2017:23:39:26 +0800] "HEAD HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
127.0.0.1 - - [21/Dec/2017:23:41:20 +0800] "GET HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 215 "-" "curl/7.29.0"
127.0.0.1 - - [21/Dec/2017:23:41:42 +0800] "GET HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 215 "-" "curl/7.29.0"
127.0.0.1 - - [21/Dec/2017:23:46:16 +0800] "GET HTTP://111.com/asdasdasdasda.png HTTP/1.1" 404 215 "-" "curl/7.29.0"
127.0.0.1 - - [21/Dec/2017:23:49:52 +0800] "GET HTTP://111.com/asdasdasdasda.jpg1 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - [21/Dec/2017:23:49:58 +0800] "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"

3.日志切割

①配置虚拟主机配置文件如下:

 CustomLog "|/usr/local/apache2.4/bin/rotatelogs -l logs/111.com-access_%Y%m%d.log 86400" combined env=!img

说明:

在此处,调用apache自带的日至切割工具rotatelogs来进行处理。

-l:以当前时间系统时间为基准切割日志,否则以UTC时间切割日志。

%Y%m%d:根据时间日期自动创建对应时间的日志文件。

86400:以天为单位切割日志。

②重新加载主机配置文件,然后使用curl工具或者浏览器访问111.com的内容来产生访问日至。

[[email protected]_01 ~]# curl -x127.0.0.1:80 111.com/123.php
123.php authorization passed
[[email protected]_01 ~]# curl -x127.0.0.1:80 111.com/123.php
123.php authorization passed
[[email protected]_01 ~]# curl -x127.0.0.1:80 111.com/123.php
123.php authorization passed
[[email protected]_01 ~]# curl -x127.0.0.1:80 111.com/123.php
123.php authorization passed

③查看/usr/local/apache2.4/logs/目录下产生的以日期分割的新日志文件

[[email protected]_01 ~]# ls /usr/local/apache2.4/logs/
111.com-access_20171222.log  123.com-access_log  access_log
111.com-access_log           abc.com-access_log  error_log
111.com-error_log            abc.com-error_log   httpd.pid
[[email protected]_01 logs]# cat 111.com-access_20171222.log
127.0.0.1 - - [22/Dec/2017:00:35:01 +0800] "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - [22/Dec/2017:00:35:05 +0800] "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - [22/Dec/2017:00:35:07 +0800] "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - [22/Dec/2017:00:35:07 +0800] "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - [22/Dec/2017:00:35:08 +0800] "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - [22/Dec/2017:00:35:09 +0800] "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - [22/Dec/2017:00:35:09 +0800] "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - [22/Dec/2017:00:35:10 +0800] "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - [22/Dec/2017:00:35:28 +0800] "GET HTTP://111.com/123.php HTTP/1.1" 200 29 "-" "curl/7.29.0"
127.0.0.1 - - [22/Dec/2017:00:35:30 +0800] "GET HTTP://111.com/123.php HTTP/1.1" 200 29 "-" "curl/7.29.0"
127.0.0.1 - - [22/Dec/2017:00:35:30 +0800] "GET HTTP://111.com/123.php HTTP/1.1" 200 29 "-" "curl/7.29.0"
127.0.0.1 - - [22/Dec/2017:00:35:31 +0800] "GET HTTP://111.com/123.php HTTP/1.1" 200 29 "-" "curl/7.29.0"
时间: 2024-11-09 03:56:36

apache访问日志管理的相关文章

LAMP架构(apache访问日志不记录静态文件,静态元素过期时间,apache日志切割)

一.apache访问日志不访问静态文件 浏览器打开后按f12会会出现一个界面,点network,会出现很多请求,访问日志里会记载,有些静态的图片或者文件也会记载,太浪费磁盘空间和磁盘io.所以我们要让日志不记录静态文件 [[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf SetEnvIf Request_URI ".*\.gif$" img SetEnvIf Request_URI &

配置apache访问日志和日志切割

配置apache访问日志和日志切割 1.打开apache主配置文件,命令:vim /usr/local/apache2/conf/httpd.conf,找到log_config_module模块,可以看到两条logformat(日志格式),如下图所示: 2.添加自定义的logformat(日志格式),命名为aming如下图所示: 保存退出! 3.打开虚拟主机配置文件,命令:vim /usr/local/apache2/conf/extra/httpd-vhosts.conf,找到<Virtual

LAMP架构(apache用户认证,域名重定向,apache访问日志)

一.apache用户认证 用户认证就是打开一个网站.会让你输入用户名和密码.对了才会让你访问HTTP, vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf 编辑内容如下 <Directory /data/wwwroot/www.123.com> //指定认证的目录 AllowOverride AuthConfig //这个相当于打开认证的开关 AuthName "123.com user auth" //自定义认证的名

11.18 Apache用户认证11.19 11.20 域名跳转11.21 Apache访问日志

11.18 Apache用户认证更改虚拟主机内容vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf增加用户名与密码? /usr/local/apache2.4/bin/htpasswd -c -m /data/.htpasswd aming-c是创建 -m指定类型查看生成的密码文档内容上面已经他去了.htpasswd目录,再创建用记就不需要-c在wi上指定域名hostsC:\Windows\System32\drivers\etc认证:没有

LAMP(5)域名跳转、Apache访问日志、访问日志不记录静态文件、访问日志切割

                            域名跳转    SEO(Search Engine Optimization)搜索引擎优化是一种利用搜索引擎的搜索规则来提高目前网站在有关搜索引擎内的自然排名的方式.SEO的目的理解是:为网站提供生态式的自我营销解决方案,让网站在行业内占据领先地位,从而获得品牌收益   一个网站是通过域名来判断的.   域名跳转:定义一个状态码,301永久重定向(通常都是同301,会降低原来域名权重,把权重定义到新的域名.)                

四十一、Apache用户认证、域名跳转、Apache访问日志

一.Apache用户认证 功能是用户在访问网站时,需要输入用户名和密码才能进入网站.一些重要站点或网站后台通常加用户认证,目的是保证安全. # vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf <VirtualHost *:80> DocumentRoot "/data/wwwroot/111.com" ServerName 111.com ServerAlias www.example.com <Direct

Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间

一.Apache访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //改为如下 把虚拟主机配置文件改成如下: <VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com" ServerName www.111.com ServerAlias 111.com SetEn

Spark-再次分析Apache访问日志

分析日志的包 自己编译下: sbt compile sbt test sbt package ApacheLogParser.jar 对于访问日志简单分析grep等利器比较好,但是更复杂的查询就需要Spark了. 代码: import com.alvinalexander.accesslogparser._ val p = new AccessLogParser val log = sc.textFile("log.small") //log.count //分析Apache日志中40

Apache优化——日志管理

11.22 访问日志不记录静态文件 编辑虚拟主机配置文件"httpd-vhosts.conf": [[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf--<VirtualHost :80>DocumentRoot "/data/wwwroot/111.com"ServerName 111.comServerAlias www.example.com<