GoAccess是一个基于终端的快速日志分析器。其核心思想是实时快速分析和查看Web服务器统计信息,而无需使用您的浏览器(如果您希望通过SSH快速分析访问日志,或者只是喜欢在终端中工作),终端输出是默认输出,但它能够生成完整的,独立的实时 HTML
报告(非常适合分析,监控和数据可视化),以及JSON
和CSV
报告。
完全实时
所有面板和指标都定时在终端输出上每200毫秒更新一次,在HTML输出上每秒更新一次。几乎所有Web日志格式
GoAccess允许任何自定义日志格式字符串。预定义选项包括Apache,Nginx,Amazon S3,Elastic Load Balancing,CloudFront等跟踪应用程序响应时间
跟踪提供请求所需的时间。如果您想跟踪减慢网站速度的网页,则非常有用。增量日志处理
数据持久性强,GoAccess能够通过磁盘上的B + Tree数据库逐步处理日志。只有一个依赖
GoAccess是用C语言编写的,要运行它,你只需要将ncurses作为依赖项,它甚至还具有自己的RFC6455兼容Web Socket服务器。最小配置
您可以针对访问日志文件运行它,选择日志格式并让GoAccess解析访问日志并显示统计信息。访问者
按小时或日期确定最慢运行请求的匹配数,访问者数,带宽数和指标数。每个虚拟主机的指标
支持多虚拟主机,一个面板,显示哪个虚拟主机正在消耗大部分Web服务器资源。配色方案可定制
定制GoAccess以适合您自己的色彩品味。通过终端,或者只是更新HTML输出上的样式表。官方安装方法大致有三类:
更多请参考: https://goaccess.io/download
本文采用yum通过包管理器安装预编译版本, CentOS默认源中是不存在这个软件, 但是可以从fedora的epel源中找到. 根据CentOS7/8 安装适合的epel源.
CentOS 8
dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
CentOS 7
yum install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum install goaccess
下面将提示一个日志配置对话框,其中包含预定义的日志格式供您选择,然后实时显示统计信息。
goaccess /var/log/nginx/access.log -c
下面将解析访问日志并在静态HTML报告中显示统计信息。
goaccess /var/log/nginx/access.log -o report.html --log-format=COMBINED
⚠️ 注意: 我们直接在命令行中使用
--log format
指定日志格式。您还可以在配置文件中指定日志格式,如实际配置文件中所述。
下面将解析访问日志并在实时HTML报告中显示统计信息。
goaccess /var/log/nginx/access.log -o /var/www/html/report.html --log-format=COMBINED --real-time-html
- 可以把报告report.html放到Web服务器文档根目录下输出。这样可以通过将浏览器来查看。例如: http://bestyii.com/report.html
- GoAccess拥有自己的Web Socket server,这就是它将最新数据推送到浏览器的方式。
- 如果您没有运行Web服务器来承载报告。html,只需通过浏览器打开输出文件即可。
更多使用方法请参考官方帮助文档: https://goaccess.io/man
本文由 systemofdown 创作,采用 知识共享署名 3.0 中国大陆许可协议 进行许可。 可自由转载、引用,但需署名作者且注明文章出处。