Nginx的日誌/var/log/nginx/能夠直接用tail去看,或者用更高級的GoAccess去看,另外GoAccess也能夠生成HTML報告:
http://goaccess.prosoftcorp.com/goaccess_html_report.htmlphp
GoAccess 在 CentOS 上的安裝方法:
1. 須要安裝 GeoIP, ncurses, glib2, 一句搞定
yum -y install glib2 glib2-devel ncurses ncurses-devel geoIP geoIP-devel html
2. 下載 GoAccess 解壓編譯安裝linux
# wget http://jaist.dl.sourceforge.net/project/goaccess/0.6.1/goaccess-0.6.1.tar.gz
# tar zxvf goaccess-0.6.1.tar.gz
# cd goaccess-0.6.1
# ./configure –enable-geoip –enable-utf8
# make && make install
# make clean nginx
3. GoAccess 使用方法
進入 Nginx 日誌所在目錄 apache
命令行直接查看 服務器
# goaccess -f access.log -c -a ssh
出來圖了,日誌格式選 NCSA動畫
也能夠生成 HTML 報告 網站
goaccess -f /var/log/nginx/access.log -a > report.html spa
zcat -f /var/log/nginx/access.log* | goaccess -a > report.html
zcat access.log.1.gz | goaccess
或者乾脆分析目前下全部日誌
zcat access.log* | goaccess
若是須要分析某天的日誌,例如10月5號那天的日誌,咱們讓linux管道命令來大顯身手^_^。
sed -n ‘/05\/Dec\/2010/,$ p’ access.log | goaccess -s –b
分析從11月5號到12月5號一個月內的日誌
sed -n ‘/5\/Nov\/2010/,/5\/Dec\/2010/ p’ access.log | goaccess -s –b
當你不但願在服務器上安裝goaccess程序,能夠經過調用本地的goaccess程序來分析服務器上的日誌(很神奇吧^_^):
ssh user@server ‘cat /var/log/apache2/access.log’ | goaccess -s -a
最讓我興奮的功能是goaccess支持排序!這樣你就能夠tab到request這個模塊,然後按s,跳出來的對話框選擇「Time Serverd」 「DESC」 這樣你就能夠很是清楚的知道你的網站是哪些頁面響應很慢了!
附下個人NGINX日誌格式:
log_format main ’$remote_addr – $remote_user [$time_local] 「$request」 ‘
‘$status $body_bytes_sent 「$http_referer」 ‘
‘」$http_user_agent」 $request_time‘;
再附下個人~/.goaccessrc配置:
color_scheme 0
date_format %d/%b/%Y
log_format %h %^[%d:%^] 「%r」 %s %b 「%R」 「%u」 %T
goaccess高級設定:
for Apache HTTP Server 預設設定:
CustomLog logs/access_log common可選Common Log Format (CLF)
CustomLog logs/access_log combined可選NCSA Combined Log Formatfor Lighttpd mod_accesslog預設格式 : (需於GoAccess設定畫面手動編輯Log Format)
Log Format: %h %^ %^ [%d:%^] 「%r」 %s %b 「%R」 「%u」
Date Format: %d/%b/%Y完成設定後產生~/.goaccessrc,往後執行goaccess -f /var/log/httpd/access_log不會再跳出這個設定畫面;若要修改設定,可加上-c參數,例如: goaccess -c -f / var/log/httpd/access_log或直接編輯設定檔案vi ~/.goaccessrc
基本操做
# goaccess -f /var/log/httpd/access_log
t:回到頂端
b:捲到最末
q:關閉視窗或離開程式
上下方向鍵:捲動畫面
數字鍵0 ~ 9,接着按英文字母o或右方向鍵:查看某項目的細節(*注)*注: 0 表示第十項; Shift + 1 表示第十一項
排除統計某來源IP
# goaccess -e 123.123.123.123 -f /var/log/httpd/access_log檢視Host詳細資料的時候顯示來自該Host的User-Agents資訊
# goaccess -a -f /var/log/httpd/access_log產生HTML報表(靜態報表)
# goaccess -a -f /var/log/httpd/access_log > result.html只統計來自某IP的記錄
# grep ^123.123.123.123 /var/log/httpd/access_log | goaccess注:目前GoAccess沒法即時統計pipe進來的資料,往後改版或許會補強這部份(Ref: man goaccess )