青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

xiaoguozi's Blog
Pay it forword - 我并不覺的自豪,我所嘗試的事情都失敗了······習慣原本生活的人不容易改變,就算現狀很糟,他們也很難改變,在過程中,他們還是放棄了······他們一放棄,大家就都是輸家······讓愛傳出去,很困難,也無法預料,人們需要更細心的觀察別人,要隨時注意才能保護別人,因為他們未必知道自己要什么·····
轉自: https://www.akii.org/use-awstats-automatic-analysis-nginx-log.html
使用awstats可以分析apache日志,同樣也可以分析nginx日志。本文將詳細介紹自動定時切割nginx的訪問日志,并使用awstats來定時分析nginx的日志的實現方法。

前言

本文中使用的是awstats 7.0版本。
此版本增加了對win7的支持以及一些更新的特性。

New features/improvements:
- Detect Windows 7.
- Can format numbers according to language.
- More mime types.
- Added geoip_asn_maxmind plugin.
- Geoip Maxmind city plugin have now override file capabilities to complete
missing entries in geoip maxmind database.
- Added graphgooglechartapi to use online Google chart api to build graph.
- Can show map of country to report countries when using graphgooglechartapi.
- Part of codes was change to use more functions and have a cleaner code.
- Added parameter to ignore missing log files when merging for a site on
multiple servers where a single server may not have created a log for a given day.
- Update robots database.
- Added Download tracking where certain mime types are defined as downloads
and HTTP status 206 is tracked as download continuation

Awstats 是在 SourceForge 上發展很快的一個基于 Perl 的 WEB 日志分析工具,一個充分的日志分析讓 Awstats 顯示您下列資料:

  • 訪問次數、獨特訪客人數,
  • 訪問時間和上次訪問,
  • 使用者認證、最近認證的訪問,
  • 每周的高峰時間(頁數,點擊率,每小時和一周的千字節),
  • 域名/國家的主機訪客(頁數,點擊率,字節,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 的支持是非常完美的,而當我們把 Web 服務器換成 Nginx 后,要運行 awstats 變得很麻煩。首先 Nginx 本身對 Perl 的支持是比較弱的,甚至官方也不建議使用;另外在日志格式上有需要修改后才能運行。

日志切割

本文主要介紹通過讓 awstats 對日志統計的結果生成靜態頁面,然后通過 Nginx 輸出以達到統計 Nginx 訪問日志的效果,其中還包括如何讓 Nginx 自動切割日志文件。對于nginx的日志,我的做法是按天切割。然后存入日期形式的目錄中并壓縮。

需要注意的是,nginx的日志應該遵循以下格式,才可以被awstats識別,如定義日志格式

1
2
3
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';

使用日志格式

1
access_log  /home/www/logs/access.log  main;

這里需要有一個小技巧的提示:把log_format這段代碼放在你nginx的http的定義段中,可以在下面的每一個server中引用此格式。不必在每個server里面都去定義格式。
本文不講如何安裝nginx,稍后我將發布我的lnmp一鍵安裝包(linux nginx mysql php)。全編譯+優化自動化安裝,使用php-fpm運行php的fastcgi進程。

我寫了一個定時切割日志的腳本。每天0:00開始執行,切割昨天的日志(交由awstats分析),壓縮前天的日志(壓縮日志可減小存儲空間,為防 止awstats沒有分析完就被壓縮,所以只壓縮前天的日志)。如果你的nginx和log文件放的路徑和我的不一樣,請對應修改。

1
vim cut_log.sh

輸入以下內容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#!/bin/bash
# This script run at 00:00
# cut yesterday log and gzip the day before yesterday log files.
# yesterday logs to awstats
 
# The Nginx logs path
logs_path="/home/www/logs/"
date_dir=${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/$(date -d "yesterday" +"%d")/
gzip_date_dir=${logs_path}$(date -d "-2 day" +"%Y")/$(date -d "-2 day" +"%m")/$(date -d "-2 day" +"%d")/
 
mkdir -p $date_dir
mv ${logs_path}*access.log $date_dir
/usr/local/nginx/sbin/nginx -s reopen
/usr/bin/gzip ${gzip_date_dir}*.log

然后讓它每天0時起開始進行,執行crontab -e加入以下代碼再按:wq保存退出,這里我將此腳本放在/root/下,切記要給它可執行權限(chmod +x cut_log.sh).

1
00 00 * * * /bin/bash /root/cut_log.sh

這樣就可以每天凌里自動切割昨天的日志到以日期為目錄結構的目錄中。可以留存以后查詢。留著昨天的日志交給下面的awstats來分析,壓縮前天的日志(前天的已經被分析過了)。

安裝和配置awstats

下載最新的 awstats,我使用的是迄今為止最新的7.0版本

安裝到/usr/local下,這個路徑是習慣。大部分人保持的良好習慣。

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

修改權限,wget下載下來的包中權限是非root的,賦予過權限之后,.pl的文件也就可以運行了。

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

然后執行 tools 目錄中的 awstats_configure.pl 配置向導,創建一個新的統計

運行(注意這里要在當前目錄運行。否則會有一些關于標準目錄的提示。)

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

將會有如下一些提示:

1
2
3
4
5
6
7
8
9
10
-----> Running OS detected: Linux, BSD or Unix
 
-----> Check for web server install
 
Enter full config file path of your Web server.
Example: /etc/httpd/httpd.conf
Example: /usr/local/apache2/conf/httpd.conf
Example: c:\Program files\apache group\apache\conf\httpd.conf
Config file path ('none' to skip web server setup):
>none #這里添none并回車,因為我們沒有使用apache

回車之后下一個選項

1
2
3
4
5
6
7
8
9
10
11
Your web server config file(s) could not be found.
You will need to setup your web server manually to declare AWStats
script as a CGI, if you want to build reports dynamically.
See AWStats setup documentation (file docs/index.html)
 
-----> 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/N] ?

#這里選Y,創建一個新的配置文件

1
2
3
4
5
6
-----> 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:
>akii.org  #這里輸入你要分析的域名,或是隨便一個你易記的配置名并回車

接下來要定義你的配置文件存放的路徑,可用默認

1
2
3
4
5
-----> Define config file path
In which directory do you plan to store your config file(s) ?
Default: /etc/awstats
Directory path to store config file(s) (Enter for default):
> #直接回車,使用默認路徑/etc/awstats

回車后的提示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
-----> Create config file '/etc/awstats/awstats.akii.org.conf'
 Config file /etc/awstats/awstats.akii.org.conf created.
 
-----> Add update process inside a scheduler
Sorry, configure.pl does not support automatic add to cron yet.
You can do it manually by adding the following command to your cron:
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=akii.org
Or if you have several config files and prefer having only one command:
/usr/local/awstats/tools/awstats_updateall.pl now
Press ENTER to continue... #按回車繼續
 
A SIMPLE config file has been created: /etc/awstats/awstats.akii.org.conf
You should have a look inside to check and change manually main parameters.
You can then manually update your statistics for 'yuyuanchun.com' with command:
> perl awstats.pl -update -config=akii.org
You can also build static report pages for 'akii.org' with command:
> perl awstats.pl -output=pagetype -config=akii.org
 
Press ENTER to finish... #回車完成配置文件的創建

完成配置文件的創建后,我們還要修改一下。因為我們是按天切割的日志,切割完成后交由awstats去分析。并不是讓awstats去分時正在時時 增長的也就是正在被寫入的日志,這樣的好處是不至于遺漏數據,并且分析已經切割完成的日志,更不用擔心會有沖突。壞處是我一天切割一次日志,你要等第二天 才能看昨天的一些詳細數據。

修改/etc/awstats/awstats.akii.org.conf,執行:

1
vi /etc/awstats/awstats.akii.org.conf

找到

1
LogFile="/var/log/httpd/mylog.log"

修改為:

1
LogFile="/home/www/logs/%YYYY-24/%MM-24/%DD-24/akii.org_access.log"

如果你的日志路徑和我的不一樣,請修改成對應的日志文件名。以上的完整路徑是切割后保存的nginx日志文件。其中%YYYY-24/%MM-24/%DD-24表示年月日都減去24小時,也就是昨天的日志目錄。修改完成后按:wq保存退出。

接下來可以測試一下awstats分析日志了(前提是你已經有了切割過的日志,沒有的話可以先退行一下切割日志的腳本/root/cut_log.sh)

首先,還要創建一個awstats用于記錄數據的目錄

1
mkdir -p /var/lib/awstats

然后運行awstats的wwwroot目錄中的awatsts.pl來測試一下

1
/usr/local/awstats/wwwroot/cgi-bin/awstats.pl -update -config=akii.org

你如果看到類似下面的提示就說明配置文件都正確了。

1
2
3
4
5
6
7
8
9
10
11
12
13
Create/Update database for config "/etc/awstats/awstats.akii.org.conf" by AWStats version 7.0 (build 1.964)
From data in log file "/home/www/logs/2010/07/24/akii.org_access.log"...
Phase 1 : First bypass old records, searching new record...
Direct access after last parsed record (after line 43260)
Jumped lines in file: 43260
 Found 43260 already parsed records.
Parsed lines in file: 0
 Found 0 dropped records,
 Found 0 comments,
 Found 0 blank records,
 Found 0 corrupted records,
 Found 0 old records,
 Found 0 new qualified records

統計分析完成后,結果還在 Awstats 的數據庫中。在 Apache 上,可以直接打開 Perl 程序的網頁查看統計。 但本文開始時已經提到,Nginx 對 Perl 支持并不好,所以我們要換個方法,利用 awstats 的工具將統計的結果生成靜態文件,具體的步驟如下:

  • 首先在 webroot 目錄下創建一個文件夾。例:/home/www/awstats
  • 寫一個腳本,定期執行讓 Awstats 把靜態頁面生成到該目錄中

先生成存放awstats生成的靜態文件的目錄,我這里用的是/home/www/awstats

1
mkdir -p /home/www/awstats

我們來寫一個腳本

1
vim /root/awstats.sh

然后輸入以下內容

1
2
3
4
5
#!/bin/bash
mkdir -p /home/www/awstats/akii.org
/usr/local/awstats/tools/awstats_buildstaticpages.pl -update  \
-config=akii.org -lang=cn -dir=/home/www/awstats/akii.org  \
-awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl

上述命令的具體意思如下:

  • /usr/local/awstats/tools/awstats_buildstaticpages.pl Awstats 靜態頁面生成工具
  • -update -config=akii.org 更新配置項
  • -lang=cn 語言為中文
  • -dir=/home/www/awstats 統計結果輸出目錄
  • -awstatsprog=/usr/local/awstats/wwwroot/cgi-bin/awstats.pl Awstats 日志更新程序路徑。

然后在你的nginx的配置文件中,在你想要安置awstats或默認的ip或域名的server段中,加入關于awstats和icon的兩個目錄配置。

如一個完整案例:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
server {
listen       80;
server_name  localhost;
root /home/www;
index index.html;
 
location ~ ^/awstats/ {     # awstats  靜態頁面目錄
        root   /home/www/awstats;
        autoindex on; #可以目錄瀏覽你的多個域名的目錄用于分析
        index  index.html;
        access_log off;
}
 
location ~ ^/icon/ {             # 圖標目錄
        root   /usr/local/awstats/wwwroot;
        index  index.html;
        access_log off;
}
}

接下來可以測試一下腳本是否可以正確執行

還是別忘了給它可執行權限

1
2
chmod +x /root/awstats.sh
/root/awstats.sh

如果你看到它生成了一堆網頁,那就說明成功了。

輸出信息部分例如

1
2
3
4
5
6
Launch update process : "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=akii.org -update -configdir=
......
Build keywords page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=akii.org -staticlinks -lang=cn -output=keywords
Build errors404 page: "/usr/local/awstats/wwwroot/cgi-bin/awstats.pl" -config=akii.org -staticlinks -lang=cn -output=errors404
20 files built.
Main HTML page is 'awstats.akii.org.html'.

然后可以把它加入自動運行了。

配置awstats腳本自動運行

1
crontab -e

加入

1
00 1 * * * /root/awstats.sh

然后保存退出。

這樣就可以每天在凌晨自動分割日志,并且開始自動用awstats分析nginx的日志了。

認證訪問

如果你想給你的awstats加上訪問密碼,可以見這里:nginx為目錄或網站加上密碼認證

原創文章,寫的辛苦。如果你要轉載,請保留出處及鏈接。

參考資料:http://www.ibm.com/developerworks/cn/linux/l-cn-awstats-nginx/index.html

posted on 2013-01-06 18:05 小果子 閱讀(3317) 評論(0)  編輯 收藏 引用 所屬分類: 學習筆記 、開源
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            美女网站久久| 久久精品中文字幕一区| 免费观看欧美在线视频的网站| 亚洲国产精品123| 国产一区二区三区四区在线观看| 免费在线看成人av| 久久―日本道色综合久久| 欧美婷婷在线| 久久国产精品久久久久久| 欧美一区激情| 亚洲精品日本| 国产精品乱码人人做人人爱| 亚洲少妇自拍| 蜜桃av噜噜一区| 欧美在线观看天堂一区二区三区 | 欧美伊人久久久久久午夜久久久久| 中日韩男男gay无套| 亚洲欧美日韩精品久久| 久久久99久久精品女同性| 牛牛精品成人免费视频| 欧美天天在线| 在线免费观看日韩欧美| 中国成人黄色视屏| 欧美午夜精品久久久久免费视| 国产精品乱码一区二三区小蝌蚪 | 久久久久高清| 亚洲精品1234| 亚洲欧美不卡| 欧美日韩大片一区二区三区| 国产三级欧美三级| 99re视频这里只有精品| 久久精品五月婷婷| 亚洲免费观看视频| 麻豆国产精品一区二区三区 | 亚洲片国产一区一级在线观看| 亚洲婷婷在线| 亚洲福利电影| 亚洲欧美日韩中文播放| 欧美理论大片| 在线观看成人网| 欧美在线观看视频在线| 一本久道久久久| 欧美激情国产日韩| 伊人狠狠色j香婷婷综合| 欧美一区2区视频在线观看| 亚洲国产99| 另类欧美日韩国产在线| 国内精品一区二区| 欧美一区二区观看视频| 99视频日韩| 欧美日韩mv| 一区二区国产在线观看| 亚洲国产欧美日韩精品| 欧美一区二区三区免费视频| 老鸭窝亚洲一区二区三区| 国产精品日韩欧美一区二区| 99一区二区| 亚洲国产精品美女| 久久综合色综合88| 欧美日韩亚洲一区在线观看| 韩国一区二区三区美女美女秀| 亚洲欧美日韩另类| 亚洲精选在线观看| 欧美高清自拍一区| 最新成人在线| 亚洲国产婷婷| 欧美精品在线免费观看| 亚洲乱码国产乱码精品精可以看| 欧美韩国日本一区| 欧美成人国产| 一区二区三区免费看| 亚洲欧洲在线播放| 欧美日韩一区二区三区四区在线观看 | 夜夜嗨av一区二区三区网站四季av | 欧美激情视频免费观看| 亚洲日本精品国产第一区| 农村妇女精品| 欧美一区二区三区在线免费观看 | 国产色视频一区| 久久精品毛片| 久久在线免费观看| 亚洲黄网站黄| 亚洲另类自拍| 国产精品一区二区a| 久久久久欧美| 欧美国产激情| 亚洲一区二区三区在线视频| 亚洲在线视频网站| 狠狠做深爱婷婷久久综合一区| 欧美成va人片在线观看| 欧美日韩成人在线观看| 欧美中文字幕在线视频| 美女精品自拍一二三四| 亚洲一区二区av电影| 香蕉久久国产| 99视频热这里只有精品免费| 亚洲欧美日本伦理| 亚洲日韩欧美视频一区| 亚洲一区二区三区午夜| 亚洲高清av在线| 亚洲午夜精品| 亚洲国产美女| 国产精品一区二区三区乱码| 亚洲精品国产欧美| 欧美一区二区三区喷汁尤物| 欧美激情中文不卡| 狂野欧美激情性xxxx欧美| 国产精品久久久一区麻豆最新章节 | 欧美韩日一区二区| 亚洲乱码日产精品bd| 亚洲一区高清| 亚洲精品久久久蜜桃| 午夜精品久久久久久久99樱桃| 亚洲丰满在线| 午夜精品美女自拍福到在线 | 欧美一级淫片aaaaaaa视频| 久久国产精品久久久久久久久久 | 久久久久免费| 午夜久久美女| 欧美日韩国产综合视频在线观看| 久久精品视频免费| 国产精品video| 亚洲激情视频在线| 加勒比av一区二区| 亚洲欧美不卡| 欧美亚洲视频| 欧美日韩中文字幕| 亚洲精品视频免费在线观看| 亚洲黄网站在线观看| 久久一区二区三区四区五区| 久久久久久久久久久一区| 国产精品日韩在线播放| 99国产欧美久久久精品| 一区二区三区免费网站| 欧美日韩国产综合久久| 99精品国产一区二区青青牛奶| 亚洲免费观看高清在线观看| 欧美二区在线| 亚洲国产精品一区制服丝袜| 亚洲黄色尤物视频| 欧美精品一卡二卡| 亚洲日韩视频| 亚洲国产日韩欧美| 久久福利资源站| 欧美中文在线观看国产| 国产午夜精品全部视频在线播放| 亚洲一区二区三区免费在线观看| 亚洲欧美日韩国产一区二区| 国产精品久久久久久久久搜平片| 亚洲视频图片小说| 性欧美xxxx大乳国产app| 国产一区三区三区| 国产精品综合不卡av| 亚洲伊人观看| 亚洲精品久久久蜜桃| 欧美精品一区二区视频| av成人免费在线| 亚洲欧美视频| 国内精品久久久| 男女精品网站| 99视频精品免费观看| 欧美在线观看一区二区| 国内激情久久| 欧美激情视频给我| 亚洲女人av| 欧美成人a∨高清免费观看| 日韩视频在线观看一区二区| 国产精品久久久久久久久免费樱桃 | 欧美一级二级三级蜜桃| 久久精品一级爱片| 亚洲欧洲精品一区| 国产精品久久久久久户外露出 | 欧美成人午夜免费视在线看片| 日韩午夜一区| 国产自产精品| 欧美日韩三级| 久久久国产精品一区二区中文 | 亚洲午夜一级| 欧美大片在线看| 亚洲午夜电影网| 1000部国产精品成人观看| 国产精品久久久久久久app| 久久久久久噜噜噜久久久精品| 亚洲美女电影在线| 猛干欧美女孩| 欧美在线精品一区| 99精品黄色片免费大全| 国产一区二区久久精品| 欧美私人啪啪vps| 免费在线播放第一区高清av| 亚洲男人的天堂在线aⅴ视频| 亚洲欧洲精品成人久久奇米网| 午夜在线a亚洲v天堂网2018| 亚洲精品视频免费观看| 国产真实精品久久二三区| 国产精品v亚洲精品v日韩精品| 欧美成人第一页| 噜噜噜91成人网| 国内久久婷婷综合| 亚洲国内自拍|