AWStats如何分析多台web server log
當初會想要調整log的欄位,主要是考慮到要分析的log主機不只一台,如果我能在IIS 的log中帶入web server ip,是否AWStats在報表上也可以依照不同web server,顯示各台的狀態呢?
很不幸的,沒辦法…且,現實是…處理完第一台web server的log,再繼續處理第二台web server log(同一日期)時,AWStats會顯示資料重複,因此都不處理!
所幸有同事點明一件事情,AWStats是利用所處理的最後一筆log紀錄的時間來做劃分,才會造成處理同一天、不同機器的log時,第一台log一處理完,就不能處理第二台了!,既然如此,只好將檔案合併後再做處理…
最後研究出來的解決方案為…
為了處理方便,做了一個bat檔。內容如下…
附註:
很不幸的,沒辦法…且,現實是…處理完第一台web server的log,再繼續處理第二台web server log(同一日期)時,AWStats會顯示資料重複,因此都不處理!
所幸有同事點明一件事情,AWStats是利用所處理的最後一筆log紀錄的時間來做劃分,才會造成處理同一天、不同機器的log時,第一台log一處理完,就不能處理第二台了!,既然如此,只好將檔案合併後再做處理…
最後研究出來的解決方案為…
- 先將各台web server log檔案傳送到某一台機器
- 將所有log檔案結合成一個檔案
- 將合併後的log內容,依照時間重新排序…
- 最後才交給awstats做處理!
為了處理方便,做了一個bat檔。內容如下…
rem 為了處理方便,先將路徑指到web log存放的路徑
cd X:\my_temp_dir\
X:
rem 合併各台web server的log檔案
copy 192.168.1.1.log+192.168.1.2.log p_log_org.log
rem 將合併後的log檔案作排序
sort /L "C" p_log_org.log /O p_log.log
rem awstats處理,產生報表
perl X:\AWStats\wwwroot\cgi-bin\awstats.pl -config=your_config -update
cd X:\my_temp_dir\
X:
rem 合併各台web server的log檔案
copy 192.168.1.1.log+192.168.1.2.log p_log_org.log
rem 將合併後的log檔案作排序
sort /L "C" p_log_org.log /O p_log.log
rem awstats處理,產生報表
perl X:\AWStats\wwwroot\cgi-bin\awstats.pl -config=your_config -update
附註:
- awstats 做出來的『報表』,其實是文字檔。存放在所安裝的 cgi-bin目錄下。
如X:\AWStats\wwwroot\cgi-bin your_config_xxxxxx.txt
留言