站長新書 站長開講 首頁 最新文章 站長著作及審校 FreeBSD 筆記 Linux 筆記 Windows 筆記 虛擬化筆記 網管人雜誌 遊山玩水 關於本站
站長新書 VMware vSphere ICM 團購開跑了!!

Windows 2000 Server-AwstatsWeb 架設

前言

[AWStats - Free log file analyzer for advanced statistics (GNU GPL).] 是一個免費且功能強大的 Web Log 分析器,它能夠幫助你分析包括使用者,獨特使用者,訪問頁面數,點擊數,更新時間,作業系統,瀏覽器版本,搜索引擎,關鍵字,錯誤鏈接等等,支援所有的Web伺服器。

此次的實作為 Windows 2000 Server 擔任 Netwatcher 角色,利用 [Cygwin] 定期去抓遠端機器 Apache 的 Log 後,利用軟體 Awstats 6.0 來分析 Apache Log 並將結果匯出成圖表,達成分擔 Apache 的 Loading。

[Cygwin] 是一套能在 Windows 系統上提供 UNIX 環境,由 Red Hat 公司 (本來是 Cygnus 公司但被 Red Hat 公司購併) 所開發,它的功能為提供程式所需 UNIX 系統呼叫及環境函式庫,方便程式設計師來撰寫 Win32 控制台或是 GUI 的應用程式,所以我們可很輕易的將許多有用的 UNIX 程式,不需改變就能直接在視窗平台上使用。

實作環境

安裝及設定

步驟1.將 cig-bin 及 icon 資料夾複製到 IIS web 資料夾下

將 Awstats 6.0 抓下後解開後有三個資料夾及一個讀我檔案,在 wwwroot 內有 cgi-bin 及 icon 資料夾;Webroot 為 IIS - web 的目錄在其下建一個 Awstats 資料夾,分別放網站 (Weithenn) 的資料夾 C:\Webroot\Awstats\Weithenn\cgi-bin\icon

步驟2.修改 awstats.conf

將 C:\Webroot\Awstats\Weithenn\cgi-bin\awstats.model.conf 複製為 awstats.weithenn.conf 以供辦識,要修改的地方有四處,以下為舉例 awstats.weithenn.conf 修改設定

 #LogFile="/var/log/httpd/mylog.log"                              //預設值
 LogFile="D:\Logs\Web01\Weithenn\%YYYY-0_%MM-0_%DD-0-access.log   //會去讀最新日期的log
 SiteDomain=""                                                    //預設值
 SiteDomain="www.weithenn.org"                                    //網站名稱
 # Default: "/cgi-bin" (means awstats.pl is in "/yourwwwroot/cgi-bin")           //預設值
 DirCgi="http://www.weithenn.org/Awstats/Weithenn/cgi-bin"                       //讀 cgi-bin 的位置
 # Default: "/icon" (means you must copy icon directories in "/mywwwroot/icon")  //預設值
 DirIcons="http://www.weithenn.org/Awstats/Weithenn/icon"                        //讀icon的位置 

步驟3.執行 awstats 產生檔案

在 cgi-bin 裡面寫一個 awstats.bat 的執行檔,這樣就不用每次執行就要到命令提示字元,且可利用這個批次檔來做排程,內容如下

 C:\Webroot\Awstats\Weithenn\cgi-bin\awstats.pl -config=weithenn -update

步驟4.觀看成果

[http://Your_FQDN/Awstats/Weithenn/cgi-bin/awstats.pl?config=weithenn]

步驟5.同步遠端 Apache Log

利用 [Cygwin] 定期去同步遠端機器 Apache 的 Log 回來本地

 [apache_log]
 path = /home/apache_log                //您放 apache log 的路徑
 comment = Weithenn.org Apache Log      //說明  
 $rsync web::                           //測試 cygwin,能否 show 出 web 可 rsync 的資料夾
 apache_log           Weithenn.org Apache Log  
 cd /d D:\Logs\
 c:\cygwin\bin\rsync -avP web::apache_log/ .

步驟6.加入排程以便日後自動化執行

  1. 點選左下角【開始】
  2. 程式集
  3. 附屬應用程式
  4. 系統工具
  5. 排定的工作
  6. 新增排程

設定排程時間去讀取我們剛才所建立的 awstats.bat 及 synclog.bat 批次檔,建好後試著執行看看排程設定是否ok?如何測試批次檔是否成功了?請執行排程後再連到 awstats 頁面去看更新時間是否是剛才執行排程的時間,有的話就成功了 *:)*

截圖: awstats.bat 排程 截圖: 排程時間

補充

若您的 Apache Access Log 為每天產生一個,而當您剛開始使用 [AWStats ] 時如何串連所有的 Log 成為一個大 Log 是很重要地 (你不會想要一個一個執行吧。)

以下是利用 cat 指令將每天的 Apache Log 檔案串連成一個大 Log 檔,例如我的 Apache Log 命名是年月日(2004_01_01-access.log ~ 2004_01_31-access.log),下列指令便把 2004 年 1 月份的檔案串連成為一個 Log 檔叫 200401.log

 cat 2004_01*-access.log > 200401.log

參考

[ADJ 網路實驗室 觀看文章 - 技巧超強訪客分析 Awstats]

[ Cygwin: 送自由入微軟帝國]

[ Cygwin 微軟視窗底下的自由軟體環境 -- 洪朝貴 & 梁錫卿]

[ Shell 設計入門--Cygwin 環境]

[ cygwin -- 在 Windows 環境下享用 Linux 工具]

Go To Oddmuse OrgGo To FreeBSD OrgCreative Commons 2.5 Taiwansitestates.com