Web日志分析工具GoAccess

news2024/11/15 11:56:16

目录

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/goaccessicon-default.png?t=O83Ahttps://github.com/allinurl/goaccess中文网站

GoAccess - 中文站 - 可视化 Web 日志分析工具icon-default.png?t=O83Ahttps://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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2119052.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

VS Code 文件定位功能

1、取消“当前打开文件”的自动定位功能。 设置 ->搜索 Explorer: Auto Reveal -> 将配置改为 false 2.在vs2017中定位文件 Tools->Option->Projects And Solutions->General, tick “track Active Item in Solution Explorer” 工具-> 选项->项目和…

网络基础入门指南(一)

前言 在这个高度互联的世界里,互联网已成为日常生活不可或缺的一部分。然而,对于许多人来说,网络是如何工作的仍然是个谜。本文旨在为那些对网络基础知识感兴趣的朋友提供一个简单的介绍,帮助大家更好地理解互联网的基本原理和技…

输出CAD图中第一个图元类型——c#实现

复制改图元到一个新dwg中,启动代码可实现 如下图设置: using Autodesk.AutoCAD.ApplicationServices; using Autodesk.AutoCAD.DatabaseServices; using Autodesk.AutoCAD.Runtime; using System; using System.Collections.Generic; using System.Linq…

wordpress做后台的资讯类小程序源码

WordPress博客系统资讯资源变现下载小程序源码。这个就比较牛逼了,直接用wordpress做后台 因为由于微信的新规从2022-11月9号后新上线的小程序将不能获取用户头像和名字了 所以微信放需要适配全新的,支持让用户自定义头像和昵称了 不然统一返回默认头像和显示(微…

转义字符笔记

\ (在行尾时)续行符 \ 反斜杠符号 ,用 \ 在字符串里表示反斜杠 ’ 单引号,用 ’ 在字符串里表示单引号 " 双引号,用 " 在字符串里表示双引号 \t 制表符,作用是列对齐,一个Tab键的…

力扣hot100速览(2)

全排列: 原理: 经典回溯。回溯的原理:用一个数组来记录路径,每次递归,都访问没访问到的元素(怎么访问:当然是遍历),访问完弹出上一步。 解: 同原理&#…

动手学深度学习8.4. 循环神经网络-笔记练习(PyTorch)

本节课程地址:54 循环神经网络 RNN【动手学深度学习v2】_哔哩哔哩_bilibili 本节教材地址:8.4. 循环神经网络 — 动手学深度学习 2.0.0 documentation (d2l.ai) 本节开源代码:...>d2l-zh>pytorch>chapter_multilayer-perceptrons&…

电池的电-热-寿命模型是什么?

一、背景 电池的电-热-寿命模型在工程领域具有重要意义,它是一种描述电池性能、温度与使用寿命之间相互关系的复杂模型。具体工程意义体现在以下几个方面: 性能预测: 通过电-热-寿命模型,工程师可以预测在不同负载条件下电池的…

FreeRTOS基础入门——FreeRTOS优先级翻转(十五)

个人名片: 🎓作者简介:嵌入式领域优质创作者🌐个人主页:妄北y 📞个人QQ:2061314755 💌个人邮箱:[mailto:2061314755qq.com] 📱个人微信:Vir2025WB…

【重磅升级】积木报表 v1.8.1 版本发布,支持填报功能

项目介绍 一款免费的数据可视化报表工具,含报表和大屏设计,像搭建积木一样在线设计报表!功能涵盖,数据报表、打印设计、图表报表、大屏设计等! Web 版报表设计器,类似于excel操作风格,通过拖拽完…

[数据结构] 开散列法 闭散列法 模拟实现哈希结构

标题:[数据结构] 开散列法 && 闭散列法 模拟实现哈希结构 个人主页:水墨不写bug 目录 一、闭散列法 核心逻辑的解决 i、为什么要设置位置状态?(伪删除法的使用) ii、哈希函数的设计 接口的实现 1、插入&a…

SD三分钟入门!秋叶大佬24年8月最新的Stable Diffusion整合包V4.9.7来了~

1 什么是 Stable Diffusion? Stable Diffusion(简称SD)是一种生成式人工智能技术,于2022年推出。它主要用于根据文本描述生成精细图像,同时也可应用于其他任务,如图像修补、扩展,以及在文本提…

圣诞节:白酒与西式料理的异国风情

随着冬日的脚步渐近,圣诞的钟声即将敲响。在这个充满异国情调和温馨氛围的节日里,一场中西合璧的美食盛宴悄然上演。豪迈白酒(HOMANLISM)与西式料理的碰撞,不仅为圣诞餐桌增添了几分不同的韵味,更让人们在这…

标准库_string的代码实现

前言 string不属于stl,string比stl出现的早的多,所以string属于标准库,不属于stl 大家可以在cplusplus网站看string的内容 string的六个构造函数 构造函数 在写构造函数的时候不管传的字符串里面有没有字符,都必须至少要new c…

zerojs前端面试题系列--vue3篇(4)

1. Vue3中的可选链运算符(?.)和空值合并运算符(??)是什么?它们有什么作用? 可选链运算符(?.)和空值合并运算符(??)是Vue 3.x中新增的两种运算符。 可选…

点餐小程序实战教程04变量定义和初始化

目录 1 什么是变量2 如何创建变量3 具体该选择什么类型4 变量的初始化5 await/async6 调试我们的程序7 运行我们的代码总结 日常碰到的最多的一句话是,我看到代码就发憷,我一点基础也没有。那低代码开发需要掌握什么样的基础,怎么才算是掌握了…

图像分割像素三分类效果

pets_fg 数据集 训练集: avg_score: 0.8818 - dice: 0.9138 - iou: 0.8520 - loss: 0.1116 - mae: 0.6862 训练集掩码效果 avg_score: 0.8415 - dice: 0.8798 - iou: 0.8065 - loss: 0.1601 - mae: 0.6882 验证集效果展示

提前锁定!2024云栖大会大数据AI参会攻略来啦

2024年9月19日~9月21日,一年一度的云栖大会又要与大家见面了。一文尽览大数据AI精彩预告,赶紧收藏吧! 9月20日上午 10:45~11:25 阿里云智能集团副总裁、计算平台事业部负责人汪军华带来大数据AI平台年度发布。揭晓全新的 OpenLake 方案如何为…

力扣题解2181

大家好,欢迎来到无限大的频道,有些日子没更新了(其实是因为懒) 言归正传,开始分享今日的题解。 题目描述: 合并零之间的节点 给一个链表的头节点 head ,该链表包含由 0 分隔开的一连串整数。…

七种方法加密图纸!2024企业要如何对CAD图纸进行加密?

随着企业信息化的发展,CAD图纸作为企业的核心数据之一,其安全性变得尤为重要。如何有效加密CAD图纸,以防止数据泄露,是众多企业关注的重点问题。本文将介绍2024年企业加密CAD图纸的七种有效方法,帮助企业提升图纸安全性…