Apache 伺服器Log分析應用執行個體

來源:互聯網
上載者:User
apache|伺服器|應用執行個體 Apache 伺服器Log分析應用執行個體

rhinux 發表於: 2004-11-28 22:11



互連網的飛速發展,無論是傳統企業的網站,還是互連網企業,為了瞭解自己的客戶來源,點擊率等資料,對網站日誌的分析尤為重要,以下就本人所做的日誌分析系統與大家分享,希望能對大家有所協助。





歡迎大家複製,但請大家保留本文的完整,謝謝!!








一,所用軟體及工具


1,Apache伺服器 官方網址:http://www.apache.org


2,awstats 日誌分析軟體 官方網址:http://awstats.sourceforge.net/


3,cronolog 日誌截取軟體 官方網址:http://www.cronolog.org


二,環境構架


1,RedHat AS 3


2,Apache


./configure –prefix=/usr/local/apache2/ --enable-so


make


make install


3, awstats


直接tar到 /usr/local/awstats


4,cronolog


./configure –prefix=/usr/local/cronolog


make


make install


三, 配置


1, apache


a,讓apache中的某個虛擬機器主機產生日誌:





全域環境變數設定:


代碼:
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined


SetEnvIf Request_URI \.gif$ gif-image


SetEnvIf Request_URI \.GIF$ gif-image


SetEnvIf Request_URI \.jpg$ gif-image


SetEnvIf Request_URI \.JPG$ gif-image


SetEnvIf Request_URI \.png$ gif-image


SetEnvIf Request_URI \.swf$ gif-image


SetEnvIf Request_URI \.SWF$ gif-image


SetEnvIf Request_URI \.css$ gif-image


SetEnvIf Request_URI \.CSS$ gif-image


SetEnvIf Request_URI \.js$ gif-image


SetEnvIf Request_URI \.JS$ gif-image


SetEnvIf Request_URI \.ico$ gif-image






產生日誌但不包括 圖片。


虛擬機器主機日誌設定


代碼:
<VirtualHost 12.34.56.78:80>


ServerAdmin webmaster@abc.net


DocumentRoot /db/htdocs/www


ServerName www.abc.net


CustomLog "|/usr/local/cronolog/sbin/cronolog /db/logs/www.%Y-%m-%d.log" combined env=!gif-image


#用cronolog截取存放在/db/logs/下的按日期產生的apache記錄檔


</VirtualHost>



註:記錄檔是針對每一個虛擬機器主機產生的所以可以配置一台伺服器上多個虛擬機器主機的日誌分析


b,別名設定


代碼:



#


# Directives to allow use of AWStats as a CGI


#


Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/"


Alias /awstatscss "/usr/local/awstats/wwwroot/css/"


Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/"


ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/"





#


# This is to permit URL access to scripts/files in AWStats directory.


#


<Directory "/usr/local/awstats/wwwroot">


Options None


AllowOverride None


Order allow,deny


Allow from all


</Directory>






該配置在運行awstats/tools/awstats_configure.pl 後會自動產生所以不用手動添加。


c,awstats需要cgi的支援如果沒有添加cgi可以現在添加


代碼:



./apxs -c -i /usr/local/src/httpd-2.0.50/modules/generators/mod_cgi.c






再在httpd.conf 中添加


代碼:



LoadModule cgi_module modules/mod_cgi.so






d為了保護日誌統計資訊需要對某些目錄進行認證設定,需要認證模組的支援


代碼:



./apxs -c -i /usr/local/src/httpd-2.0.50/..../mod_auth.c






再在httpd.conf 中添加


代碼:



LoadModule auth_module modules/mod_auth.so






配置需要認證的目錄:


代碼:



<Directory "/db/htdocs/www/awstat/">


AuthType Basic


AuthName "Restricted Files"


AuthUserFile /usr/local/apache2/passwd/passwords


Require user loguser


</Directory>






其中在 /usr/local/apache2/passwd/下產生passwords 的密碼檔案


運行如下代碼產生使用者名稱為loguser使用者及其密碼


代碼:



/usr/local/apache2/bin/htpasswd -c /usr/local/apache2/passwd/passwords loguser



注意:先要在 /usr/local/apache2/下建passwd目錄


2,Awstats


運行 /usr/local/awstats/tools/awstats_configure.pl


主要設定的是需要輸入做統計的主機名稱的設定檔名如:www.abc.net


接著修改 剛才配置是產生的awstats設定檔 預設位置在:


/etc/awstats/awstats.www.abc.net.con 主要做指定log位置


代碼:



LogFile="/db/logs/www.%YYYY-4-%MM-2-%DD-2.log"






建立目錄:mkdir /var/lib/awstats/


執行:


代碼:



/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.net






更新,update 後可以在瀏覽器中輸入 http://www.abc.net/awstats/awstats.pl 進行訪問了。








3,cronolog (基本不用什麼修改)


4,crontab的修改


在 crontab中添加如下 命令保證15分鐘更新一次,也可以根據你自己的需要修改更新的間隔


代碼:



*/15 * * * * /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.abc.net






四,安全性考慮


1, 以上的設定由於要cgi支援,也增加了安全隱患可以用awstats 內建的awstats_buildstaticpages.pl來 產生靜態頁面 可以添加到crontab中


代碼:



*/15 * * * * /usr/local/awstats/tools/awstats_buildstaticpages.pl -update -config=www.abc.net -lang=cn -dir=/db/htdocs/www/awstat/ -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl






這樣沒15分鐘在/db/htdocs/www/awstat/ 下產生各種靜態頁面





2,保護/db/htdocs/www/awstat/禁止未授權使用者訪問





在httpd.conf中添加


代碼:



<Directory "/db/htdocs/www/awstat/">


AuthType Basic


AuthName "Restricted Files"


AuthUserFile /usr/local/apache2/passwd/passwords


Require user loguser


</Directory>






如果www.abc.net 虛擬機器主機 主目錄為/db/htdocs/www/ 則在瀏覽器中輸入http://www.abc.net/awstat/awstats.www.abc.net.html 就可以通過認真訪問靜態頁面


3,如果用靜態頁面就不要忘了注釋掉


LoadModule cgi_module modules/mod_cgi.so








五,獻給我最愛的飛飛。





六,由於本人是初學者,本文略顯粗糙,如有任何指點和問題歡迎和我聯絡,大家相互交流提高 :hoash2003@hotmail.com



歡迎大家複製,但請大家保留本文的完整,謝謝!!


相關文章

Alibaba Cloud 10 Year Anniversary

With You, We are Shaping a Digital World, 2009-2019

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。