本文介绍在Ubuntu 16.04系统、nginx 1.10.3日志环境下使用goaccess可视化nginx日志的方法。 nginx采用apt-get方式安装,日志格式为默认设置。
一、源码安装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编辑器创建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参数时,发现实时刷新功能失效。
四、使用crontab替代实时刷新
为解决实时刷新问题,作者最终采用crontab定时任务:
vim /etc/crontab
添加以下行到crontab中,实现定时更新:
* * * * * root goaccess -a -d -f /var/log/nginx/access.log -p /root/.goaccessrc -o /var/www/index.html
请根据实际情况替换相关目录路径。更多详细信息,请参考GoAccess官方文档:https://www.php.cn/link/1a69e2bdf33aa15664ad3c3cfb4d9453