本文介紹在Ubuntu 16.04系統(tǒng)、nginx 1.10.3日志環(huán)境下使用goaccess可視化nginx日志的方法。 nginx采用apt-get方式安裝,日志格式為默認設(shè)置。
一、源碼安裝GoAccess
sudo apt-get install gcc g++ libncursesw5-dev wget http://tar.goaccess.io/goaccess-1.2.tar.gz tar -xzvf goaccess-1.2.tar.gz cd goaccess-1.2/ ./configure --enable-utf8 make && sudo make install
二、配置GoAccess
使用vim編輯器創(chuàng)建GoAccess配置文件:
vim ~/.goaccessrc
并在文件中添加以下配置:
time-format %H:%M:%S date-format %d/%b/%Y log-format %h %^[%d:%t %^] "%r" %s %b "%R" "%u"
三、運行GoAccess及問題解決
嘗試使用以下命令運行GoAccess,并輸出到/var/www/index.html:
goaccess -f /var/log/nginx/access.log -p ~/.goaccessrc -a -o /var/www/index.html --real-time-html --daemonize
注意:本文作者在使用–daemonize和–real-time-html參數(shù)時,發(fā)現(xiàn)實時刷新功能失效。
四、使用crontab替代實時刷新
為解決實時刷新問題,作者最終采用crontab定時任務(wù):
vim /etc/crontab
添加以下行到crontab中,實現(xiàn)定時更新:
* * * * * root goaccess -a -d -f /var/log/nginx/access.log -p /root/.goaccessrc -o /var/www/index.html
請根據(jù)實際情況替換相關(guān)目錄路徑。更多詳細信息,請參考GoAccess官方文檔:https://www.php.cn/link/1a69e2bdf33aa15664ad3c3cfb4d9453