官方網站:AWStats is a free powerful and featureful tool that generates advanced web, streaming, ftp or mail server statistics, graphically. This log analyzer works as a CGI or from command line and shows you all possible information your log contains, in few graphical webb pages. It uses a partial information file to be able to process large log files, often and quickly. It can analyze log files from all major server tools like Apache log files (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS(W3C log format) and a lot of other web, proxy, wap, straming servers, mail servers and some ftp servers.
Awstats 是一個免費的日志分析工具,用perl開發。可以用于分析各種linux下的應用程式産生的日志,包括 apache/squid/samba/resin/tomcat 等等。在這裡,我們主要用它來分析apache日志。
統計包括通路,通路者,頁面,點選,高峰時間,作業系統,浏覽器,搜尋引擎,關鍵字,機器人通路,端開的連結和更多的阻力截圖排序。
Awstats是一個非常簡潔而且強大的統計工具。它可以統計您站點的如下資訊:
一:通路量,通路次數,頁面浏覽量,點選數,資料流量等精确到每月、每日、每小時的資料
二:通路者國家、通路者IP、作業系統、浏覽器等
三:Robots/Spiders的統計
四:紡客持續時間
五:對不同Files type 的統計資訊
六:Pages-URL的統計
七:其它資訊(搜尋關鍵字等等)
通路次數、獨特訪客人數,
通路時間和上次通路,
使用者認證、最近認證的通路,
每周的高峰時間(頁數,點選率,每小時和一周的千位元組),
域名/國家的主機訪客(頁數,點選率,位元組,269域名/國家檢測, geoip 檢測),
主機名單,最近通路和未解析的 IP 位址名單
大多數看過的進出頁面,
檔案類型,
網站壓縮統計表(mod_gzip 或者 mod_deflate),
使用的作業系統 (每個作業系統的頁數,點選率 ,位元組, 35 OS detected),
使用的浏覽器,
機器人通路(檢測 319 個機器人),
蠕蟲攻擊 (5 個蠕蟲家族),
搜尋引擎,利用關鍵詞檢索找到你的位址,
HTTP 協定錯誤(最近查閱沒有找到的頁面),
其他基于 URL 的個性報導,連結參數, 涉及綜合行銷領域目的.
貴網站被加入"最喜愛的書簽".次數.
螢幕大小(需要在索引頁補充一些 HTML 标簽).
浏覽器的支援比例: Java, Flash, RealG2 reader, Quicktime reader, WMA reader, PDF reader.
負載平衡伺服器比率叢集報告.
Awstats 的運作需要 perl 環境的支援,從awstats 官方文檔來看,它對apache http server 的支援是非常完美的。如果使用的 nginx,要運作awstats有點麻煩。首先nginx對perl 的支援是比較弱的,甚至官方也不建議使用;另外在日志格式上需要修改後才能正常運作。
awstats官方網站: http://awstats.sourceforge.net/
perl官方網站: http://www.perl.com/
awstats項目位址:http://sourceforge.net/projects/awstats/
AWStats的功能很多,我在此主要用它來分析apache伺服器的日志。安裝使用之前還是說說大緻的工作原理,AWStats提供一系列的perl腳本實作:服務配置,日志讀取,報表生成等功能。
而功能實作的具體執行過程是:首先,當然是apache将通路情況記錄到日志中,AWStats每次執行更新時讀取這些日志,分析日志資料,将結果存儲到資料庫中,(這個資料庫是AWStats自帶的【就是一文本檔案】,并不需要第三方軟體支援。),最後AWStats提供一個cgi程式通過web頁面來顯示資料庫中所統計的資料。
AWStats的工作模式是這樣的:
分析日志:運作後将日志統計結果歸檔到一個AWStats的資料庫(純文字)裡;
輸出日志:分兩種形式
一種是通過cgi程式讀取統計結果資料庫輸出(Linux中);
一種是運作背景腳本将輸出導出成靜态檔案(Windows中);
其他同類日志統計分析工具有:
AWStats
Analog
Webalizer
環境資訊約定:
日志檔案位置:/usr/local/apache/logs
系統:CentOS6.5 X64
awstats安裝位置:/usr/local/awstats
JAWStats安裝位置:/htdoc/stats/
這裡我們配置的站點域名:www.test.com
WEB伺服器:Apache 2.2
靜态頁面檔案輸出路徑:/usr/local/apache/data(可選)
Requirements:
To use AWStats, you need the following requirements:
Your server must log web access in a log file you can read.
You must be able to run perl scripts(.pl files) from command line and / or as CGI(Perl 5.007003 or higher required to run AWStats 6.9 or higher)
If not, you can solve this by downloading last Perl version at ActivePerl (Win32) or Perl.com(Unix/Linux/Other)
1、安裝 perl
awstats 是由 perl 語言編寫的,不管是在Windows還是Linux下,都需要安裝perl。是以要首先準備好 perl 環境,通常linux系統都是自帶了perl的。
2、下載下傳 awstats 工具(Last stable version is 7.4),并解壓至正常目錄 /usr/local
3、安裝 awstats
由于 wget 下來的封包件的權限是非 root使用者的,是以需要修改權限,否則稍後 *.pl 無法運作。
Awstats 會自動檢測httpd.conf 配置檔案,并在其配置檔案末尾添加如下語句:
awstat 目錄:
安裝目錄: /usr/local/awstats
配置檔案: /etc/awstats
資料檔案: /var/lib/awstats
3、檢視awstats配置檔案
awstats_configure.pl 還将根據安裝過程中您的回答(要分析的網站域名)資訊,生成配置檔案。結束這個向導以後,我們對www.test.com站點的awstats配置檔案已經配置好了。下面我們來檢視并修改一下這個配置檔案。
接下來,編輯配置檔案,AWStats 支援針對多個子域名生成分析日志,主要修改以下幾行:
LogFile 指明apache的access log所在,這裡也可以使用變量,例如:LogFile="/data/log/imysql.cn-access_log.%YY-24%MM-24%DD",具體的請檢視 相關文檔。
LogFormat 表示日志格式,我在apache的日志格式中,采用 combined,是以這裡寫成4。如果apache裡設定的是 common,則在這裡寫 2,具體的對應關系可以看 Awstats文檔。
SiteDomain 要分析的域名
DirData 分析結果存放位置(awstas資料庫)
如果apache 進行了日志切割, 這裡需要随機應變
在上面的我們講解了awstats的yum安裝與源碼安裝,同時配置了一個監控執行個體,下面我們就執行一下這個監控執行個體www.test.com。
1、更新awasts資料庫
現在我們需要用awstats來生成對apache日志的統計分析資訊。由于我們用的awstats是支援perl的FCGI動态化通路頁面,是以此處我們隻需要直接更新資料庫即可。FCGI程式會自動将資料庫以動态頁面的形式展現出來,無須再手動生成靜态頁面了。
接下來我們來檢視一下分析結果
如果還想通過web server檢視分析結果,就需要讓web server支援cgi才行了。在這裡,我使用apache作為web server,是以我在編譯apache時,加上了選項:--enable-cgi。
LoadModule cgid_module modules/mod_cgid.so
注意cgi腳本的執行權限,一定要apache使用者擁有執行權限,否則可能提示Server Internal 錯誤。
注,如果,你順利的執行了上面的所有操作。那麼OK,現在你已經可以通過通路:http://localhost/awstats/awstats.pl?config=www.test.com ,效果如下圖:
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauQTMwMmenp0VDVTQQFUQmZGTPNFRfRWMYFDTvl2S39CXCFzLcNzNvwlMw00LcJDMzZWe39CXt92Yu8GdjFTNuMzcvw1LcpDc0RHaiojIsJye.jpg)
cron更新資料庫
由于要得到新的統計資訊,就必須更新資料庫,也就是說重新做讀取日志。分析日志提取裡面新增的部分進行分析,将更新的資料存入資料庫的過程。最好就讓它定時執行。
最後需要說明的是,在文中已經多次提到過,要能反應最新資訊就必須更新資料庫。也就是說你可能已經對它進行了多次通路,但是檢視統計頁面發現沒變化。這是因為這些日志還沒有更新到資料庫.簡單的方法就是定時執行。
假設我有兩個站點:
www.test.com
mail.test.com
配置多站點監控(也就是配置 多個awstats 配置檔案即可。分析多個域名的日志,就是把 awstats_configure.pl 多操作幾次)
注,配置 mail.test.com的 配置檔案,其實步驟和上面www.test.com一樣,隻是在域名的地方做更改即可。下面我們就再來示範一下,
好了,下面步驟和上面www.test.com配置步驟一樣,我這裡就不重複說明。
1、IP 位址國家、區域顯示問題
Awstats預設安裝之後是不具有識别通路者的國家和地區資訊的,是以需要安裝插件支援Awstats列出通路者的國家和地區,便于分析GeoIP免費的是國家/IP的資料表,GeoIPCityLite是地區的資料表。
(1).MaxMind目前免費提供了GeoIP 和GeoIPCityLite 資料包:可以定期每個月從以下位址下載下傳
2、中文亂碼問題
Awstats是一套非常好用的免費的日志分析軟體,他是用perl實作的,支援web log、ftp log和mail log;而且它還能自動根據你浏覽器的字元設定來選取語言(支援中文)。但是預設安裝的話有個問題,就是用來搜尋的關鍵字如果是中文的話顯示出來是亂碼的。 之是以搜尋的關鍵字句會變成亂碼的原因,主要是因為現在的搜尋引擎都是使用UTF8,而Awstats是使用decodeUTFkeys這個plugin來處理搜尋引擎的UTF8關鍵字,預設是沒有打開的,是以在顯示上會出現亂碼。要解決中文亂碼問題,方法也很簡單,
在配置檔案中把decodeutfkeys這個plugin打開就可以了。在配置檔案中找到:
#LoadPlugin="decodeutfkeys"
去掉前面的#就可以了。
這樣我們的中文顯示就完成了,但是打開LoadPlugin="decodeutfkeys"這個插件在一些機器上會報錯,下面我們來示範一下報錯的情況。
從上面的報錯可以看出這是缺少 Perl 的 URI:Escape子產品,下面我們解決一下這個問題:
AWStats是在Sourceforge上發展很快的一個基于Perl的WEB日志分析工具。相對于另外一個非常優秀的開放源代碼的日志分析工具Webalizer,AWStats的優勢在于:
1.界面友好:可以根據浏覽器直接調用相應語言界面(有簡體中文版)
2.基于Perl:并且很好的解決了跨平台問題,系統本身可以運作在GNU/Linux上或Windows上(安裝了ActivePerl後);分析的日志直接支援Apache格式 (combined)和IIS格式(需要修改)。Webalizer雖然也有Windows平台版,但目前已經缺乏 維護;AWStats完全可以實作用一套系統完成對自身站點不同WEB伺服器:GNU/Linux/Apache和Windows/IIS伺服器的統一統計。
3.效率比較高:AWStats輸出統計項目比Webalizer豐富了很多,速度仍可以達到Webalizer的1/3左右,對于一個日通路量 百萬級的站點,這個速度都是足夠的;
4.配置/定制友善:系統提供了足夠靈活但預設也很合理的配置規則,需要修改的預設配置不超過3,4項就可以開始運作,而且修改和擴充的插件還是 比較多的;
5.AWStats的設計者是面向精确的"Human visits"設計的,是以很多搜尋引擎的機器人通路都被過濾掉了,是以有可能比其他日志統計工具統計的數字要低,來自公司内部的通路也可以通過IP過濾 設定過濾掉。
6.提供了很多擴充的參數統計功能:使用ExtraXXXX系列配置生成針對具體應用的參數分析會對産品分析非常有用。
AWStats 是一個免費的強大而有個性的工具,帶來先進的網絡,流量,FTP或郵件伺服器統計圖. 本日志分析器作為CGI或從指令行在數個圖形網頁中顯示你日志中包含的所有可能資訊. 它利用一部分檔案資料就能經常很快地處理大量日志檔案, 它能分析日志檔案來自從各大伺服器工具 ,如 Apache日志檔案 s (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS (W3C的日志格式)及許多其他網站,Proxy(代理伺服器)、Wap、流量伺服器、郵件伺服器和一些 FTP伺服器。
看一看這個比較表在最著名統計工具 (AWStats, Analog, Webalizer,...)之間有何特點和不同的想法。AWStats 是一個在GNU通用公共許可證下發行的免費軟體. 你可以看看這個許可證圖表而知道你可以/不可以做。由于AWStats工程來自網上資訊,但也作為CGI、 它可以與允許進入Perl、CGI與日志的大型網站主辦提供商一起工作。
http://www.cnblogs.com/fnng/archive/2012/08/31/2666175.html
http://freeloda.blog.51cto.com/2033581/1346412
http://blog.fity.cn/post/389/
http://zzxtbl.blog.51cto.com/7620672/1650825
1、安裝環境
windows Server 2008 R2
apache 2.2
awstats版本為7.3
Windows系統下配置 apache 日志切割方法:
A、使用 cronolog 日志輪轉工具
從 http://cronolog.org/download/ 可以下載下傳 cronolog程式, 把下載下傳的 cronolog程式放到 apache 的bin 目錄下(詳細參數參加: http://cronolog.org/usage.html)
B、使用 rotatelogs 程式
rotatelogs 是 apache 自帶的管道日志程式,參數如下(參考:http://lamp.linux.gov.cn/Apache/ApacheMenu/programs/rotatelogs.html )
二、安裝備忘
1、注意:由于awstats依賴于perl,是以提前安裝perl環境
下載下傳perl: http://www.activestate.com/activeperl/downloads
或者直接在百度搜尋下載下傳: activeperl
根據自己的環境選擇不同的安裝包,通常下載下傳 ActivePerl_5.x.msi 可執行程式,然後安裝
2、配置 apache 支援 perl (CGI)
3、解壓AWStats
下載下傳AWStats(國内環境的話,需要自帶工具)
http://sourceforge.net/projects/awstats
自行選擇需要解壓的路徑
4、設定配置檔案
定位到awstats-7.3\tools下,執行 awstats_configure 檔案,這個檔案的主要功能就是設定WEB容器的路徑,log路徑等。
配置完後,APACHE的 httpd.conf 下會生成類似一下的内容
同時在awstats-7.3\wwwroot\cgi-bin檔案夾下會生成一個 awstats.domain.com.conf 檔案
4、修改配置檔案
5、生成資料
6、修改awstats檔案
7、浏覽器打開
在浏覽器中輸入類似的位址 http://localhsot/awstats/awstats.pl?config=domain.com,正常情況下即可看到結果
進階配置
1、增加一個顯示來訪IP歸屬地的功能
執行如下指令
ppm install Geo::IP::PurePerl
ppm install Geography::Countries
ppm install IP::Country
ppm install Geo-IPfree
ppm install Net-Xwhois
安裝GeoIP
http://dev.maxmind.com/geoip/legacy/geolite/
修改awstats.domain.com.conf檔案,找到如下内容
# 開啟 GeoIP 反查子產品
LoadPlugin="geoip GEOIP_STANDARD D:/awstats/awstats-x.x/wwwroot/cgi-bin/ipdata/GeoIP.dat"
# 開啟 IP 反查的外挂
LoadPlugin="geoipfree"
# 開啟 decodeutfkeys 外挂,解決”用以搜尋的關鍵詞”亂碼
LoadPlugin="decodeutfkeys"
更新配置檔案
perl.exe awstats.pl -config=domain.com -update
2、定期更新
通過win的計劃任務搞定
3、加一個需要使用者名才可以通路的功能
由于要求在内網通路,是以沒有涉及
參考閱讀:
http://luestudy.blog.51cto.com/8480481/1395362
http://blog.chinaunix.net/uid-7354272-id-2643593.html
怎樣在windows下安裝Perl
http://jingyan.baidu.com/article/380abd0aa6c7371d90192c1b.html
awstats 分析 nginx 日志
1、安裝nginx 以及 awstats 的過程就不講解了, 可以參考上面的内容。
2、本文主要介紹通過讓 awstats 對日志統計的結果生成靜态頁面,然後通過 Nginx 輸出以達到統計 Nginx 通路日志的效果,其中還包括如何讓 Nginx 自動切割日志檔案。對于nginx的日志,我的做法是按天切割。
跟 Apache HTTP Server(以下稱 Apache)不同的是,Apache 可以将日志輸出通過管道的方式進行重新定向,依此來進行自動的日志切割。Nginx 在現今版本上還沒能跟 Apache 一樣,通過%YY等參數按日期分批建立日志,但是通過給 nginx 程序發送一個特定的信号,可以使 nginx 重新生成日志檔案。我們可以定期執行一個 Shell 腳本來切換日志,重新命名或轉移,具體的腳本如下:
将以上腳本内容儲存為檔案名為 logcron.sh 存到自定的目錄中,例如 /opt/nginx/sbin/logcron.sh
使用 Crontab 讓該腳本程式在每天晚上 11 點 59 分自動執行,即可做到按天建立日志。
需要注意的是,nginx的日志應該遵循以下格式,才可以被awstats識别,如定義日志格式
執行 tools 目錄中的 awstats_configure.pl 配置向導,建立一個新的統計。
以上步驟預設會産生配置檔案 ==>> /etc/awstats/awstats.slog.fity.cn.conf
awstats 配置檔案的命名規則:awstats.website.conf
修改配置檔案
用浏覽器檢視到統計的詳細結果 http://youhostname/awstats/awstats.www.slog.fity.cn.html
至此,使用 awstats 已能完全支援 Nginx 的日志統計。
認證通路
一般站長都不願随便讓人知道自己站的真實流量,是以要把 Awstats 統計結果頁面進行密碼保護。Nginx 使用的是跟 Apache 一樣的密碼加密格式,這裡需要用到 apache 自帶的工具 htpasswd。
如果你在本機上預設裝有 Apache,這你就隻需在它的程式目錄下運作
如果你想給你的awstats加上通路密碼,可以見這裡:nginx為目錄或網站加上密碼認證
問題彙總
當再次輸入網址時,在頁面上隻出現了一行字:
Content-type: text/html; charset=gb2312 Cache-Control: public Last-Modified: Sat Feb 11 13:14:37 2016 Expires: Sat Feb 11 13:14:37 2016
如果出現,是因為浏覽器不支援frame(似乎是伺服器端問題),請在頁面上右鍵選擇檢視源檔案,有這樣一行字:Your browser does not support frames.You must set AWStats UseFramesWhenCGI parameter to 0 to see your reports.
好,現在去修改awstats.conf 配置檔案,把UseFramesWhenCGI參數設成0。
http://www.ibm.com/developerworks/cn/linux/l-cn-awstats-nginx/
http://blog.sina.com.cn/s/blog_8db76d6d0101342m.html
http://lodar.net/methods-of-apache-web-log-daily-rotation/
http://www.linuxde.net/2013/06/14027.html
http://www.cnblogs.com/cocowool/archive/2010/09/07/1820626.html
http://www.cnblogs.com/cocowool/archive/2010/09/10/1823504.html