首页 网络技术
  1. 正文

Linux服务器下web网站日志分析工具GoAccess

GoAccess 是一款开源的且具有交互视图界面的实时 Web 日志分析工具,通过你的 Web 浏览器或者 *nix 系统下的终端程序(terminal)即可访问。

能为系统管理员提供快速且有价值的 HTTP 统计,并以在线可视化服务器的方式呈现。

截图演示:

Linux服务器下web网站日志分析工具GoAccess

编译安装

安装 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 拥有多个配置选项。获取完整的最新配置选项列表,请运行:./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。

在各主流 Linux 发行版上安装 GoAccess

使用您正在使用的 Linux 发行版的包管理器来安装 GoAccess 是非常简单的。需要注意的是并不是所有的发行版都同步更新了最新的 GoAccess 可用版本。

Debian/Ubuntu

# apt-get install goaccess

注意: 此操作无法保证总是提供最新的稳定版本。要使用最新的 GoAccess 稳定版本请参考上文。

官方 GoAccess Debian/Ubuntu 仓库

$ echo “deb http://deb.goaccess.io/ $(lsb_release -cs) main” | sudo tee -a /etc/apt/sources.list.d/goaccess.list

$ wget -O – https://deb.goaccess.io/gnugpg.key | sudo apt-key add – $ sudo apt-get update $ sudo apt-get install goaccess

Fedora

# yum install goaccess

Arch Linux

# pacman -S goaccess

Gentoo

# emerge net-analyzer/goaccess

OS X / Homebrew

# brew install goaccess

注意: 如果需要 GeoIP,请在上面的命令行后添加 –with-libmaxminddb 。 您将需要从 MaxMind 下载城市/国家数据库,并且使用 –geoip-database 详细指定需要用到的数据库。

FreeBSD

# pkg install sysutils/goaccess

OpenBSD

# pkg_add goaccess

pkgsrc (NetBSD, Solaris, SmartOS, …)

# pkgin install goaccess

Slackware

# curl https://slackbuilds.org/slackbuilds/14.1/system/goaccess.tar.gz | tar xvz # cd goaccess/ # GEOIP=yes ./goaccess.SlackBuild

Windows

GoAccess 可以通过 Cygwin 运行在 Windows 系统下。

Docker

在 Docker 容器中运行 GoAccess 之前,请先在 /srv/goaccess/data 目录下创建配置文件。 您可以自行从头开始或者使用 config/goaccess.conf 作为起点并根据需要进行修改。

一份最小化的支持实时 HTML 报告的适用于 Docker 容器的配置文件至少需要设置以下这些选项:log-format, log-file, output, real-time-html 以及 ws-url。

配置文件准备好以后,请从 Github 上克隆源码仓库到本地:

$ git clone https://github.com/allinurl/goaccess.git goaccess && cd $_

接着请按照如下步骤创建并运行镜像:

docker build . -t allinurl/goaccess

docker run –restart=always -d -p 7890:7890 \

-v “/srv/goaccess/data:/srv/data” \

-v “/srv/goaccess/html:/srv/report” \

-v “/var/log/apache2:/srv/logs” \

–name=goaccess allinurl/goaccess

注意: 可能您需要替换 /var/log/apache2 为您自己的 Web 服务器的访问日志。

如果一切顺利,一份安装报告将会出现在 /srv/goaccess/html/ 目录下。

如果在构建镜像之后修改了配置文件,是不需要重新构建的。简单的重启容器即可:

docker restart goaccess

更多信息请查阅 README.md 文件中有关 Docker 的章节。

通过 GitHub(开发者) 构建

$ git clone https://github.com/allinurl/goaccess.git

$ cd goaccess $ autoreconf -fi

$ ./configure –enable-geoip –enable-utf8

$ make # make install

本文标题:Linux服务器下web网站日志分析工具GoAccess
本文链接:https://www.qqooo.cn/post/805.html
版权说明:网站文章均来源于手工整理和网友投稿,若有不妥之处请来信 feelym@88.com 处理,谢谢!