goAccess常见问题解答
190929089
・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
到GoAccesslog-format
,https://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
- 如何从源头安装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 。 (需要管理员特权)
- 通过Mac App Store安装最新的XCode ,查看目录是否也安装了命令行工具"
/Library/Developer/CommandLineTools/
- 如果"命令行工具"不存在,请在终端中键入"XCode命令行工具:
xcode-select --install
- 下载 最新 GoAccess版本,
二进制文件,配置文件和手册页安装在/usr/local/
- 确保同时添加
/usr/local/bin/
到$PATH
下~/.bash_profile
因此,当你调用goaccess命令时,你不必预先输入/usr/local/bin/, - 你现在可以编辑位于以下位置的goaccess配置文件
/usr/local/etc/
- 请享用!
- 通过Mac App Store安装最新的XCode ,查看目录是否也安装了命令行工具"
其它
- 对于新版本,
如果你运行的是Ubuntu或Debian server,最好使用GoAccess 官方deb repo 。