使用GoAccess进行Web日志可视化

news2024/11/24 16:41:19

运行网站的挑战之一是了解您的 Web 服务器正在做什么。虽然各种监控应用程序可以在您的服务器以高负载或页面响应缓慢运行时提醒您,但要完全了解正在发生的事情,唯一的方法是查看 Web 日志。阅读日志数据页面并了解正在发生的事情可能需要花费大量时间。这就是 GoAccess 的作用所在。GoAccess 提供日志中正在发生的事情的实时概览,并提供统计数据和可视化效果来帮助传达这些信息。数据可通过 Web 浏览器和终端获取。
如果您访问GoAccess网站,那里有一个现场演示,您可以在那里体验该程序,并决定您是否认为这是一个有用的工具。如果是,请继续阅读有关如何在服务器上安装它的信息。对于本教程,我们假设您已经安装了 Apache 并在服务器上提供网页。

使用GoAccess进行Web日志可视化

安装GoAccess

首先,我们需要安装 GoAccess。在 CentOS 和 Red Hat 系统上,你需要先启用 Fedora EPEL 存储库,然后安装非常简单:
sudo yum install goaccess
不幸的是,Debian 或 Ubuntu 系统上的存储库版本相当过时。然而,好消息是 GoAccess 团队维护着他们自己的存储库。以下是使用 GoAccess 存储库安装的方法:
echo “deb http://deb.goaccess.io/ $(lsb_release -cs) main” | sudo tee -a /etc/apt/sources.list.d/goaccess.list
wget -O – http://deb.goaccess.io/gnugpg.key | sudo apt-key add –
sudo apt-get update
sudo apt-get install goaccess

日志文件分析

安装 GoAccess 后,您可以开始使用它来分析日志文件。默认行为是 GoAccess 执行分析并在给定文件的命令行中显示结果:
sudo goaccess /var/log/apache2/access.log
在这种情况下,GoAccess 将启动并请求日志文件的文件格式。对于 Apache 访问日志,您可以选择“NCSA 组合日志格式”选项。然后,它将解析文件并显示输出供您阅读。您可以使用箭头键上下滚动查看信息。问号 (?) 打开帮助屏幕,其中包含有关更多控件的信息。按 q 退出程序。

Web 浏览器中的日志输出

如果您想在 Web 浏览器中查看日志输出,我们需要对配置文件进行一些调整。默认情况下,这是 /etc/goaccess.conf 文件。sudo
nano /etc/goaccess.conf
这是一个注释良好的文件,其中包含大量对您正在查看的内容的解释。因此,首先,在“时间格式选项”部分,我们需要取消注释 Apache/NGINX 的时间格式行:
time-format %H:%M:%S
然后在“日期格式选项”部分,您需要取消注释 Apache/NGINX 的日期格式行:
date-format %d/%b/%Y
接下来在“日志格式选项”部分,取消注释 NCSA 组合日志格式的行:
log-format %h %^[%d:%t %^] “%r” %s Sb “%R” “%u”
现在保存并退出文件。请注意,如果您打算查看不同的日志文件,则有很多各种日志文件格式的选项。

生成网页

现在我们可以用以下命令生成日志信息的网页:
sudo goaccess /var/log/apache2/access.log -o /var/www/html/goaccess.html
请注意,您需要将输出文件(用 -o 标志指定)设置为可从 Web 服务器访问的某个位置,以便在浏览器中查看它。 在本例中,我使用了 Apache 默认网站目录的根目录。 现在,我可以在我的网站上打开该文件来访问报告。 例如:http://www.example.com/goaccess.html在本例中,我们创建了一份一次性报告,该报告对当时的日志文件进行快照。 要制作持续更新的报告,您需要在命令中添加“–real-time-html”标志:sudo goaccess /var/log/apache2/access.log -o /var/www/html/goaccess.html –real-time-html您会注意到,这次 GoAccess 应用程序保持运行并打印消息“WebSocket 服务器已准备好接受新的客户端连接”。现在,网页导航与以前大致相同,但随着服务器上出现新连接,网页会保持更新。一个不错的功能是,您不仅限于一次只能分析一个日志文件,因此,如果您在服务器上保留多个同时访问日志,则可以将它们全部列出,然后 GoAccess 可以一起分析它们:sudo goaccess /var/log/apache2/access.log /var/log/apache2/another-access.log /var/log/apache2/yet-another-access.log -o /var/www/html/goaccess.html再次,访问网页将为您提供 GoAccess 对这些日志文件的分析输出。这只是对日志文件和 GoAccess 功能的简单介绍,非常值得查看帮助信息和网站上的详细信息,看看您还可以做什么。

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

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

相关文章

慎用 readFileSync 读取大文件, 教你一招如何优雅处理大文件读取

我们在编写 nodejs 服务的时候,有时候需要使用 fs.readFileSync api 去读取文件,但是使用 fs.readFileSync 会将文件读取在内存中,如果遇到了文件很大时,fs.readFileSync 会占据服务器大量的内存,即使读取的文件比较小…

代发考试战报:7月16号武汉参加HCIP-Transmission传输 H31-341考试通过

代发考试战报:7月16号武汉参加HCIP-Transmission传输 H31-341考试通过,,有2个题好像没见到过,其他都是题库里的原题,题库很准,这个题库也不是一直不变的,也没规律可循什么时候变题,哪…

【TAROT学习日记】韦特体系塔罗牌学习(6)——教皇 THE HIEROPHANT

韦特体系塔罗牌学习(6)——教皇 THE HIEROPHANT 目录 韦特体系塔罗牌学习(6)——教皇 THE HIEROPHANT牌面分析1. 基础信息2. 图片元素 正位牌意1. 关键词/句2.爱情婚姻3. 学业事业4. 人际财富5. 其他象征意 逆位牌意1. 关键词/句2…

PostgreSQL 中如何实现数据的批量插入和更新?

🍅关注博主🎗️ 带你畅游技术世界,不错过每一次成长机会!📚领书:PostgreSQL 入门到精通.pdf 文章目录 PostgreSQL 中如何实现数据的批量插入和更新?一、批量插入数据1. 使用 INSERT INTO 语句结…

PSINS工具箱函数介绍——r2d

介绍工具箱里面r2d这个小函数的作用。 程序源码 function deg r2d(rad) % Convert angle unit from radian to degree % % Prototype: deg r2d(rad) % Input: rad - angle in radian(s) % Output: deg - angle in degree(s) % % See also r2dm, r2dms, d2r, dm2r, dms2r% …

运维锅总详解VLAN

本文介绍了VLAN作用、公司多个部门VLAN举例、VLAN间路由、VLAN协议控制字段解释及工作流程、VLAN历史演进等方面对VLAN技术进行详细分析。希望对您理解VLAN有所帮助! 一、VLAN作用 VLAN(Virtual Local Area Network,虚拟局域网)…

FreeSWITCH 1.10.10 简单图形化界面26-在网页上播放SIP设备视频

​ FreeSWITCH 1.10.10 简单图形化界面26-在网页上播放SIP设备视频 1、前言2、大概流程3、测试环境4、安装流媒体服务器5、设置流媒体服务器接口6、简单写个web接口7、测试一下1、web播放在线播放器1在线播放器2本地video控件 2、vlc播放vlc播放rtmpvlc播放rtsp 8、总结 1、前…

简过网:公务员公示后是不是就没有问题了?

A:请问,公务员录用考试公示期过后是不是说明就正式录用了? Q:公务员已经公示录用,就说明前期政审已经过关,档案在前期的审查工作中没有发现问题,在入职前,档案会调入组织部&#xf…

10.发布确认

解决消息不丢失的一个重要环节。 前面说过消息持久化,可能出现一种情况就是: 尽管它告诉rabbitmq将消息保存到磁盘,但是依然存在当消息刚准备存储到磁盘的时候,但是还没有存储完,消息还在缓存的一个间隔点。此时消息…

充电桩--交流充电桩硬件原理以及竞品方案

聚焦光伏领域、深耕储能市场、探究充电技术 微信公众号 小Q下午茶 聚焦光伏领域,深耕储能市场,探究充电技术 47篇原创内容 公众号 一、交流充电桩系统介绍 为了实现能源安全和“双碳”目标的达成,充电桩是需要智能电网支持,…

Linux 各目录

Linux 是一个非常严谨的操作系统,每个目录都有自己的作用,这些作用是固定的,没有特殊情况,应严格执行; Linux 中所有东西以文件形式存储和管理,命令也不例外; 以下四个 bin 是二进制文件&…

linux C++ onnxruntime yolov8 视频检测Demo

linux C onnxruntime yolov8 视频检测Demo 目录 项目目录 效果 ​编辑CMakeLists.txt 代码 下载 项目目录 效果 ./yolov8_demo --help ./yolov8_demo -c2 -ptrue ./yolov8_demo -c1 -strue CMakeLists.txt # cmake needs this line cmake_minimum_required(VERSION 3…

力扣最热一百题——3.最长连续序列

目录 题目链接:128. 最长连续序列 - 力扣(LeetCode) 题目描述 示例 提示 解法一:排序双指针剪枝 思路 1. 获取数组长度并进行特判 2. 对数组进行排序 3. 初始化变量 4. 遍历数组并寻找最长连续子序列 5. 返回结果 总结…

Linux笔记-对.a静态库的进一步理解(2024-04-09)

过程 问: Linux中生成.a库时候,如果代码里面调用了一些只引用未定义的函数,gcc不报错,但能生成对应的.a文件,这是为什么?再写一个执行程序去调用.a库时,链接时就会报这个.a库未定义的引用&…

列举excel中调整行高列宽的五种方法

列举excel中调整行高列宽的五种方法 在Excel中调整行高列宽的方法有以下五种: 使用鼠标手动调整行高列宽:将鼠标悬停在行或列的边界上,光标会变成双向箭头,此时按住鼠标左键并拖动边界即可调整行高或列宽。 使用快捷键调整行高列…

node和npm安装;electron、 electron-builder安装

1、node和npm安装 参考: https://blog.csdn.net/sw150811426/article/details/137147783 下载: https://nodejs.org/dist/v20.15.1/ 安装: 点击下载msi直接运行安装 安装完直接cmd打开可以,默认安装就已经添加了环境变量&…

vue3通过html2canvas dom转图片复制到剪贴板和dom转图片并下载

代码实现 <template><div class"page"><div id"to-img-dom"><strong>我是图片标题</strong><p>我是内容&#xff0c;我是内容&#xff0c;我是内容&#xff0c;我是内容&#xff0c;我是内容&#xff0c;我是内容&am…

Jupyter notebook 快速入门

1、什么是jupyter notebook Jupyter Notebook是一个交互式笔记本环境&#xff0c;可以在其中同时编写和运行代码&#xff0c;以及进行数据分析和可视化。它支持多种编程语言&#xff08;如Python、R、Julia等&#xff09;&#xff0c;并提供了丰富的功能和工具供用户使用。Jup…

如何减少网站延迟?

什么是网络延迟&#xff1f; Web 延迟描述了网站响应用户请求所花费的时间。它是网络性能的一个重要因素&#xff0c;因为它决定了用户访问网站内容并与之交互的速度。当延迟很高时&#xff0c;网站会变得缓慢且反应迟钝&#xff0c;从而导致用户不满意。延迟可能由多种因素引…

如何用 WinDbg 调试Linux上的 .NET程序

一&#xff1a;背景 1. 讲故事 最新版本 1.2402.24001.0 的WinDbg真的让人很兴奋&#xff0c;可以将自己伪装成 GDB 来和远程的 GDBServer 打通来实现对 Linux 上 .NET程序进行调试&#xff0c;这样就可以继续使用熟悉的WinDbg 命令&#xff0c;在这个版本中我觉得 WinDbg 不…