標籤:var tar css format $1 定向 oca 訪問拒絕 awk
用途
- 記錄訪問伺服器的遠程主機 IP 位址,可以得知瀏覽者來自何處
- 記錄瀏覽者訪問 web 資源,可以瞭解網站哪些部分最受歡迎
- 記錄瀏覽者使用瀏覽器,可以根據大多數瀏覽者使用瀏覽器對網站進行最佳化
- 記錄瀏覽者訪問時間
訪問日誌位置
1.Apache
在 httpd.conf 和引用的*.conf檔案中尋找 CustomLog "logs/access.log" combined
說明:
a.CustomLog 訪問日誌配置指令b.logs/access.log 訪問日誌記錄檔案c.combined 日誌格式
- Nginx
在 nginx.conf 或引用的 *.conf 檔案中尋找 access_log logs/access.log main
說明:a.access_log 訪問日誌配置指令b.logs/access.log 訪問日誌記錄檔案c.main 日誌格式
訪問日誌格式
1、Apache
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedLogFormat "%h %l %u %t \"%r\" %>s %b" common
配置說明
2、nginx
log_format main ‘$remote_addr - $remote_user [$time_local] "$request" ‘ ‘$status $body_bytes_sent "$http_referer" ‘ ‘"$http_user_agent" "$http_x_forwarded_for"‘;
配置說明
變數說明
3、通用日誌格式 common
127.0.0.1 - - [14/May/2017:12:45:29 +0800] "GET /index.html HTTP/1.1" 200 4286遠程主機IP 請求時間 時區 方法 資源 協議 狀態代碼 發送位元組
4、組合日誌格式 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"遠程主機IP 請求時間 時區 方法 資源 協議 狀態代碼 發送位元組 referer字元 瀏覽器資訊
5、日誌狀態代碼
2XX:
200: 請求成功201: 建立成功202: 接受請求204: 無內容
3XX:
301: 永遠重新導向302: 臨時重新導向303: 臨時重新導向(HTTP1.1 同302)307: 臨時重新導向(HTTP1.1 POST方法)
4XX:
400: 錯誤請求401: 訪問拒絕403: 訪問禁止404: 未找到405: 要求方法錯誤
5XX:
500: 伺服器內部錯誤503: 服務不可用505: 網關逾時
日誌統計
1、查看訪問 IP 位址
cat access.log|awk ‘{print $1}‘cat access.log|awk ‘{print $1}‘|sort
2、查看每個 IP 位址訪問次數
cat access.log|awk ‘{print $1}‘|sort|uniq -ccat access.log|awk ‘{print $1}‘|sort|uniq -c|sort -nrcat access.log|awk ‘{print $1}‘|sort|uniq -c|sort -nr|head -10
3、統計總訪問 IP 數量
cat access.log|awk ‘{print $1}‘|sort|uniq -c|wc -l
4、訪問指定時間後的日誌
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
5、訪問指定資源的日誌
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 -10cat access.log|awk ‘($10 > 10000 && $7 ~/.js$/){print $10 " " $7}‘|sort|uniq -c|sort -nr|head -10
6、統計總流量
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}‘
7、狀態代碼統計
cat access.log|awk ‘{print $9}‘ |sort|uniq -c|sort -nrcat access.log|awk ‘($9 ~/^400$/)‘ | wc -lcat access.log | awk ‘($4 ~/^\[04\/May\/2017/){print $9}‘|sort|uniq -c|sort -nrcat access.log | awk ‘$9 ~/400/ && $4 ~/^\[04\/May\/2017/‘|wc -lgrep "04/May/2017" access.log | awk ‘{print $9}‘|sort|uniq -c|sort -nr
作者:kk
首發連結:https://www.jianshu.com/p/01aa4785f915
Web 存取日誌分析