goAccess常见问题解答

・8 分钟阅读

本文档包含有关特定主题的最常见问题,这些是不适合在手册页中使用的项目,如果你在这里没有看到你的问题的答案,请检查,手册页 或以前 报告的问题

效率

  • 解析日志文件时GoAccess有多快?

    记住,许多因素可能影响解析时间,包括处理器,内存,日志,等等,但是,通常我们可以导出下表:

    GoAccess基准基准 Intel(R)内核(TM )i7-4510U CPU @2.00 GHz 8GB RAM
    基准(v1.2 )-默认哈希表每秒51,394行
    基准(v1.2 )- On-Disk B+树每秒12,805行
    支持&度量的基准完整功能(> =v0.9.5 )-内存哈希表每秒27,296行

    注: 在20分钟(内存中),60分钟(磁盘存储)中解析大约52M命中(12GB大小)的数据集。

  • GoAccess的内存占用是多少?

    GoAccess不应泄露任何内存(用 如果使用Valgrind,那么它主要取决于日志大小和功能,对于3,397,814解析的行为 ~134.1 MiB (已启用完整功能)。

    备注
    删除查询字符串 -q 可以极大地减少内存消耗,尤其是在有上限的请求上,

日志配置

  • 如何为Apache或Nginx配置log/date/time格式?

    如果你使用的标准日志格式是Apache或Nginx,那么配置GoAccess应该非常简单。

    有几种设置日志格式的方法,如果要输出到终端(ncurses ),最简单的方法是运行GoAccess -c

    
    # goaccess access.log -c
    
    
    

    你还可以在命令行中指定日志格式,因此对于标准的apache/Nginx格式,你可以运行:

    
    # goaccess access.log --log-format=COMBINED
    
    
    

    但是,这些选项都不会使它成为永久的,因为你需要在配置文件中指定格式,有关配置文件的详细信息,请参阅下面的问题。

    备注
    有一个漂亮的小脚本可以转换log_format 到GoAccess log-formathttps://github.com/stockrt/nginx2goaccess
    此外,还有一个很好 脚本 导出,并且转换要由GoAccess使用的Cloudflare ELS日志文件。
  • 配置文件位于哪里?

    配置文件位于下面 ~/.goaccessrc 或者 %sysconfdir%/goaccess.conf%sysconfdir%/etc//usr/etc//usr/local/etc/你可以找到缺省配置文件 这里

  • 如何配置IIS日志格式?

    GoAccess在配置文件&中有一个通用的预定义日志格式选项 对话框,但是,此脚本 可以从IIS日志文件中自动提取正确格式。

HTML报告(网络界面)

  • 如何生成静态HTML报表?

    要生成HTML报告,只需根据你的web日志文件: (-a是可选的)运行,

    
    # goaccess /var/log/apache2/access.log -a -o report.html
    OR
    # zcat -f /var/log/apache2/access.log* | goaccess -a -o report.html
    
    
    

    有关更多示例,请检查GoAccess 手册页

  • 如何生成实时HTML报告?

    生成实时HTML报表的过程与创建静态报表的过程非常类似。

    生成静态报表,并且将输出html文件置于你的web服务器www public文件夹下,你需要添加几个额外的实时标志,使用 --real-time-html 是必需的。

    
    # goaccess access.log -o /usr/share/nginx/www/rt.goaccess.io/report.html --real-time-html
    
    
    

    在浏览器中打开生成的报表时,报表将尝试建立与所生成报表的主机名(window.location.hostname )的WebSocket连接。

    也可以使用以下方法指定它 --ws-url=<host>请注意 host 应该指向GoAccess正在运行的位置和解析日志,另外,确保 host 是有效的主机,不应包含 http 在上面。

    查看 手册页 有关详细信息的示例。

    便笺
    要通过tls/ssl连接输出实时数据,需要使用,--ssl-cert=<cert.crt>--ssl-key=<priv.key>

安装

  • 在服务器上安装GoAccess的要求是什么?

    GoAccess的要求很低,它是用C只需要 ncurses ,
    可选 GeoIP 从地理位置定位 MaxMind请参见 软件包详细信息 GoAccess相关

  • 如何使用磁盘数据库而不是将所有内容保存在内存中?

    如果您有一个不适合物理内存的大型数据集,或者您希望数据持久性甚至是递增地处理日志,那么您希望使用B Tree 磁盘数据库。

    
    $ ./configure --enable-utf8 --enable-geoip --enable-tcb=btree
    $ make
    # make install
    
    
    
    重要
    在配置GoAccess之前,您需要安装Tokyo Cabinet。您可以从包管理工具安装Tokyo Cabinet(请参阅依赖项, ),或者来自源(请参阅下面的问题),你还可以选择禁用压缩,请参见 配置 更多细节选项,
  • 如何从源头安装Tokyo Cabinet?

    本节介绍如何使用源包安装Tokyo Cabinet。

    
    $ wget http://fallabs.com/tokyocabinet/tokyocabinet-1.4.48.tar.gz
    $ tar -zxvf tokyocabinet-1.4.48.tar.gz
    $ cd tokyocabinet-1.4.48
    $ ./configure --prefix=/usr --enable-off64 --enable-fastest
    $ make
    # make install
    
    
    
  • 在CYGWIN (Windows )上构建GoAccess时应该安装哪些软件包?

    使用CYGWIN在Windows上构建GoAccess,你需要在CYGWIN安装屏幕的包上选择以下包。

    
    libGeoIP-devel | GeoIP2 C library
    libncurses-devel | Terminal display library
    libncursesw10 | Terminal display library (wide-character)
    gcc-core (C) | GNU Compiler Collection
    make | make utility
    automake | GNU Makefiles
    gettext | GNU Gettext
    gettext-devel | GNU Gettext
    automake wrapper scripts | wrapper scripts for automake and aclocal
    
    
    
  • 如何在OS XEl Capitan下从源安装GoAccess?

    以下指令允许你在不依赖Homebrew的情况下在OS XCapitan上安装GoAccess 。 (需要管理员特权)

    1. 通过Mac App Store安装最新的XCode ,查看目录是否也安装了命令行工具" /Library/Developer/CommandLineTools/
    2. 如果"命令行工具"不存在,请在终端中键入"XCode命令行工具: xcode-select --install
    3. 下载 最新 GoAccess版本,
      二进制文件,配置文件和手册页安装在 /usr/local/
    4. 确保同时添加 /usr/local/bin/$PATH~/.bash_profile 因此,当你调用goaccess命令时,你不必预先输入/usr/local/bin/,
    5. 你现在可以编辑位于以下位置的goaccess配置文件 /usr/local/etc/
    6. 请享用!
    感谢Valeriano分享此信息!

其它

  • 对于新版本,

    如果你运行的是Ubuntu或Debian server,最好使用GoAccess 官方deb repo

190929089 profile image