Linux下使用GoAccess監控Nginx訪問日誌

dalaoyang發表於2018-11-09

本文介紹Nginx使用GoAccess檢視Nginx訪問日誌。

最近在看極客時間-《Nginx核心知識一百講》的視訊,瞭解到GoAccess監控工具,所以最近對這個工具研究了一下,故寫此文章。

1.GoAccess簡介

GoAccess是一個開源的實時網路日誌分析器和互動式檢視器,可以在Linux系統或通過瀏覽器的終端中執行。它為需要動態視覺化伺服器報告的系統管理員提供快速且有價值的HTTP統計資訊。

官網地址:goaccess.io/

官網首頁:

Linux下使用GoAccess監控Nginx訪問日誌

特徵頁(使用谷歌瀏覽器翻譯),感覺這裡的翻譯大致都可以理解,我就不一條一條寫出來了。

Linux下使用GoAccess監控Nginx訪問日誌

2.安裝GoAccess

官方文件下載地址:goaccess.io/download

如圖:

Linux下使用GoAccess監控Nginx訪問日誌

首先安裝GoAccess依賴,已經安裝請忽略。

ncurses-devel:

yum install ncurses-devel
複製程式碼

tokyocabinet-devel:

yum install tokyocabinet-devel
複製程式碼

openssl-devel:

yum install openssl-devel
複製程式碼

geoip-devel:

yum install GeoIP-devel.x86_64
複製程式碼

然後就跟著官網步驟來就可以了,如下: 下載GoAccess

wget https://tar.goaccess.io/goaccess-1.2.tar.gz
複製程式碼

解壓

tar -xzvf goaccess-1.2.tar.gz
複製程式碼

進入目錄

cd goaccess-1.2 /
複製程式碼

生成 Makefile,為下一步做準備

./configure --enable-utf8 --enable-geoip = legacy
複製程式碼

編譯

make
複製程式碼

安裝

make install
複製程式碼

3.使用

這裡參考陶輝在課程中使用的命令,如下

goaccess /opt/nginx/logs/access.log -o /opt/nginx/goaccess/report.html --real-time-html --time-format='%H:%M:%S' --date-format='%d/%b/%Y' --log-format=COMBINED 
複製程式碼

其中/opt/nginx/logs/access.log為Nginx日誌位置,/opt/nginx/goaccess/report.html為生成頁面位置,COMBINED指定預設檔案格式,real-time-html實時html。

在Nginx中對應server內加入如下配置:

location /report.html {
       alias /opt/nginx/goaccess/report.html;
}
複製程式碼

重啟Nginx,訪問localhost:8080/report.html可以看到如圖所示:

Linux下使用GoAccess監控Nginx訪問日誌

4.總結

工具含有的功能很強大,可以結合所在場景進行實時分析。

相關文章