如何分析accesslog

  • accesslog是apache或者nginx等web service生成的日志,對應(yīng)于網(wǎng)頁的每一次請求,包含有大量的信息,分析好accesslog可以對網(wǎng)站的運行情況有一個整體的認識,在出現(xiàn)問題的情況下,也可以通過對accesslog的數(shù)據(jù)分析結(jié)果,大致定位出問題所在。負責網(wǎng)站的運維、架構(gòu)相關(guān)的工程師需要對accesslog非常熟悉,策略效果相關(guān)的工程師也可以通過對accesslog的分析,得到用戶的行為數(shù)據(jù)。
  • 同時分析accesslog的日志也可以估算出用戶訪問量,高峰訪問時間段,區(qū)域訪問數(shù)據(jù)等,為性能測試和服務(wù)器擴展提供很好的數(shù)據(jù)參考

accesslog的組成

  • 一條典型的accesslog
101.226.166.254 - - [21/Oct/2013:20:34:28 +0800] "
GET /movie_cat.php?year=2013 HTTP/1.1" 
200 5209 "http://www.baidu.com" 
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; 
Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; 
.NET CLR 3.0.30729; Media Center PC 6.0; MDDR; .NET4.0C; .NET4.0E; .NET CLR 1.1.4322; Tablet PC 2.0); 
360Spider"
下面我們來說說這一行記錄的意思:
  • 101.226.166.254:(用戶IP)
  • [21/Oct/2013:20:34:28 +0800]:(訪問時間)
  • GET:http請求方式,有GET和POST兩種
  • /movie_cat.php?year=2013:當前訪問的網(wǎng)頁是動態(tài)網(wǎng)頁,movie_cat.php即請求的后臺接口,year=2013為具體接口的參數(shù)
  • 200:服務(wù)狀態(tài),200表示正常,常見的還有,301永久重定向、4XX表示請求出錯、5XX服務(wù)器內(nèi)部錯誤
  • 5209:傳送字節(jié)數(shù)為5209,單位為byte
  • "http://www.baidu.com":refer:即當前頁面的上一個網(wǎng)頁
  • "Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; MDDR; .NET4.0C; .NET4.0E; .NET CLR 1.1.4322; Tablet PC 2.0); 360Spider": agent字段:通常用來記錄操作系統(tǒng)、瀏覽器版本、瀏覽器內(nèi)核等信息
數(shù)據(jù)統(tǒng)計及分析
  • 接口請求頻次:分接口、按天和小時分別統(tǒng)計。了解網(wǎng)站的運行情況,每個接口的請求頻次,用戶的行為習慣等。
  • 響應(yīng)時間:一天的平均響應(yīng)時間、分接口的平均響應(yīng)時間、分接口按小時統(tǒng)計平均響應(yīng)時間。響應(yīng)時間過長的請求可能說明服務(wù)性能上存在缺陷,就需要對相應(yīng)的接口進行優(yōu)化了。
  • 異常分析:狀態(tài)碼非200的請求、響應(yīng)時間超過一定域值的請求。大量的404不利用SEO,應(yīng)該盡量避免。
  • 具體參數(shù)統(tǒng)計:對于動態(tài)頁面,一個接口通常帶有多個參數(shù),其中某個或者某幾個參數(shù)特別重要,可以進一步細化,產(chǎn)生接口對應(yīng)的參數(shù)的統(tǒng)計結(jié)果
  • ip來源的統(tǒng)計:可以統(tǒng)計出網(wǎng)頁訪問的ip來源,進一步通過ip定位,可以產(chǎn)生網(wǎng)站按地域的訪問情況,同時對ip的統(tǒng)計,也可以對一些可能的攻擊或者黑客行為進行識別。
  • 蜘蛛抓取情況分析:搜索引擎的蜘蛛通常會設(shè)置agent字段,通過分析agent字段,可以得到網(wǎng)站一天被百度、谷歌等搜索引擎抓取的次數(shù),以及哪些網(wǎng)頁經(jīng)常被spider爬過,這也是SEO的基礎(chǔ)。

accesslog的shell 腳本分析

  • 查看80端口的tcp連接
netstat -tan | grep "ESTABLISHED" | grep ":80" | wc -l
  • 當前WEB服務(wù)器中聯(lián)接次數(shù)最多的ip地址:
netstat -ntu |awk '{print $5}' |sort | uniq -c| sort -n -r
231 ::ffff:127.0.0.1:8095
23 ::ffff:192.168.50.201:5432
2 ::ffff:192.168.50.203:80
1 servers)
1 ::ffff:192.168.50.56:43314
1 ::ffff:192.168.50.21:2996
1 ::ffff:192.168.50.21:2989
1 ::ffff:192.168.50.200:8060
1 ::ffff:192.168.50.12:1300
1 ::ffff:192.168.50.12:1299
1 ::ffff:192.168.50.12:1298
1 ::ffff:127.0.0.1:57933
1 Address
1 192.168.50.41:65310
1 192.168.50.41:64949
1 192.168.50.41:49653
  • 查看日志中訪問次數(shù)最多的前10個IP
cat access_log |cut -d ' ' -f 1 |sort |uniq -c | sort -nr | awk '{print $0 }' | head -n 10 |less

14085 121.207.252.122
13753 218.66.36.119
11069 220.162.237.6
1188 59.63.158.118
1025 ::1
728 220.231.141.28
655 114.80.126.139
397 117.25.55.100
374 222.76.112.211
348 120.6.214.70
  • 查看日志中出現(xiàn)100次以上的IP
cat access_log |cut -d ' ' -f 1 |sort |uniq -c | awk '{if ($1 > 100) print $0}'|sort -nr |less

14085 121.207.252.122
13753 218.66.36.119
11069 220.162.237.6
1188 59.63.158.118
1025 ::1
728 220.231.141.28
655 114.80.126.139
397 117.25.55.100
374 222.76.112.211
348 120.6.214.70
252 58.211.82.150
252 159.226.126.21
206 121.204.57.94
192 59.61.111.58
186 218.85.73.40
145 221.231.139.30
134 121.14.148.220
123 222.246.128.220
122 61.147.123.46
119 121.204.105.58
107 116.9.75.237
105 118.123.5.173
.....
  • 查看某一天的訪問量
cat access_log|grep '12/Nov/2012'|grep "******.htm"|wc|awk '{print $1}'|uniq 
  • 查看訪問時間超過30ms的url列表
cat access_log|awk ‘($NF > 30){print $7}’|sort -n|uniq -c|sort -nr|head -20   
  • 列出響應(yīng)時間超過60m的url列表并統(tǒng)計出現(xiàn)次數(shù)
cat access_log |awk ‘($NF > 60 && $7~/\.php/){print $7}’|sort -n|uniq -c|sort -nr|head -100   
  • 統(tǒng)計/index.[html]頁面的訪問uv
grep "/index.html" access.log | cut –d “ ” –f 4| sort | uniq | wc –l
  • PV
grep "/index.html" access.log  | wc -l 

更多參考https://www.cnblogs.com/centos2017/p/7896700.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,544評論 19 139
  • Http協(xié)議詳解 標簽(空格分隔): Linux 聲明:本片文章非原創(chuàng),內(nèi)容來源于博客園作者MIN飛翔的HTTP協(xié)...
    Sivin閱讀 5,344評論 3 82
  • 前言:最近發(fā)現(xiàn)自己在網(wǎng)絡(luò)相關(guān)這一塊基礎(chǔ)很是欠缺,所以準備花時間了解一下,本文主要是講http協(xié)議的一些基礎(chǔ),和一些...
    justCode_閱讀 2,148評論 0 23
  • 昨日下午在群里,看著姐妹們聊了很多,先從時下最時髦的話題——二胎開聊,聊著聊著聊到了懷孕、聊到性,繼而聊到婚姻,再...
    稻草人CX閱讀 561評論 2 6
  • 我也不清楚這樣的生活幾年了,我不去記不是因為不在意喜歡你的日子,而是想過得糊涂,好怕又是嫌太長了,更覺得沒有機會。...
    孤鳥差魚閱讀 1,457評論 0 2

友情鏈接更多精彩內(nèi)容