GoAccess 可视化 Web 日志监控工具

频道:服务器运维 日期:

软件简介

GoAccess 是一个开源的实时网络日志分析器和交互式查看器,可以在 *nix 系统或通过浏览器的终端中运行。它为需要动态可视服务器报告的系统管理员提供快速且有价值的 HTTP 统计信息。

特性

  • 使用 C 语言编写,快速、实时,毫秒 / 秒级的更新

  • 只使用 ncurses 作为依赖

  • 支持几乎所有的 Web 日志格式(Apache,Nginx,Amazon S3,Elastic Load Balancing,CloudFront 等)

  • 轻松设置日志格式
  • 美观的的终端和 dashboard

  • 通过了 Valgrind 测试

  • 编译安装

    安装 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
    # make install
    

    注意: 仅仅需要依赖 ncurses 模块。
    提示: 如果需要使用实时 HTML 报告, 请确保开放 7890 端口。

GoAccess 旨在成为一个基于终端的快速日志分析器。其核心思想是实时快速分析和查看 Web 服务器统计信息,而无需使用您的浏览器(如果您希望通过 SSH 快速分析访问日志,或者只是喜欢在终端中工作)。 虽然终端输出是默认输出,但它能够生成完整的,自包含的实时 HTML 报告(非常适合分析,监控和数据可视化),以及 JSON 和 CSV 报告。

配置选项

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。

最新版本已支持中文,还增加了对 openssl-1.1 的 WebSocket 服务器的支持,还可以自定义浏览器。