提到web伺服器就不得不說nginx。這款由俄羅斯人開發的小巧的web服務軟體近幾年來風靡大江南北;成為許多草根站長建設**的首選。但由於歷史原因,
nginx
在日誌分析工具相較於傳統的apache、lighthttp等要匱乏的多。
作為效能測試工程師的我,無論在效能分析還是在測試環境維護都離不開日誌的分析,所以逼得我必須掌握日誌分析的技巧,當然簡單的命令必不可少,簡單的分析命令足以搞定,但是作為比較複雜的命令分析命令還是有點力不從心,畢竟自己的shell指令碼編寫能力還沒達到那種水平,下面我就介紹一款比較小巧的nginx日誌分析工具:goaccess。
目前,這款軟體支援common log format(clf) 和 combined log format(xlf/elf) 格式的日誌。分析傳統的apache格式日誌當然毫無問題。同時,只要將nginx的日誌格式定義為apache格式,對它的分析也不在話下(目前,redhat提供的nginx軟體包預設日誌格式和apache基本一致)
安裝使用:
tar
zxvf goaccess-0.4.2.
tar
.gz
cd
goaccess-0.4.2
#啟動ip歸屬地查詢、和utf8編碼格式支援
.
/configure
–enalbe-geoip –
enable
-utf8
make
&&
make
install
goaccess的基本語法如下:
goaccess [ -b ][ -s ][ -e ip_address][ - a ]引數說明:
用法示例:
最簡單、常用的命令就是直接呼叫goaccess命令啦,不帶任何影響效率的其他引數
goaccess –f access.log如果需要檢視其他資訊,我們加入如下引數以顯示http響應**、使用者**、流量消耗
goaccess –f access.log –s –a –b如果你覺得這樣還不能滿足你的需求。別急,goaccess支援linux管道(pipe),我們可以將日誌檔案預處理後,再交給goaccess去分析。
zcat access.log.1.gz | goaccess讓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 -b大部分伺服器對日誌分析的速度都比較敏感,如果在分析日誌時造成伺服器其他服務的不穩定,那還不如不用呢。據goaccess官方的說法:使用amd sempron 2.31ghz的cpu+2gb記憶體,開啟goaccess所有功能,該軟體每秒可以處理10萬行日誌。當然,如果使用的cpu更強勁,擁有更多的記憶體,goaccess的表現會更加出色。
GoAccess日誌分析工具
goaccess是乙個非常良心的開源軟體,它的良心之處體現在如下方面 1 安裝簡單 2 操作容易 3 介面酷炫 goaccess 官網 官網提供多種系統版本的安裝方法 download installation wget tar xzvf goaccess 1.3.tar.gz cd goacces...
goaccess日誌分析工具 apache
1 編譯安裝 wget tar xzvf goaccess 1.2.tar.gz cd goaccess 1.2 configure enable utf8 enable geoip legacy make make install2 配置檔案 etc goaccess.conf wget o go...
goaccess 分析日誌
非常小又精悍的 nginx 日誌分析工具 goaccess,處理速度非常快,我用 xshell 檢視,還可以生成 html 報告。goaccess 在 centos 上的安裝方法 1.需要安裝 geoip,ncurses,glib2,一句搞定 yum y install glib2 glib2 de...