[转帖]GoAccess的简单处理

goaccess,简单,处理 · 浏览次数 : 0

小编点评

**编译安装GoAccess的步骤:** 1. 下载GoAccess的压缩包。 2. 解压压缩包并运行`./configure`命令。 3. 执行`make`和`make install`命令。 4. 配置选项可通过`./configure --help`查看。 **注意:** * 仅依赖ncurses模块,需要开放7890端口。 * 如果需要使用实时 HTML报告,请确保开放7890端口。 * 可根据需要修改配置文件,例如设置`ws-url`。

正文

编译安装

安装 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
 
 注意
  • 如需支持 on-disk(Trusty+ or Wheezy+), 请运行:sudo apt-get install goaccess-tcb
  • 官方库已经支持通过 https 获取 .deb 格式包文件,您可能需要安装 apt-transport-https

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 系统下。 安装指导请参考 这里 。

相关发行版安装包

GoAccess 使用纯C编写,仅依赖 ncurses 模块。 但是如果通过源码来构建 GoAccess,不同发行版还是有一些区别,下表列出了一些发行版的可选依赖模块。

DistroNCursesGeoIP (optional)Tokyo Cabinet (optional)OpenSSL (optional)
Ubuntu/Debian libncursesw5-dev libgeoip-dev libtokyocabinet-dev libssl-dev
Fedora/RHEL/CentOS ncurses-devel geoip-devel tokyocabinet-devel openssl-devel
Arch Linux ncurses geoip compile from source openssl
Gentoo sys-libs/ncurses dev-libs/geoip dev-db/tokyocabinet dev-libs/openssl
Slackware ncurses GeoIP tokyocabinet openssl
 
注意: 通过源码构建 GoAccess 您可能需要一些编译/构建工具比如 gccmakebase-develbuild-essential"Development Tools" 等等。
 

 Docker

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

一份最小化的支持实时 HTML 报告的适用于 Docker 容器的配置文件至少需要设置以下这些选项:log-formatlog-fileoutputreal-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

与[转帖]GoAccess的简单处理相似的内容:

[转帖]GoAccess的简单处理

编译安装 安装 GoAccess 非常的容易。只需要下载、解压以及编译就好了: $ wget http://tar.goaccess.io/goaccess-1.2.tar.gz $ tar -xzvf goaccess-1.2.tar.gz $ cd goaccess-1.2/ $ ./confi

[转帖]

Linux ubuntu20.04 网络配置(图文教程) 因为我是刚装好的最小系统,所以很多东西都没有,在开始配置之前需要做下准备 环境准备 系统:ubuntu20.04网卡:双网卡 网卡一:供连接互联网使用网卡二:供连接内网使用(看情况,如果一张网卡足够,没必要做第二张网卡) 工具: net-to

[转帖]

https://cloud.tencent.com/developer/article/2168105?areaSource=104001.13&traceId=zcVNsKTUApF9rNJSkcCbB 前言 Redis作为高性能的内存数据库,在大数据量的情况下也会遇到性能瓶颈,日常开发中只有时刻

[转帖]ISV 、OSV、 SIG 概念

ISV 、OSV、 SIG 概念 2022-10-14 12:29530原创大杂烩 本文链接:https://www.cndba.cn/dave/article/108699 1. ISV: Independent Software Vendors “独立软件开发商”,特指专门从事软件的开发、生产、

[转帖]Redis 7 参数 修改 说明

2022-06-16 14:491800原创Redis 本文链接:https://www.cndba.cn/dave/article/108066 在之前的博客我们介绍了Redis 7 的安装和配置,如下: Linux 7.8 平台 Redis 7 安装并配置开机自启动 操作手册https://ww

[转帖]HTTPS中间人攻击原理

https://www.zhihu.com/people/bei-ji-85/posts 背景 前一段时间,公司北京地区上线了一个HTTPS防火墙,用来监听HTTPS流量。防火墙上线之前,邮件通知给管理层,我从我老大那里听说这个事情的时候,说这个有风险,然后意外地发现,很多人原来都不知道HTTPS防

[转帖]关于字节序(大小端)的一点想法

https://www.zhihu.com/people/bei-ji-85/posts 今天在一个技术群里有人问起来了,当时有一些讨论(不完全都是我个人的观点),整理一下: 为什么网络字节序(多数情况下)是大端? 早年设备的缓存很小,先接收高字节能快速的判断报文信息:包长度(需要准备多大缓存)、地

[转帖]awk提取某一行某一列的数据

https://www.jianshu.com/p/dbcb7fe2da56 1、提取文件中第1列数据 awk '{print $1}' filename > out.txt 2、提取前2列的文件 awk `{print $1,$2}' filename > out.txt 3、打印完第一列,然后打

[转帖]awk 中 FS的用法

https://www.cnblogs.com/rohens-hbg/p/5510890.html 在openwrt文件 ar71xx.sh中 查询设备类型时,有这么一句, machine=$(awk 'BEGIN{FS="[ \t]+:[ \t]"} /machine/ {print $2}' /

[转帖]Windows Server 2022 简体中文版、英文版下载 (updated Oct 2022)

https://sysin.org/blog/windows-server-2022/ Windows Server 2022 正式版,2022 年 10 月更新,VLSC Posted by sysin on 2022-10-27 Estimated Reading Time 8 Minutes