AWStats分析nginx日誌(access.log)

神諭丶發表於2015-02-04
隨手記,僅供參考。


  • 切割

        首先將nginx做切割,將access.log按天歸檔存放。
        可參考:http://blog.itpub.net/29773961/viewspace-1409066/

  • 安裝awstats

        awstats的工具和指令碼均由perl編寫,所以在使用前需確認你的os中perl是否安裝,rhel可以簡易透過yum來安裝或者更新perl。

        官網下載:
        
        
        
        最新版本是7.4,2015年1月份的最新版本。
        在這裡我沒有用最新版本,用的是7.2版本:
        
        要獲得版本的差別,可以參考官網的文件。

        下載好後,透過tar -xzvf解壓。
        我將解壓後的資料夾改名成awstats並放入/usr/local中。
        
        
        cd /usr/local/awstats/tools
        執行./awstats_configure.pl開始安裝
        其中會遇到幾個問題,都看得懂英文,一路按照提示安下來。
        其中需要輸入your web site, virtual server or profile name:
        這個實際上隨意,實際上是修改/etc/awstats/中對應配置檔案的檔名。
        但根據習慣,還是建議輸入你想分析的站點名稱。

      然後修改配置檔案
        vi /etc/awstats/awstats.*.conf
        *是之前輸入的web site

        找到LogFile,修改為:
        LogFile="*/access_%YYYY-24%MM-24%DD-24.log"
        其中*對應為存放歸檔日誌的目錄。
        (我的歸檔日誌命名為:access_20150101.log,可以根據需求修改)
        其中%YYYY-24%MM-24%DD-24代表系統時間的前一天,比如今天是20150102,那麼%YYYY-24%MM-24%DD-24就是20150101。
    
   
        
  • 分析
      awstats的做法是:
        1.分析現有的access.log,並生成或更新awstats資料庫。
        2.從awstats資料庫中獲取,並生成awstats日誌分析報告。(以html靜態頁面的方式呈現)

        首先建立一個資料夾來存放awstats的日誌結果:
        比如mkdir -p /home/awstats

        然後做步驟1:
        /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=*(*為之前輸入的站點名)
        可以理解指定使用/etc/awstats/awstats.*.conf這個配置檔案。
        這時awstats就會透過尋找配置檔案中的logfile指定路徑,然後做日誌分析,並寫入awstats資料庫。
        當然配置檔案中還有其他選項,預設給出的.conf檔案有1500多行,如果有需要,可以通讀。
        
        步驟2:
        /usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=* \
        -lang=cn -dir=/home/awstats \
        -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl
        其中-dir指定的是之前生成存放html頁面的資料夾。

  • 檢視
        只需要將html放入瀏覽器中,或者配置到nginx.conf中,就可以透過瀏覽器訪問了。
        這是我將我某幾天的access.log分析的結果:
        
        


  • 自動化

    最後將步驟1和2的bash命令寫入指令碼,再新增到crontab中,就可以每天自動分析了。
    當然要注意自動執行時間要晚於日誌歸檔時間。
    如果日誌歸檔是在00:05做,那麼分析一定得在這個時間之後。

    最好將歸檔日誌放到線下,傳輸到其他伺服器上。避免日誌分析所產生的資源佔用。

    crontab可參考:
    http://blog.itpub.net/29773961/viewspace-1403802/。

        




來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29773961/viewspace-1425948/,如需轉載,請註明出處,否則將追究法律責任。

相關文章