使用GoAccess实现可视化并实时监控access日志

964 阅读1分钟

GoAccess使用websocket来实时的监控access.log日志,并以图形化的方式展示。

一、安装goaccess

下载goaccess,我这里是直接下载github上代码:

git clone https://github.com/allinurl/goaccess.git

下载完之后使用

./configure
make
make install

进行编译。

进入nginx-demo项目中,受用goaccess --v查看goaccess是否安装成功。

之后使用以下命令指定要可视化的日志文件、生成的html文件的位置、日志的格式、实时更新:

LANG="en_US.UTF-8" goaccess --no-global-config --log-format='%h - %^ [%d:%t %^] "%m %U %H" %s %b "%R" "%u" %^ "%v" "%^" %Dms' --date-format='%d/%b/%Y' --time-format='%T' --log-file=./logs/access.log --output=./report.html --real-time-html

LANG="en_US.UTF-8" goaccess --no-global-config --log-format='%h - %^ [%d:%t %^] "%m %U %H" %s %b "%R" "%u" %^ "%v" "%^" %Dms' --date-format='%d/%b/%Y' --time-format='%T' --log-file=./2018.08.29-2018.12.31.log --output=./2018.html 

之后nginx-demo目录下就生成了一个report.html文件,配置nginx.conf:

  location /report.html {
           alias report.html;
       }

之后访问http://localhost:8000/report.html,就可以看到下面这样的界面。

但是仍然存在两点问题:

  • 界面是纯英文的,很多地方说使用LANG="en_US.UTF-8"之后,界面就是中文界面,但是没有成功。
  • 使用--real-time-html之后,界面的数据是实时更新的,我这里也没有。