很是小又精悍的 Nginx 日誌分析工具 Goaccess,處理速度很是快,我用 XShell 查看,還能夠生成 html 報告,先看圖 php
GoAccess 在 CentOS 上的安裝方法:
1. 須要安裝 GeoIP, ncurses, glib2, 一句搞定
yum -y install glib2 glib2-devel ncurses ncurses-devel geoIP geoIP-devel html
2. 下載 GoAccess 解壓編譯安裝 linux
3. GoAccess 使用方法
進入 Nginx 日誌所在目錄 nginx
命令行直接查看 apache
也能夠生成 HTML 報告 ssh
或者乾脆分析目前下全部日誌 工具
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
附下個人NGINX日誌格式:
log_format main ’$remote_addr – $remote_user [$time_local] 「$request」 ‘
color_scheme 0
date_format %d/%b/%Y
log_format %h %^[%d:%^] 「%r」 %s %b 「%R」 「%u」 %T
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 )
Trouble Shooting
沒法使用F1 檢視help 訊息的替代方案
Ctrl + h
沒法使用F10 完成設定畫面的替代方案
# vi ~/.goaccessrc
color_scheme 1 date_format %d/%b/%Y log_format %h %^ %^ [%d:%^] "%r" %s %b "%R" "%u"其餘log_format 參考:
Common Log Format (CLF): %h %^[%d:%^] "%r" %s %b Common Log Format (CLF) with Virtual Host: %^:%^ %h %^[%d:%^] "%r" %s %b NCSA Combined Log Format: %h %^[%d:%^] "%r" %s %b "%R" "%u" NCSA Combined Log Format with Virtual Host: %^:%^ %h %^[%d:%^] "%r" %s %b "%R" "%u" W3C: %d %^ %h %^ %^ %^ %^ %r %^ %s %b %^ %^ %u %R變動熱鍵
# cd /path/to/goaccess-0.5
# vi goaccess.c
#將F1熱鍵改成F2
找到[F1]Help [O]pen detail view
改成[ F2 ]Help [O]pen detail view找到Case 265:
改成Case 266 :# vi commons.c
#將Help訊息的F1改成F2
找到」 ^F1^ or ^CTRL^ + ^h^ [main help]「,
改成」 ^ F2 ^ or ^CTRL^ + ^h^ [main help]「,# vi goaccess.1
#將manpage的F1字眼改成F2
找到.IP 「F1″
改成.IP 「 F2 」# vi settings.c
#將F10熱鍵改成F9
找到mvwprintw (win, 2, 2, 「[SPACE] to toggle – [F10] to proceed」);
改成mvwprintw (win, 2, 2, 「[SPACE] to toggle – [ F9 ] to proceed」);找到Case 274:
改成Case 273 :