用途
- 記錄訪問(wèn)服務(wù)器的遠(yuǎn)程主機(jī)IP地址,可以得知瀏覽者來(lái)自何處
- 記錄瀏覽者訪問(wèn)web資源,可以了解網(wǎng)站哪些部分最受歡迎
- 記錄瀏覽者使用瀏覽器,可以根據(jù)大多數(shù)瀏覽者使用瀏覽器對(duì)站點(diǎn)進(jìn)行優(yōu)化
- 記錄瀏覽者訪問(wèn)時(shí)間
訪問(wèn)日志位置
-
Apache
在httpd.conf和引用的*.conf文件中查找
CustomLog "logs/access.log" combined
說(shuō)明:
a.CustomLog 訪問(wèn)日志配置指令 b.logs/access.log 訪問(wèn)日志記錄文件 c.combined 日志格式
-
Nginx
在nginx.conf或引用的*.conf文件中查找
access_log logs/access.log main
說(shuō)明:
a.access_log 訪問(wèn)日志配置指令 b.logs/access.log 訪問(wèn)日志記錄文件 c.main 日志格式
訪問(wèn)日志格式
-
Apache
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common
-
nginx
log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';
-
通用日志格式 common
127.0.0.1 - - [14/May/2017:12:45:29 +0800] "GET /index.html HTTP/1.1" 200 4286 遠(yuǎn)程主機(jī)IP 請(qǐng)求時(shí)間 時(shí)區(qū) 方法 資源 協(xié)議 狀態(tài)碼 發(fā)送字節(jié)
-
組合日志格式 combined
127.0.0.1 - - [14/May/2017:12:51:13 +0800] "GET /index.html HTTP/1.1" 200 4286 "http://127.0.0.1/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.116 Safari/537.36" 遠(yuǎn)程主機(jī)IP 請(qǐng)求時(shí)間 時(shí)區(qū) 方法 資源 協(xié)議 狀態(tài)碼 發(fā)送字節(jié) referer字符 瀏覽器信息
-
日志狀態(tài)碼
2XX:
200: 請(qǐng)求成功 201: 創(chuàng)建成功 202: 接受請(qǐng)求 204: 無(wú)內(nèi)容
3XX:
301: 永遠(yuǎn)重定向 302: 臨時(shí)重定向 303: 臨時(shí)重定向(HTTP1.1 同302) 307: 臨時(shí)重定向(HTTP1.1 POST方法)
4XX:
400: 錯(cuò)誤請(qǐng)求 401: 訪問(wèn)拒絕 403: 訪問(wèn)禁止 404: 未找到 405: 請(qǐng)求方法錯(cuò)誤
5XX:
500: 服務(wù)器內(nèi)部錯(cuò)誤 503: 服務(wù)不可用 505: 網(wǎng)關(guān)超時(shí)
日志統(tǒng)計(jì)
-
查看訪問(wèn)IP地址
cat access.log|awk '{print $1}' cat access.log|awk '{print $1}'|sort
-
查看每個(gè)IP地址訪問(wèn)次數(shù)
cat access.log|awk '{print $1}'|sort|uniq -c cat access.log|awk '{print $1}'|sort|uniq -c|sort -nr cat access.log|awk '{print $1}'|sort|uniq -c|sort -nr|head -10
-
統(tǒng)計(jì)總訪問(wèn)IP數(shù)量
cat access.log|awk '{print $1}'|sort|uniq -c|wc -l
-
訪問(wèn)指定時(shí)間后的日志
cat access.log|awk '$4>"[23/Aug/2014:23:58:00"' cat access.log|awk '($4>"[23/Aug/2014:23:58:00"){print $1}' cat access.log|awk '($4>"[23/Aug/2014:23:58:00"){print $1}'|sort|uniq -c|sort -nr
-
訪問(wèn)指定資源的日志
cat access.log|awk '$7 ~/.html$/' cat access.log|awk '($7 ~/.html$/){print $1 " " $7 " " $9}' cat access.log|awk '($7 ~/.js$/){print $10 " " $7}'|sort|uniq -c|sort -nr|head -10 cat access.log|awk '($10 > 10000 && $7 ~/.js$/){print $10 " " $7}'|sort|uniq -c|sort -nr|head -10
-
統(tǒng)計(jì)總流量
cat access.log|awk '{sum+=$10}END{print sum}' cat access.log|awk '($7 ~/.css$/){sum+=$10}END{print sum}' grep "04/May/2017" access.log|awk '($7 ~/.css$/){sum+=$10}END{print sum}'
-
狀態(tài)碼統(tǒng)計(jì)
cat access.log|awk '{print $9}' |sort|uniq -c|sort -nr cat access.log|awk '($9 ~/^400$/)' | wc -l cat access.log | awk '($4 ~/^\[04\/May\/2017/){print $9}'|sort|uniq -c|sort -nr cat access.log | awk '$9 ~/400/ && $4 ~/^\[04\/May\/2017/'|wc -l grep "04/May/2017" access.log | awk '{print $9}'|sort|uniq -c|sort -nr