自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

日志分析工具Awstats實戰(zhàn)之Apache篇:多站點日志分析

運維 系統(tǒng)運維
帶大家了解如何去部署nginx下的awstats日志分析工具后,現(xiàn)在終于輪到apache。作為老牌的網(wǎng)頁服務(wù)器,awstats對apache的支持非常完美,所以整個配置過程也是十分簡單。本文拓展了一下部署相關(guān)知識,實現(xiàn)了對多站點的日志分析功能,希望能給大家?guī)韼椭?/div>

前面兩篇(日志分析工具Awstats實戰(zhàn)之Nginx篇:分析結(jié)果靜態(tài)化、日志分析工具Awstats實戰(zhàn)之Nginx篇:分析結(jié)果動態(tài)化)都在講述如何去部署nginx下的awstats日志分析工具,現(xiàn)在終于輪到apache。作為老牌的網(wǎng)頁服務(wù)器,awstats對apache的支持非常完美,所以整個配置過程也是十分簡單。因此,在這里我就拓展了一下部署,實現(xiàn)了對多站點的日志分析功能。

注意:自本篇博文發(fā)表之日,apache-2.4.x還是無法支持部署awstats日志分析結(jié)果訪問動態(tài)化,不過可以用前篇日志分析工具Awstats實戰(zhàn)之Nginx篇-分析結(jié)果靜態(tài)化中講到的方法來實施部署awstats。因此,本篇博文將用apache2.2.25版本來為大家講解如何部署awstats日志分析結(jié)果動態(tài)化及多站點。

環(huán)境:

  1. CentOS 6.4 x86_64 
  2. ip:192.168.1.113 
  3. 站點1:域名www.sunsky.com(server和client都通過hosts文件解析) 
  4. 站點2:域名www.skysun.com(server和client都通過hosts文件解析) 
  5. apache-2.2.25 編譯安裝,路徑/usr/local/apache,服務(wù)開啟狀態(tài) 
  6. 日志記錄格式為apache默認(rèn)的combined格式,切勿更改,否則會造成awstats無法分析日志。 
  7. LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined 
  8. apr-1.4.8  apr-util-1.5.2 
  9. awstats-7.2.tar.gz 

一、日志自動切割

由于apache自帶的日志輪詢工具rotatelogs,據(jù)專家說在進(jìn)行日志切割時容易丟日志,所以這里我們就用cronolog來做日志切割。

1、下載并安裝cronolog

  1. cd /server/tools/ 
  2. wget http://cronolog.org/download/cronolog-1.6.2.tar.gz 
  3. tar zxf cronolog-1.6.2.tar.gz 
  4. cd cronolog-1.6.2 
  5. ./configure 
  6. make&&make install 

2、配置apache使用cronolog

由于實驗用的apache開啟了虛擬主機(jī)功能,所以以下配置都在虛擬主機(jī)中進(jìn)行,這樣也是為了方便對多站點的分析操作。

  1. vim /usr/local/apache/httpd/extra/httpd-vhosts.conf 

將配置文件中的CustomLog和ErrorLog替換為下面的(由于我們要對多站點,所以這里要替換兩個虛擬主機(jī)的,并且將日志存放名字做有效的區(qū)分才好)

  1. www.sunsky.com 
  2. CustomLog "|/usr/local/sbin/cronolog /app/logs/sunsky_access_%Y%m%d.log" combined 
  3. ErrorLog "|/usr/local/sbin/cronolog /app/logs/sunsky_error_%Y%m%d.log" 
  4. www.skysun.com 
  5. CustomLog "|/usr/local/sbin/cronolog /app/logs/skysun_access_%Y%m%d.log" combined 
  6. ErrorLog "|/usr/local/sbin/cronolog /app/logs/skysun_error_%Y%m%d.log" 

注意:這里一定要注意對兩個網(wǎng)站的日志名稱配置。

二、Awstats的安裝與配置

1、部署awstats

首先我們要下載awstats軟件包,并將其放在常規(guī)目錄(/usr/local)下

  1. wget http://awstats.sourceforge.net/files/awstats-7.2.tar.gz  
  2. tar zxf awstats-7.2.tar.gz 
  3. mv awstats-7.2 /usr/local/awstats 

由于wget下載下來的包中權(quán)限是非root的,所以這里要修改權(quán)限,否則稍后*.pl將無法運行

  1. chown -R root.root /usr/local/awstats 
  2. chmod +x /usr/local/awstats/tools/*.pl 
  3. chmod +x /usr/local/awstats/wwwroot/cgi-bin/*.pl 

接下來我們要執(zhí)行awstats/tools下的awstats_configure.pl配置向?qū)?,用來生成awstats的配置文件,awstats配置文件的命名規(guī)則是awstats.website.conf

  1. cd /usr/local/awstats/tools/ 
  2. ./awstats_configure.pl 

此時會出現(xiàn)如下提示:

  1. ----- AWStats awstats_configure 1.0 (build 1.9) (c) Laurent Destailleur ----- 
  2. This tool will help you to configure AWStats to analyze statistics for 
  3. one web server. You can try to use it to let it do all that is possible 
  4. in AWStats setup, however following the step by step manual setup 
  5. documentation (docs/index.html) is often a better idea. Above all if: 
  6. - You are not an administrator user, 
  7. - You want to analyze downloaded log files without web server, 
  8. - You want to analyze mail or ftp log files instead of web log files, 
  9. - You need to analyze load balanced servers log files, 
  10. - You want to 'understand' all possible ways to use AWStats... 
  11. Read the AWStats documentation (docs/index.html). 
  12. -----> Running OS detected: Linux, BSD or Unix 
  13. -----> Check for web server install 
  14. Enter full config file path of your Web server. 
  15. Example: /etc/httpd/httpd.conf 
  16. Example: /usr/local/apache2/conf/httpd.conf 
  17. Example: c:\Program files\apache group\apache\conf\httpd.conf 
  18. Config file path ('none' to skip web server setup): 
  19. > /usr/local/apache/conf/httpd.conf #有可能是新版本的原因,這里會自動找到apache的配置文件,無需我們再自己填了,不過會問你一次,你回答y即可 
  20. Your web server config file(s) could not be found. 
  21. You will need to setup your web server manually to declare AWStats 
  22. script as a CGI, if you want to build reports dynamically. 
  23. See AWStats setup documentation (file docs/index.html) 
  24. -----> Update model config file '/usr/local/awstats/wwwroot/cgi-bin/awstats.model.conf' 
  25. File awstats.model.conf updated. 
  26. -----> Need to create a new config file ? 
  27. Do you want me to build a new AWStats config/profile 
  28. file (required if first install) [y/N] ? y         #詢問是否創(chuàng)建一個新的配置文件,這里填y 
  29. -----> Define config file name to create 
  30. What is the name of your web site or profile analysis ? 
  31. Example: www.mysite.com 
  32. Example: demo 
  33. Your web site, virtual server or profile name: 
  34. > www.sunsky.com      #這里讓填寫你的網(wǎng)站域名,虛擬主機(jī)名或者隨便一個配置名 
  35. -----> Define config file path 
  36. In which directory do you plan to store your config file(s) ? 
  37. Default: /etc/awstats 
  38. Directory path to store config file(s) (Enter for default): 
  39. >  #這里要填寫你配置文件存放路徑,我們使用它默認(rèn)的路徑/etc/awstats,所以直接回車即可 
  40. -----> Create config file '/etc/awstats/awstats.www.sunsky.com.conf' 
  41. Config file /etc/awstats/awstats.www.sunsky.com.conf created. 
  42. -----> Add update process inside a scheduler 
  43. Sorry, configure.pl does not support automatic add to cron yet. 
  44. You can do it manually by adding the following command to your cron: 
  45. /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.sunsky.com 
  46. Or if you have several config files and prefer having only one command: 
  47. /usr/local/awstats/tools/awstats_updateall.pl now 
  48. Press ENTER to continue...   #提示不能自動加入crontab定時任務(wù),需要稍后自己添加,我們按回車?yán)^續(xù)即可 
  49. A SIMPLE config file has been created: /etc/awstats/awstats.www.sunsky.com.conf 
  50. You should have a look inside to check and change manually main parameters. 
  51. You can then manually update your statistics for 'www.sunsky.com' with command: 
  52. > perl awstats.pl -update -config=www.sunsky.com 
  53. You can also build static report pages for 'www.sunsky.com' with command: 
  54. > perl awstats.pl -output=pagetype -config=www.sunsky.com 
  55. Press ENTER to finish... #提示配置文件創(chuàng)建完成和如何更新配置及建立靜態(tài)報告頁,這里我們回車即可結(jié)束這個配置向?qū)?nbsp;

結(jié)束這個向?qū)б院螅覀儗ww.sunsky.com站點的awstats配置文件已經(jīng)配置好了,下面配置www.skysun.com的配置文件,步驟和上面一樣,只是在域名的地方做更改即可。

2、修改awstats配置文件

完成配置文件的創(chuàng)建之后,我們還需要對/etc/awstats/awstats.www.sunsky.com.conf里的一些參數(shù)進(jìn)行修改。

  1. sed -i 's#LogFile="/var/log/httpd/mylog.log"#LogFile="/app/logs/sunsky_access_%YYYY-24%MM-24%DD-24.log"#g' /etc/awstats/awstats.www.sunsky.com.conf 

這里更改的目的是指定awstats需要分析的nginx的日志文件路徑。這里的路徑大家要按自己的日志路徑來填。

  1. sed -i 's#DirData="/var/lib/awstats"#DirData="/usr/local/awstats/data"#g' /etc/awstats/awstats.www.sunsky.com.conf 

這里更改的目的是指定awstats的數(shù)據(jù)庫配置文件(即awstats的數(shù)據(jù)庫(純文本))。

以上的兩個替換操作進(jìn)行完之后一定要用命令查看替換是否成功,以便及早發(fā)現(xiàn)紕漏。

  1. grep "LogFile=" /etc/awstats/awstats.www.sunsky.com.conf 
  2. grep "DirData=" /etc/awstats/awstats.www.sunsky.com.conf 

查詢替換結(jié)果正確之后,即可進(jìn)行下面的步驟。

同樣,重復(fù)以上的2個sed步驟,來對www.skysun.com的awstats配置文件做操作,需要注意的是命令里面的日志路徑和對應(yīng)的awstats的數(shù)據(jù)庫配置文件不要搞錯即可。

由于,此處沒有/usr/local/awstats/data目錄,所以我們要創(chuàng)建出來

  1. mkdir /usr/local/awstats/data 

此時我們要對/usr/local/awstats目錄進(jìn)行屬主變更,變更為apache的daemon用戶,不然一會訪問就會報錯。這里也是和nginx的一個明顯區(qū)別所在。

  1. chown -R daemon /usr/local/awstats 

3、生成awstats統(tǒng)計信息數(shù)據(jù)庫

現(xiàn)在我們需要用awstats來生成對日志的統(tǒng)計分析信息出來了。由于我們用的是支持perl的FCGI動態(tài)化訪問頁面,所以此處我們只需要直接更新數(shù)據(jù)庫即可。FCGI程序會自動將數(shù)據(jù)庫以動態(tài)頁面的形式展現(xiàn)出來,無須再手動生成靜態(tài)頁面了。本處我們用腳本來完成。

  1. vim /server/scripts/awstats_up.sh 
  2. #!/bin/sh 
  3. /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.sunsky.com >/dev/null 2>&1 
  4. /usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=www.skysun.com >/dev/null 2>&1 

該腳本里面用下面的命令也是可以的。

  1. /usr/local/awstats/tools/awstats_updateall.pl now 

運行該腳本生成分析結(jié)果:

  1. /bin/sh /server/scripts/awstats_up.sh 

提示:由于我們這里用的apache使用cronolog日志輪詢工具使得文件出來都是帶時間格式的。因此你可能會想,為什么不改成對當(dāng)天的日志進(jìn)行操作。首先在這里我們可以實時的進(jìn)行日志分析數(shù)據(jù)庫更新來查看實時的日志,不過這里不建議大家這樣去做。

#p#

三、配置日志分析頁面的來訪ip的地址位置顯示

這里我們用國內(nèi)最準(zhǔn)確的ip數(shù)據(jù)庫——QQ純真庫(點擊下載),大家下載之后通過CRT用lrzsz工具傳上去,具體步驟這里不寫了。

附件里面有三個文件qqhostinfo.pm,qqwry.pl和QQWry.Dat,我們將這三個文件統(tǒng)統(tǒng)都放到/usr/local/awstats/wwwroot/cgi-bin/plugins中。

接下來,我們修改qqwry.pl文件,將./QQWry.Dat修改為${DIR}/plugins/QQWry

  1. vim /usr/local/awstats/wwwroot/cgi-bin/plugins/qqwry.pl 
  2. #my $ipfile="./QQWry.Dat"

修改為:

  1. my $ipfile="${DIR}/plugins/QQWry.Dat"

然后編輯awstats的配置文件/etc/awstats/awstats.www.sunsky.com.conf(根據(jù)你前面配置的站點信息生成的文件),將LoadPlugin="hostinfo"替換為LoadPlugin="qqhostinfo"即可。

  1. sed -i 's#\#LoadPlugin="hostinfo"#LoadPlugin="qqhostinfo"#g' /etc/awstats/awstats.www.sunsky.com.conf 
  2. sed -i 's#\#LoadPlugin="hostinfo"#LoadPlugin="qqhostinfo"#g' /etc/awstats/awstats.www.skysun.com.conf 

切記,在這些替換完之后一定要查看替換是否成功,以便及早發(fā)生紕漏。

  1. grep "LoadPlugin=\"qqhostinfo\"" /etc/awstats/awstats.www.sunsky.com.conf 

如果檢查無誤,那么我們的ip地址位置顯示就配置好了,在后面的日志分析中,我們就可以清楚的看到來訪ip的地理位置信息了。

四、配置apache

首先我們打開apache的主配置文件/usr/local/apache/conf/httpd.conf可以看到里面多出了以下幾行:

  1. # Directives to allow use of AWStats as a CGI 
  2. Alias /awstatsclasses "/usr/local/awstats/wwwroot/classes/" 
  3. Alias /awstatscss "/usr/local/awstats/wwwroot/css/" 
  4. Alias /awstatsicons "/usr/local/awstats/wwwroot/icon/" 
  5. ScriptAlias /awstats/ "/usr/local/awstats/wwwroot/cgi-bin/" 
  6. # This is to permit URL access to scripts/files in AWStats directory. 
  7. <Directory "/usr/local/awstats/wwwroot"> 
  8. Options None 
  9. AllowOverride None 
  10. Order allow,deny 
  11. Allow from all 
  12. </Directory> 

我們可以看到awstats已經(jīng)在apache的主配置文件配置好了需要的參數(shù),是不是很方便啊。此時我們還需要在配置虛擬目錄配置文件里面配置幾個參數(shù)來實現(xiàn)站點的統(tǒng)計信息安全。

  1. vim /usr/local/apache/httpd/extra/httpd-vhosts.conf 

添加以下兩行參數(shù)進(jìn)去:

  1. auth_basic "Restricted"; 
  2. auth_basic_user_file /usr/local/nginx/htpasswd.pass; 

添加之后的文件信息

  1. <VirtualHost *:80> 
  2. ServerAdmin webmaster@dummy-host.example.com 
  3. DocumentRoot "/www/sunsky" 
  4. ServerName dummy-host.example.com 
  5. ServerAlias www.sunsky.com 
  6. CustomLog "|/usr/local/sbin/cronolog /app/logs/sunsky_access_%Y%m%d.log" combined 
  7. ErrorLog "|/usr/local/sbin/cronolog /app/logs/sunsky_error_%Y%m%d.log" 
  8. auth_basic "Restricted"; 
  9. auth_basic_user_file /usr/local/apache/htpasswd.pass; 
  10. </VirtualHost> 
  11. <VirtualHost *:80> 
  12. ServerAdmin webmaster@dummy-host2.example.com 
  13. DocumentRoot "/www/skysun" 
  14. ServerName www.skysun.com 
  15. CustomLog "|/usr/local/sbin/cronolog /app/logs/skysun_access_%Y%m%d.log" combined 
  16. ErrorLog "|/usr/local/sbin/cronolog /app/logs/skysun_error_%Y%m%d.log" 
  17. auth_basic "Restricted"; 
  18. auth_basic_user_file /usr/local/apache/htpasswd.pass; 
  19. </VirtualHost> 

接下來我們用下面的命令來生成加密文件和加密的賬號及密碼:

  1. htpasswd -c -m /usr/local/nginx/htpasswd.pass admin      #用戶名為admin,回車之后輸入兩次密碼即完成創(chuàng)建 

如果,你順利的執(zhí)行了上面的所有操作,那么OK!現(xiàn)在你已經(jīng)可以通過訪問:

  1. http://www.sunsky.com/awstats/awstats.pl?config=www.sunsky.com 
  2. http://www.skysun.com/awstats/awstats.pl?config=www.skysun.com 

來查看你多個站點的日志分析信息了。

五、配置awstats自動運行

為了讓整個日志的統(tǒng)計過程可以實現(xiàn)自動化,我們將awstats.sh腳本加入crontab定時任務(wù)中去

  1. 0 1 * * * /bin/sh /server/scripts/awstats_up.sh >/dev/null 2>&1 

也許你會問為什么不把cronolog也加入開機(jī)啟動呢,因為cronolog已經(jīng)默認(rèn)被apache用來調(diào)用記錄日志,所以無需加入到crontab定時任務(wù)中。

至此,我們已經(jīng)通過在nginx和apache上部署awstats日志訪問分析工具來實現(xiàn)了對站點來訪信息的分析。整個系列的博文不多,只有三篇,不過還算是詳盡,把改涉及到的都涉及到了。中間有很多技術(shù)是連同的,比如在apche上進(jìn)行的多站點,在nginx上的靜態(tài)化訪問等,盡管我沒有再出,不過我們都可以將他們來回應(yīng)用實現(xiàn)部署需求。我也相信,只有融會貫通了,我們大家才能更好的部署好這一利器!

本文作者:sunsky,博客地址:http://sunsky.blog.51cto.com/

責(zé)任編輯:黃丹 來源: 博客
相關(guān)推薦

2013-10-31 11:08:15

2013-10-31 16:17:45

日志分析Awstats實戰(zhàn)Nginx

2015-07-31 10:57:01

安全日志windows安全日志安全日志分析

2017-09-14 10:45:47

PostgreSQL日志分析pgBadger

2020-03-09 08:00:08

ApacheWebserver日志

2014-02-12 10:28:50

Hadoop

2023-07-07 06:53:56

遠(yuǎn)程軟件日志向日葵

2019-04-22 15:40:33

2013-09-11 09:36:02

VMwareLog Insight

2011-11-21 15:35:49

日志分析

2015-08-03 15:48:22

Linux日志

2017-02-14 08:36:56

2022-04-26 07:41:24

網(wǎng)絡(luò)日志關(guān)聯(lián)

2020-08-04 10:07:47

Web日志安全分析工具漏洞

2010-09-14 10:46:59

2021-07-08 15:51:19

日志分析系統(tǒng)

2024-09-18 00:00:01

日志解析命令

2017-03-29 11:08:36

游戲日志分析

2009-11-19 11:23:08

Oracle重作日志

2020-08-31 07:00:00

Android安卓日志分析
點贊
收藏

51CTO技術(shù)棧公眾號