bgey 发表于 2018-11-18 08:13:17

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模式的日志如下:
# cat /usr/local/apache2.4/logs/111.com-access_log
192.168.231.128 - - "GET HTTP://111.com/ HTTP/1.1" 200 8
127.0.0.1 - - "HEAD HTTP://111.com/ HTTP/1.1" 401 -
127.0.0.1 - - "HEAD HTTP://111.com/ HTTP/1.1" 401 -
127.0.0.1 - - "HEAD HTTP://111.com/ HTTP/1.1" 401 -
192.168.231.1 - - "GET / HTTP/1.1" 401 381
192.168.231.1 -wennan "GET / HTTP/1.1" 401 381
192.168.231.1 - wennan "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan "GET /favicon.ico HTTP/1.1" 404 209
192.168.231.1 - wennan "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan "GET / HTTP/1.1" 200 8
192.168.231.128 - wennan "HEAD HTTP://111.com/ HTTP/1.1" 200 -
192.168.231.1 - wennan "GET / HTTP/1.1" 200 8
192.168.231.1 - wennan "GET /123.php HTTP/1.1" 500 -
127.0.0.1 - - "HEAD HTTP://111.com/ HTTP/1.1" 200 -
127.0.0.1 - - "HEAD HTTP://111.com/123.php HTTP/1.1" 401 -
192.168.231.128 - wennan "HEAD HTTP://111.com/123.php HTTP/1.1" 200 -
192.168.231.128 - wennan "GET HTTP://111.com/123.php HTTP/1.1" 200 29
192.168.231.1 - wennan "GET /123.php HTTP/1.1" 200 29
192.168.231.128 - - "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 -
192.168.231.128 - - "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 -
192.168.231.128 - - "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 -
192.168.231.128 - - "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 -
192.168.231.128 - - "HEAD HTTP://2111.com.cn/ HTTP/1.1" 301 - "-" "curl/7.29.0"
192.168.231.128 - - "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标记的访问记录
  ②重启服务
# /usr/local/apache2.4/bin/apachectl graceful  ③多次访问jpg,png等类型文件及非img文件后得到如下日志。设置生效。
# !tail
tail /usr/local/apache2.4/logs/111.com-access_log
127.0.0.1 - - "HEAD HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
127.0.0.1 - - "HEAD HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
127.0.0.1 - - "HEAD HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
127.0.0.1 - - "HEAD HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
127.0.0.1 - - "HEAD HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 - "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 215 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.jpg HTTP/1.1" 404 215 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.png HTTP/1.1" 404 215 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.jpg1 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - "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的内容来产生访问日至。
# curl -x127.0.0.1:80 111.com/123.php
123.php authorization passed
# curl -x127.0.0.1:80 111.com/123.php
123.php authorization passed
# curl -x127.0.0.1:80 111.com/123.php
123.php authorization passed
# curl -x127.0.0.1:80 111.com/123.php
123.php authorization passed  ③查看/usr/local/apache2.4/logs/目录下产生的以日期分割的新日志文件
# ls /usr/local/apache2.4/logs/
111.com-access_20171222.log123.com-access_logaccess_log
111.com-access_log         abc.com-access_logerror_log
111.com-error_log            abc.com-error_log   httpd.pid
# cat 111.com-access_20171222.log
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/asdasdasdasda.jpg2 HTTP/1.1" 404 216 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/123.php HTTP/1.1" 200 29 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/123.php HTTP/1.1" 200 29 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/123.php HTTP/1.1" 200 29 "-" "curl/7.29.0"
127.0.0.1 - - "GET HTTP://111.com/123.php HTTP/1.1" 200 29 "-" "curl/7.29.0"


页: [1]
查看完整版本: apache访问日志管理