使用GoAccess分析Nginx的Virtual Host日志记录

背景

自己的机器上使用的Nginx,并配置了多个Virtual Host。现在需要通过GoAccess分析自己的访问日志。

配置

GoAccess安装

由于是CentOS的主机,直接yum安装:

yum install goaccess

如果你是其他机器,可以参考:https://goaccess.io/download

Nginx配置

默认的Nginxlog_format是不包含Virtual Host的信息的,可以修改/etc/nginx/nginx.conf文件来统计相关信息:

log_format vhosts '$host $remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
                      
    access_log  /var/log/nginx/access.log  vhosts;

配置好后,记得启用新的配置:

sudo service nginx restart

GoAccess配置

修改GoAccess的配置文件:/etc/goaccess.conf,激活如下配置:

time-format %H:%M:%S
date-format %d/%b/%Y
log-format %v %h %^[%d:%t %^] "%r" %s %b "%R" "%u" "%^"

使用

我的access.log文件在/var/log/nginx/access.log下,使用GoAccess统计:

sudo goaccess -f /var/log/nginx/access.log

效果如下:
使用GoAccess分析Nginx的Virtual Host日志记录

作者

郭一实 / http://sjz.io

相关推荐