AWStats,強大的日誌分析工具

火星人 @ 2014-03-04 , reply:0


AWStats,強大的日誌分析工具

AWStats,強大的日誌分析工具,本文原址
http://www.syitren.com/bbs/thread-902-1-1.html

AWStats 是一個免費的強大而有個性的工具,帶來先進的網路,流量,FTP或郵件伺服器統計圖. 本日誌分析器作為CGI或從命令行在數個圖形網頁中顯示你日誌中包含的所有可能信息. 它利用一部分檔案資料就能經常很快地處理大量日誌檔案, 它能分析日誌文件來自從各大伺服器工具 ,如 Apache日誌檔案 s (NCSA combined/XLF/ELF log format or common/CLF log format), WebStar, IIS (W3C的日誌格式)及許多其他網站,Proxy(代理伺服器)、Wap、流量伺服器、郵件伺服器和一些 FTP伺服器.

首先安裝LAMP環境,這裡不做介紹,請參考這篇文章!
http://www.syitren.com/bbs/thread-737-1-1.html


1、安裝cronolog,日誌截取工具
下載地址:http://cronolog.org/
# tar -zxvf cronolog-1.6.2.tar.gz
# cd cronolog-1.6.2
# ./configure
# make
# make install

2、安裝awstats
下載地址:http://awstats.sourceforge.net/#DOWNLOAD
# tar -zxvf awstats-6.8.tar.gz
# mv awstats-6.8 /usr/local/awstats
# cd /usr/local/awstats/
# ls -l
docs是一些html格式到文檔,裡面有安裝和使用到方法;
README.TXT是軟體到介紹和權利申明等;
tools文件夾裡面是一些腳本和配置文件,比如批量update的腳本、轉換靜態html文件的腳本、httpd.conf的配置
文件等;
wwwroot文件夾裡面的東西才是最重要的,下面詳細介紹:
wwwroot裡面又有4個文件夾:awstats、css、js、icon、和classes。
從我的使用情況上看,有用的只有awstats和icon 文件夾。如果你是自己的伺服器,自己能控制apache的服務的
配置文件,那麼你可以使用tools/awstats_configure.pl腳本來進行安裝。你只需要指出httpd.conf的位置即可
# perl tools/awstats_configure.pl
-----> Running OS detected: Linux, BSD or Unix
-----> Check for web server install
  Found Web server Apache config file '/usr/local/apache/conf/httpd.conf'
-----> Check and complete web server config file '/usr/local/apache/conf/httpd.conf'
Warning: You Apache config file contains directives to write 'common' log files
This means that some features can't work (os, browsers and keywords detection).
Do you want me to setup Apache to write 'combined' log files ?   輸入y
  Add 'Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"'
  Add 'Alias /awstatscss "/usr/local/awstats/wwwroot/css/"'
  Add 'Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"'
  Add 'ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"'
  Add '<Directory>' directive
  AWStats directives added to Apache config file.
-----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf'
  File awstats.model.conf updated.
-----> Need to create a new config file ?
Do you want me to build a new AWStats config/profile
file (required if first install) ? 輸入y
-----> Define config file name to create
What is the name of your web site or profile analysis ?
Example: www.mysite.com
Example: demo
Your web site, virtual server or profile name:
> 輸入你的域名
然後就一直回車就行了

3、截取apache日誌
例:cronolog命令在/usr/sbin/cronolog下,日誌文件在/usr/local/apache/logs/下
把CustomLog "logs/access_log" combined
修改為
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/access_log.%Y%m%d" combined
ErrorLog "|usr/local/apache/logs/error_log.%Y%m%d"
如果有虛擬主機,虛擬主機也要配置,例如:
<virtualHost *:80>
ServerName www.domain.com
CustomLog "|/usr/local/sbin/cronolog /usr/local/apache/logs/access_log.%Y%m%d" combined
ErrorLog "|usr/local/apache/logs/error_log.%Y%m%d"
</VirtualHost>
重啟apache
# /usr/local/apache/bin/apachectl restart
創建/var/lib/awstats目錄用來存放分析結果,並將所有權給apache用戶(apache用戶需要有寫許可權)
# mkdir /var/lib/awstats
# chmod a+w /var/lib/awstats
修改配置文件
# vi /etc/awstats/awstats.你的域名.conf
把LogFile="/var/log/httpd/mylog.log"
修改為
LogFile="/usr/local/apache/logs/access_log.%YYYY%MM%DD"
%YYYY-24 表示24小時之前的年份,%MM-24表示24小時之前的月份,%DD-24表示24小時之前的天,合起來%YYYY-
24%MM-24%DD-24就表示24小時前的年月日。為什麼要減去一個24呢,這是因為我們在使用awstats分析apache日誌
的時候,必須分析已經生成的日誌。而我們又常常使用cron來自動update,舉個例子,當我們於 2007年5月1日凌
晨1點分析我們網站的apahce日誌的時候,我們是要分析前一天也就是2007年4月30日的日誌,而不是cron運行的
當天5月 1日的日誌,這樣,減去一個數字,才能夠正確得到我們想要分析的apche的日誌的文件名。當然,你也可
以不用24這個數字,可以根據自己的實際情況來調整.
AllowToUpdateStatsFromBrowser=1
主頁上有手動「立即更新」按鈕,默認為0,不出現
4、安裝國家和城市插件
分別下載插件程序:
GeoIP:http://www.maxmind.com/download/geoip/api/c/
http://www.maxmind.com/download/geoip/api/perl/
GeoIP安裝:
先下載C庫:GeoIP C解包后
# tar -zxvf GeoIP-1.4.5.tar.gz
# cd GeoIP-1.4.5
# ./configure
# make
# make install
然後下載Perl庫:GeoIP Perl解包后
# tar -zxvf Geo-IP-1.36.tar.gz
# cd Geo-IP-1.36
# perl MakeFile.PL
# make
# make install

再下載GeoIP/GeoIPCityLite兩個信息數據包:
http://www.maxmind.com/download/geoip/database/
http://geolite.maxmind.com/downl ... ase/GeoLiteCountry/
# gzip -d GeoLiteCity.dat.gz
# cp GeoLiteCity.dat /etc/awstats/
# gzip -d GeoIP.gz
# cp GeoIP /etc/awstats/
#vi /etc/awstats/awstats.你的域名.conf
修改其中的一些配置選項為:
LoadPlugin="decodeutfkeys"  
LoadPlugin="geoip GEOIP_STANDARD /etc/awstats/GeoIP"     
LoadPlugin="geoip_city_maxmind GEOIP_STANDARD /etc/awstats/GeoLiteCity.dat"
如果出現無法調用.so文件或者其他共享文件錯誤
編輯/etc/ld.so.conf,在其中加入一行
/usr/local/lib
之後再執行
/sbin/ldconfig /etc/ld.so.conf
《解決方案》

AWStats,強大的日誌分析工具
AWStats,強大的日誌分析工具,本文原址
http://www.syitren.com/bbs/thread-902-1-1.html

5、啟動awstats
手動生成日誌分析文件
#/usr/local/awstats/tools/awstats_updateall.pl now
自動生成日誌分析文件
在crond加入
#crontab -e
添加:
*/5 * * * * root /usr/local/awstats/tools/awstats_updateall.pl now
(每5分鐘更新日誌分析文件)

通過web查看日誌
http://你的域名/awstats/awstats.pl?config=你的域名

6、為日誌設置密碼
<Files "awstats.pl">
    AuthType Basic
    AuthName "awstat access"
    AuthUserFile "/etc/awstats/htpasswd"
    Require valid-user
</Files>
注意:Basic方式密碼是用過明文傳輸,如果想通過加密的方式傳輸密碼,請用Digest方式。
# /usr/local/apache/bin/htpasswd -c /etc/awstats/htpasswd admin
連續兩次輸入密碼,
這樣就生成了用戶名和密碼,下次在訪問的時候就需要輸入密碼了。
注意:如果增加一個用戶不要加-c參數
7、安裝qqhostinfo插件
awstats是可以增加插件的。愛.EASY.RELOADED做的這個qqhostinfo插件,可以在訪問主機表格中增加一列,顯示ip對應的位置。當然這個資料來源於著名的QQWry.Dat文件。
插件代碼:下載並複製到 awstats/plugins/目錄下:
http://www.ieasy.org/download/qqhostinfo.pm
http://www.ieasy.org/download/qqwry.pl
本地下載此文件包
(1)首先下載插件(qqhostinfo.pm)。把它放在awstats/wwwroot/cgi-bin/plugins中。
(2)下載分析QQWry.dat的perl腳本(qqwry.pl)。放在同一目錄。
# vi qqhostinfo.pm
只修改這個地方就能夠了:
require "/opt/apache/cgi-bin/awstats/plugins/qqwry.pl"; "該目錄根據自己情況修改"
# vi qqwry.pl
my $ipfile="/opt/apache/cgi-bin/awstats/QQWry.Dat"; "QQWry.Dat 根據自己情況指定"
(3)去網上下載QQWry.Dat放在同一目錄中(http://www.cz88.net/fox/),注意文件名一定要是QQWry.Dat
(4)編輯你得awstats配置文件,大概o"的後面增加一行
LoadPlugin="qqhostinfo"
8、安裝hostinfo插件
將LoadPlugin="hostinfo" 之前的註釋去掉,保存退出。
再次運行Awstats 報錯,提示在已有路徑中找不到Net::XWhois 模塊,
沒有找到包含這個模塊的程序包,可以到這個網站查找模塊http://search.cpan.org
perl-Net-XWhois
# tar -zxvf Net-XWhois-0.90.tar.gz
# cd Net-XWhois-0.90
# perl Makefile.PL
# make
# make install
通過這個插件得到的查詢結果,與使用以下命令得到的內容相同:
# whois 202.108.130.138
9、打開標題提示:
# vi /etc/awstats/awstats.你的域名.conf
LoadPlugin="tooltips"
《解決方案》

回復 #1 linjingmin 的帖子

這個還是很有用途的工具
長期分析日誌也是進一步進行優化的基礎




[火星人 via ] AWStats,強大的日誌分析工具已經有376次圍觀

http://www.coctec.com/docs/service/show-post-23171.html