GoAccess(可视化日志分析工具)独立编译安装方法

GoAccess(https://GoAccess.io/) 是一个可视化日志分析工具,并不只是为 Nginx 使用的。你也可以用它来分析 Apache,IIS 的日志,甚至你自己写的 Web 服务,当然前提是你需要定义好解析的日志格式。

GoAccess(日志分析工具)独立编译安装方法

GoAccess 日志分析工具的主要特点

  1. 解析速度快
  2. 使用简单
  3. 能生成 html,json,csv

借助 Linux 的 Crontab 定时任务可以每天生成一份自己站点的日志分析统计 HTML 文件,养成经常分析日志文件是一个运维人员必备的好习惯,今天明月就给大家分享一下 GoAccess 的独立编译安装方法,就当是一个安装参考笔记吧!

Linux下GoAccess通用的安装方法,也是官方推荐的安装方法:

wget https://tar.goaccess.io/goaccess-1.3.tar.gz
tar -xzvf goaccess-1.3.tar.gz
cd goaccess-1.3/
./configure --enable-utf8 --enable-geoip=legacy
make
make install
  • 编译安装需要依赖 Ncurses 包。
  • 如果需要查看实时日志输出的 HTML 文件,请确保当前服务器已经开启了 7890 端口。

编译参数说明:

  • –enable-debug 使用调试符号进行编译并关闭编译器优化。
  • –enable-utf8 编译具有广泛的字符支持,需要 Ncurses 依赖。
  • –enable-geoip= 使用 GeoLocation 支持进行编译。 MaxMind 的 GeoIP 是必需的。
  • –enable-tcb= 与 Tokyo Cabinet 存储支持一起编译。 memhash 将利用 Tokyo Cabinet 的内存中哈希数据库。 btree 将利用 Tokyo Cabinet 的磁盘 B + Tree 数据库。
  • –disable-zlib 在 B + Tree 数据库上禁用 zlib 压缩。
  • –disable-bzip 禁用 B + Tree 数据库上的 bzip2 压缩。
  • –with-getline 动态扩展行缓冲区以解析整行请求,而不是使用 4096 的固定大小缓冲区。
  • –with-openssl 使用 OpenSSL 编译 GoAccess,支持其 WebSocket 服务器。

注:没有特殊需要的话,明月建议使用官方默认参数编译即可。

如果是全新的 CentOS Linux 发行版的话编译的时候回出现“缺少 GeoIP 库的开发文件”的编译错误提示,这时候可以安装如下的依赖包后再次编译即可。

yum install re2c GeoIP GeoIP-data GeoIP-devel

安装完成后,在 goaccess-1.3 目录里创建一个.goaccessrc 文件,内容填写如下:

time-format %T
date-format %d/%b/%Y
log-format %h %^[%d:%t %^] "%r" %s

然后就可以使用如下命令来生成日志分析 HTML 并输出到指定位置以便供 Web 端访问。

/usr/local/bin/goaccess -f [日志文件绝对地址.log] -p
/root/goaccess-1.3/.goaccessrc -a > [输出 HTML 文件的绝对地址.html]

如果需要输出并查看日志分析的实时 HTML 文件可以使用如下命令:

goaccess [日志文件绝对地址.log] -o [输出 HTML 文件的绝对地址.html] –real-time-html

访问这个输出的 HTML 文件即可。

下面是相关参数的说明:

  • -o:output-format=csv|json 输出为 csv 或者 json 形式
  • –real-time-html:实时生成日志分析结果为 HTML 格式

相关文章