Web日志分析工具GoAccess

墨痕诉清风 2024-10-10 15:33:05 阅读 99

目录

1. 介绍

2. 功能

3. 支持的格式

4. 安装

从发布版本构建

从GitHub构建(开发)

命令行安装

5. 使用

5.1 监视Apache日志

5.2 通过web仪表板查看日志

浏览器访问

5.3 汉化设置

测试访问


1. 介绍

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

GitHub - allinurl/goaccess: GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser.GoAccess is a real-time web log analyzer and interactive viewer that runs in a terminal in *nix systems or through your browser. - allinurl/goaccess

icon-default.png?t=O83A

https://github.com/allinurl/goaccess中文网站

GoAccess - 中文站 - 可视化 Web 日志分析工具

icon-default.png?t=O83A

https://www.goaccess.cc/

2. 功能

GoAccess解析指定的Web日志文件并将数据输出到X终端。功能包括:

完全实时

所有面板和指标都定时更新,每200 ms在终端输出上更新一次,每秒钟在HTML输出上更新一次。

所需的最少配置

你可以只对你的访问日志文件运行它,选择日志格式,让GoAccess解析访问日志并显示统计数据。

跟踪应用程序响应时间

跟踪处理请求所用的时间。非常有用,如果你想跟踪页面,使您的网站变慢。

几乎所有的Web日志

GoAccess允许任何自定义日志格式字符串。 预定义选项包括Apache,Nginx,Amazon S3,Elastic Load Balancing,CloudFront等。

增量日志处理

需要数据持久性?GoAccess能够通过磁盘上的持久性选项增量地处理日志。

只有一个依赖

GoAccess是用C写的。要运行它,您只需要ncurses作为依赖项。就是这样,它甚至有自己的Web Socket服务器-http://gwsocket.io/。

游客

按小时或日期确定最慢运行请求的点击量、访问者、带宽和指标。

虚拟主机

是否有多个虚拟服务器(服务器块)?它具有一个面板,显示哪个虚拟主机正在消耗大部分Web服务器资源。

ASN 自治系统号映射

非常适合检测恶意流量模式并相应地阻止它们。

配色方案可定制

定制GoAccess以适合您自己的色彩品味/方案。或者通过终端,或者简单地在HTML输出上应用样式表。

支持大型数据集

GoAccess具有解析大型日志的能力,因为它优化了内存中的哈希表。它有很好的内存使用和相当不错的性能。这种存储也支持磁盘上的持久性。

Docker支持

能够从上游构建GoAccess的Docker镜像。您仍然可以通过使用卷映射并编辑<code>goaccess.conf来完全配置它。 参见下面的Docker部分。

3. 支持的格式

GoAccess允许任何自定义日志格式字符串。预定义选项包括但不限于:

Amazon CloudFront(下载分发)。Amazon简单存储服务(S3)AWS Elastic负载平衡组合日志格式(XLF/ELF)Apache| Nginx通用日志格式(CLF)ApacheGoogle Cloud Storage.Apache虚拟主机Squid原生格式。W3C格式(IIS)。Caddy的JSON结构化格式。Traefik的CLF风味

4. 安装

从发布版本构建

GoAccess可以在 *nix系统上编译和使用。

下载、解压缩和编译GoAccess:

$ yum install gcc-c++ -y

$ yum install libmaxminddb libmaxminddb-devel -y

$ yum install ncurses-devel -y

$ wget https://tar.goaccess.io/goaccess-1.9.3.tar.gz

$ tar -xzvf goaccess-1.9.3.tar.gz

$ cd goaccess-1.9.3/

$ ./configure --enable-utf8 --enable-geoip=mmdb

$ make

# make install

从GitHub构建(开发)

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

$ cd goaccess

$ autoreconf -fiv

$ ./configure --enable-utf8 --enable-geoip=mmdb

$ make

# make install

命令行安装

Fedora / CentOS

# yum install goaccess

Ubuntu 

# apt install goaccess -y

Arch

# pacman -S goaccess

Gentoo

# emerge net-analyzer/goaccess

OS X / Homebrew

# brew install goaccess

FreeBSD

# cd /usr/ports/sysutils/goaccess/ && make install clean

# pkg install sysutils/goaccess

OpenBSD

# cd /usr/ports/www/goaccess && make install clean

# pkg_add goaccess

openSUSE

# zypper ar -f obs://server:http http

# zypper in goaccess

OpenIndiana

# pkg install goaccess

pkgsrc (NetBSD, Solaris, SmartOS, ...)

# pkgin install goaccess

Docker

Docker镜像已经更新,能够从访问日志中定向输出。如果你只想输出一个报告,你可以将一个日志从外部环境传输到一个基于Docker的进程:

touch report.html

cat access.log | docker run --rm -i -v ./report.html:/report.html -e LANG=$LANG allinurl/goaccess -a -o report.html --log-format COMBINED -

或实时

tail -F access.log | docker run -p 7890:7890 --rm -i -e LANG=$LANG allinurl/goaccess -a -o report.html --log-format COMBINED --real-time-html -

可以在DOCKER.md中阅读更多关于使用docker镜像的信息。

5. 使用

5.1 监视Apache日志

执行以下命令,监控Apache日志,其中<code>-f 选项允许在命令行上实时查看日志

goaccess -f /var/log/apache2/access.log --log-format=COMBINED

浏览器访问主页后再次访问,他会实时采集数据

5.2 通过web仪表板查看日志

通过重定向来将 web 服务器日志以优雅而直观的方式呈现在一个仪表板上。可以将输出文件指定为linux_web.html。

<code>goaccess -f /var/log/apache2/access.log --log-format=COMBINED > linux_web.html

浏览器访问

生成日志分析网页文件

<code>mkdir -p /var/www/html/web

goaccess -f /var/log/apache2/access.log --log-format=COMBINED > /var/www/html/web/linux_web.html

浏览器输入自己创建的的地址访问

http://172.16.12.137/web/linux_web.html

5.3 汉化设置

Ubuntu 和 Debian

<code>apt install language-pack-zh-hans -y

# 设置系统简体中文

localectl set-locale LANG=zh_CN.utf8

可以看到Ubuntu系统的默认语言和字符集设置为简体中文(zh_CN)

root@ubuntu-001:~# localectl status

System Locale: LANG=zh_CN.utf8

VC Keymap: n/a

X11 Layout: us

X11 Model: pc105

Kali 默认语言和字符集设置为简体中文(zh_CN)

要将Kali Linux的系统语言设置为中文,以Kali Linux2024.1版为例,可以按照以下步骤进行操作:

完成以上步骤后,Kali Linux的系统语言应该已经成功设置为中文。

打开终端,并切换到root用户。可以使用命令sudo su root来切换到root用户,password默认kali。使用命令dpkg-reconfigure locales来打开语言设置。

使用上下箭头或鼠标滚轮找到en_US.UTF-8 UTF-8,点击空格取消勾选。接着空格勾选 zh-CN.UTF-8.UTF-8 选项,然后点击回车确认。最后选择语言为zh_CN.UTF-8,再次回车确认。终端输入reboot命令回车重启系统。最好选择保留旧的文件夹名字。

测试访问

LANG="zh_CN.UTF-8" goaccess -f /var/log/apache2/access.log --log-format=COMBINED > /var/www/html/web/linux_web.htmlcode>

systemctl restart apache2

仪表盘

<code>LANG="zh_CN.UTF-8" goaccess -f /var/log/apache2/access.log --log-format=COMBINED > /var/www/html/web/linux_web.htmlcode>



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。