/Linux · 2023年 7月 9日 0

使用GoAccess实时可视化分析Web网站访问日志

使用GoAccess实时可视化分析Web网站访问日志
GoAccess 是一款开源的且具有交互视图界面的实时Web日志分析工具,通过你的Web浏览器或者Linux系统下的终端程序(terminal)即可访问。C语言编写,几乎支持所有Web日志 格式 (Apache,Nginx等等)还可以生成HTML、JSON、CSV等等多种输出格式。
部署步骤
部署方法大致分为两种,系统源安装和源码编译安装。
yum系统源安装
yum install goaccess -y
file
源码编译安装
官网 https://goaccess.io/  
file
1、安装所需要的编译包
$ yum install ncurses-devel libmaxminddb-devel gcc gcc-c++ -y
file
2、编译goaccess
$ cd /usr/local/src
$ wget –no-check-certificate https://tar.goaccess.io/goaccess-1.7.2.tar.gz
$ tar -xzvf goaccess-1.7.2.tar.gz
$ cd goaccess-1.7.2/
$ ./configure –prefix=/usr/local/goaccess –enable-utf8 –enable-geoip=mmdb
$ make
$ make install
3、加入系统变量
$ echo "PATH=$PATH:/usr/local/goaccess/bin" >> /etc/profile
$ source /etc/profile
使用方法
常见参数说明
-a –agent-list 启用由主机用户代理的列表。为了更快的解析,不启用该项。
-d –with-output-resolver 在 HTML/JSON 输出中开启 IP 解析,会使用 GeoIP 来进行 IP 解析。
-f –log-file 需要分析的日志文件路径。
-p –config-file 配置文件路径。
-o –output 输出格式,支持。html、json、csv。
-m –with-mouse 控制面板支持鼠标点击。
-q –no-query-string 忽略请求的参数部分。
–real-time-html 实时生成 HTML 报告。
–daemonize 守护进程模式,–real-time-html 时使用。
在ssh终端查看
goaccess access.log –log-format=COMMON
goaccess access_log –log-format=COMMON
file
按空格选择第第一个 ,然后回车继续
file
默认输出的是英文界面的
file
输出中文界面
LANG="zh_CN.UTF-8" bash -c "goaccess access.log"

LANG="zh_CN.UTF-8" bash -c "goaccess access_log –log-format=COMMON"
file
控制台操作方法按键
file
输出HTML模式
LANG="zh_CN.UTF-8" bash -c "goaccess -d access.log -o /www/wwwroot/lanan.love/go.html –log-format=COMBINED"

LANG="zh_CN.UTF-8" bash -c "goaccess -d access_log –log-format=COMMON -o /www/wwwroot/lanan.love/go.html"
这里就生成了HTML文件,直接定向到站点目录下,可以直接打开进行访问
file
实时分析更新中文界面HTML
LANG="zh_CN.UTF-8" bash -c "goaccess -d access.log -o /www/wwwroot/lanan.love/go.html –log-format=COMBINED –real-time-html"

LANG="zh_CN.UTF-8" bash -c "goaccess -d access_log -o /www/wwwroot/lanan.love/go.html –log-format=COMMON –real-time-html"
守护模式运行实时分析更新中文界面HTML
LANG="zh_CN.UTF-8" bash -c "goaccess -d access.log -o /www/wwwroot/lanan.love/go.html –log-format=COMBINED –real-time-html –daemonize"

LANG="zh_CN.UTF-8" bash -c "goaccess -d access_log -o /www/wwwroot/lanan.love/go.html –log-format=COMMON –real-time-html –daemonize"

定时更新文件
设置定时任务。每10分钟刷新一次,更新一次HTML报表
/10 * goaccess -a -d -f access.log -o /www/wwwroot/lanan.love/go.html –log-format=COMBINED

/10 * goaccess -a -d -f access_log -o /www/wwwroot/lanan.love/go.html –log-format=COMMON
其他使用方法
输出JOSN报告
goaccess access.log -o access.json –log-format=COMBINED

goaccess access_log -o access.json –log-format=COMMON
输出CSV文件
goaccess access.log -o access.csv –log-format=COMBINED

goaccess access_log -o access.csv –log-format=COMMON