0


Web日志分析工具GoAccess

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/goaccesshttps://github.com/allinurl/goaccess**中文网站

GoAccess - 中文站 - 可视化 Web 日志分析工具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镜像。您仍然可以通过使用卷映射并编辑goaccess.conf来完全配置它。 参见下面的Docker部分。

3. 支持的格式

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

  • Amazon CloudFront(下载分发)。
  • Amazon简单存储服务(S3)
  • AWS Elastic负载平衡
  • 组合日志格式(XLF/ELF)Apache| Nginx
  • 通用日志格式(CLF)Apache
  • Google 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日志,其中

-f 选项

允许在命令行上实时查看日志

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

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

5.2 通过web仪表板查看日志

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

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

浏览器访问

生成日志分析网页文件

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

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的系统语言应该已经成功设置为中文。

  1. 打开终端,并切换到root用户。可以使用命令sudo su root来切换到root用户,password默认kali。
  2. 使用命令dpkg-reconfigure locales来打开语言设置。 1. 使用上下箭头或鼠标滚轮找到en_US.UTF-8 UTF-8,点击空格取消勾选。2. 接着空格勾选 zh-CN.UTF-8.UTF-8 选项,然后点击回车确认。3. 最后选择语言为zh_CN.UTF-8,再次回车确认。
  3. 终端输入reboot命令回车重启系统。
  4. 最好选择保留旧的文件夹名字。

测试访问

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

systemctl restart apache2

仪表盘

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

标签: web日志 运维

本文转载自: https://blog.csdn.net/u012206617/article/details/142053750
版权归原作者 墨痕诉清风 所有, 如有侵权,请联系我们删除。

“Web日志分析工具GoAccess”的评论:

还没有评论