官方網站: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.php
Awstats 是一個免費的日誌分析工具,用perl開發。能夠用於分析各類linux下的應用程序產生的日誌,包括 apache/squid/samba/resin/tomcat 等等。在這裏,咱們主要用它來分析apache日誌。css
統計包括訪問,訪問者,頁面,點擊,高峯時間,操做系統,瀏覽器,搜索引擎,關鍵字,機器人訪問,端開的連接和更多的阻力截圖排序。html
Awstats是一個很是簡潔並且強大的統計工具。它能夠統計您站點的以下信息:mysql
一:訪問量,訪問次數,頁面瀏覽量,點擊數,數據流量等精確到每個月、每日、每小時的數據
二:訪問者國家、訪問者IP、操做系統、瀏覽器等
三:Robots/Spiders的統計
四:紡客持續時間
五:對不一樣Files type 的統計信息
六:Pages-URL的統計
七:其它信息(搜索關鍵字等等) linux
訪問次數、獨特訪客人數,nginx
訪問時間和上次訪問,web
使用者認證、最近認證的訪問,sql
每週的高峯時間(頁數,點擊率,每小時和一週的千字節),數據庫
域名/國家的主機訪客(頁數,點擊率,字節,269域名/國家檢測, geoip 檢測),apache
主機名單,最近訪問和未解析的 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)
一、安裝 perl
awstats 是由 perl 語言編寫的,無論是在Windows仍是Linux下,都須要安裝perl。因此要首先準備好 perl 環境,一般linux系統都是自帶了perl的。
二、下載 awstats 工具(Last stable version is 7.4),並解壓至常規目錄 /usr/local
三、安裝 awstats
因爲 wget 下來的包文件的權限是非 root用戶的,因此須要修改權限,不然稍後 *.pl 沒法運行。
Awstats 會自動檢測httpd.conf 配置文件,並在其配置文件末尾添加以下語句:
awstat 目錄:
安裝目錄: /usr/local/awstats
配置文件: /etc/awstats
數據文件: /var/lib/awstats
三、查看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。
一、更新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 ,效果以下圖:
cron更新數據庫
因爲要獲得新的統計信息,就必須更新數據庫,也就是說從新作讀取日誌。分析日誌提取裏面新增的部分進行分析,將更新的數據存入數據庫的過程。最好就讓它定時執行。
最後須要說明的是,在文中已經屢次提到過,要能反應最新信息就必須更新數據庫。也就是說你可能已經對它進行了屢次訪問,可是查看統計頁面發現沒變化。這是由於這些日誌尚未更新到數據庫.簡單的方法就是定時執行。
假設我有兩個站點:
mail.test.com
配置多站點監控(也就是配置 多個awstats 配置文件便可。分析多個域名的日誌,就是把 awstats_configure.pl 多操做幾回)
注,配置 mail.test.com的 配置文件,其實步驟和上面www.test.com同樣,只是在域名的地方作更改便可。下面咱們就再來演示一下,
好了,下面步驟和上面www.test.com配置步驟同樣,我這裏就不重複說明。
一、IP 地址國家、區域顯示問題
Awstats默認安裝以後是不具備識別訪問者的國家和地區信息的,因此須要安裝插件支持Awstats列出訪問者的國家和地區,便於分析GeoIP免費的是國家/IP的數據表,GeoIPCityLite是地區的數據表。
(1).MaxMind目前免費提供了GeoIP 和GeoIPCityLite 數據包:能夠按期每月從如下地址下載
二、中文亂碼問題
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://zzxtbl.blog.51cto.com/7620672/1650825
一、安裝環境
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 )
2、安裝備忘
一、注意:因爲awstats依賴於perl,因此提早安裝perl環境
下載perl: http://www.activestate.com/activeperl/downloads
或者直接在百度搜索下載: activeperl
根據本身的環境選擇不一樣的安裝包,一般下載 ActivePerl_5.x.msi 可執行程序,而後安裝
二、配置 apache 支持 perl (CGI)
三、解壓AWStats
下載AWStats(國內環境的話,須要自帶工具)
http://sourceforge.net/projects/awstats
自行選擇須要解壓的路徑
四、設置配置文件
定位到awstats-7.3\tools下,執行 awstats_configure 文件,這個文件的主要功能就是設置WEB容器的路徑,log路徑等。
配置完後,APACHE的 httpd.conf 下會生成相似一下的內容
同時在awstats-7.3\wwwroot\cgi-bin文件夾下會生成一個 awstats.domain.com.conf 文件
四、修改配置文件
五、生成數據
六、修改awstats文件
七、瀏覽器打開
在瀏覽器中輸入相似的地址 http://localhsot/awstats/awstats.pl?config=domain.com,正常狀況下便可看到結果
高級配置
一、增長一個顯示來訪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
二、按期更新
經過win的計劃任務搞定
三、加一個須要用戶名才能夠訪問的功能
因爲要求在內網訪問,因此沒有涉及
參考閱讀:
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 日誌
一、安裝nginx 以及 awstats 的過程就不講解了, 能夠參考上面的內容。
二、本文主要介紹經過讓 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,這你就只需在它的程序目錄下運行
# /usr/bin/htpasswd -c /usr/local/nginx/passwd admin #用戶名爲admin New password: 輸入密碼 Re-type new password: 重複輸入 Adding password for user admin 建立成功 修改 nginx.conf 在 location 中加入(加粗部分): server { listen 80; server_name localhost; location ~ ^/awstats/ { # awstats 靜態頁面目錄 root /usr/local/nginx/html; # 靠, 不是 /usr/local/nginx/html/awstats 坑了很久 autoindex on; #能夠目錄瀏覽你的多個域名的目錄用於分析 index index.html; access_log off; error_log off; auth_basic "secret"; #虛擬主機認證命名 auth_basic_user_file /usr/local/nginx/passwd.db; #虛擬主機用戶名密碼認證數據庫 } location ~ ^/icon/ { # 圖標目錄 root /usr/local/awstats/wwwroot; index index.html; access_log off; error_log off; } } 而後,從新啓動一下 nginx
若是你想給你的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