记录一下CentOS7安装GoAccess日志分析工具

  •   
  • 1938
  • Linux
  • 0
  • super_dodo
  • 2020/11/25

之前项目一直都在用这个日志分析工具,自己也曾搭建过。现在整理一下之前的安装使用过程。

GoAccess是一个开源的实时网络日志分析器和交互式查看器,可在Linux终端或浏览器中运行。为系统管理员提供可视化的服务器报告,为系统管理员提供快速且有价值的HTTP统计

快速、实时(由于基于C语言编写,可在毫秒或秒内完成更新)、
只依赖于ncurses
兼容几乎所有的Web日志格式(Apache、Nginx、Amazon S3、Elastic Load Balancing、CloudFront等)
只需要配置日志格式即可运行
美丽的终端和引导仪表板(可自定义色彩方案)

官方文档编译安装

安装 GoAccess 非常的容易。只需要下载、解压以及编译就好了:

$ wget http://tar.goaccess.io/goaccess-1.2.tar.gz
$ tar -xzvf goaccess-1.2.tar.gz
$ cd goaccess-1.2/
$ ./configure --enable-utf8 --enable-geoip=legacy
$ make
<h1>make install</h1>
注意: 仅仅需要依赖 ncurses 模块。
提示: 如果需要使用实时 HTML 报告, 请确保开放 7890 端口。详见这里。
配置选项
GoAccess 拥有多个配置选项。获取完整的最新配置选项列表,请运行:./configure --help

--enable-debug
使用调试标志编译且关闭编译器优化。
--enable-utf8
宽字符支持。依赖 Ncursesw 模块。
--enable-geoip=<legacy|mmdb>
地理位置支持。依赖 MaxMind GeoIP 模块。legacy 将使用原始 GeoIP 数据库。mmdb 将使用增强版 GeoIP2 数据库。
--enable-tcb=<memhash|btree>
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
使 GoAccess 与其 WebSocket 服务器之间的通信能够支持 OpenSSL。

安装过程中可能遇到的问题FAQ:

根据错误提示解决依赖关系:
configure: error:
*** Missing development files for the GeoIP library

安装需要的软件包:
yum install -y GeoIP-devel

再次运行预编译命令并根据错误提示解决依赖关系:
configure: error:
*** Missing development libraries for ncursesw

安装需要的软件包:
yum install -y ncurses-devel

至此大功告成,安装提示成功。


Your build configuration:

Prefix         : /usr/local
Package        : goaccess
Version        : 1.2
Dynamic buffer : no
Geolocation    : GeoIP Legacy
Storage method : In-memory Hash Database (Default)
TLS/SSL        : no
Compiler flags :  -pthread
Linker flags   : -lnsl -lncursesw -lGeoIP -lpthread
Bugs           : goaccess@prosoftcorp.com