網路上有很多很多計算網站流量的分析工具....但是有時後自己想要知道如何分析,所以在網路上找到此指令可以計算網站的流量。 65.55.213.67 - - [04/Jul/2013:04:37:51 +0800] "GET /user.php?act=login HTTP/1.1" 200 10104 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)" 65.55.213.67 - - [04/Jul/2013:04:37:53 +0800] "GET /category.php?id=3 HTTP/1.1" 200 16041 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)" 65.55.213.67 - - [04/Jul/2013:04:37:56 +0800] "GET /category.php?id=1 HTTP/1.1" 200 11080 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)" 65.55.213.67 - - [04/Jul/2013:04:37:58 +0800] "GET /goods.php?id=351 HTTP/1.1" 200 19369 "-" "msnbot/2.0b (+http://search.msn.com/msnbot.htm)" 以上是從access_log擷取一部分的內容 再透過以下指令,就能計算出網站流量 cat /網站日誌檔目錄/access_log | awk '{SUM+=$10}END{print SUM/1024/1024}' 得出的流量數據是 0.054MB,因為流量數據是byte單位所以要除2次1024byte(56594/1024/1024) 其中 awk 是一種處理資料且可產生報告的語言,功能相當強大:而處理的單位是一行一行的比對處理,當符合awk的條件
1. 若有設定虛擬主機的話,要先設定虛擬主機的日誌以及日誌內容的格式 <VirtualHost *:80> ServerName DNS網址 DocumentRoot 網站目錄路徑 LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-agent}i\"" combined CustomLog access_log的路徑 combined </VirtualHost> ... ... ... 其中 LogFormat 與 CustomLog 的制定方式,在官方頁面有說明「 Log Files說明頁面 」 2. apache的日誌設定完之後,就可以開始設定apache的logrotate功能。在開始定義之前,先解釋甚麼是logrotate。 logrotate顧名思義就是log rotate,即日誌的輪換。Logrotate是Linux系統自身帶的一個日誌輪替執行檔,它的執行檔所在的目錄是/usr/sbin/logrotate,是專門對各種系統日誌(syslogd,mail)進行輪替的執行檔。 所以logrotate 的主要功能就是將舊的日誌檔案移動成舊日誌檔, 並且重新建立一個新的空的日誌檔案來記錄,它的執行結果有點類似底下的圖示: