Skip to content

用GoAccess实现可视化并实时监控access日志

GoAccess

实战:用GoAccess实现可视化并实时监控access日志-2025.1.9

image-20250109214903877

目录

[toc]

版权

本内容来自:《极客时间:Nginx 核心知识 150 讲》,版权归原作者所有,这里仅记录自己的学习笔记。

前言

官方文档

https:yuminstallepel-releaselibmaxminddb-develncurses-devel-y

源码编译安装:

测试:

部署后,但存在的问题:右上角的时间一直不更新……😒(奇怪)

image-20250111080534165

使用GoAccess

goaccess方式:

image-20250109213920595

传统access.log日志:

image-20250109213953584

用法:

image-20250109214627305

执行:

image-20250109214253248

nginx中配置:

image-20250109214430409

打开链接:

image-20250109214505215

FAQ

案例:开启实时real-time-html

给作者个补充,默认goaccess在开启实时real-time-html后会监听端口7890的websocket,如果服务器不允许请求7890端口,你就看不到那个页面是实时更新的——你会发现访问的页面最后更新时间始终不变。这一点人很多忽略了,很多人以为是哪个生成html静态文件是实时更新的,其实根本不是,那个文件本身一旦生成就不动了,真正更新的实时内容是从websocket过来的

作者回复:谢谢分享!

老师,这个--real-time-html 实时更新不生效是怎么回事?

作者回复:你是在公有云的机器上吗?goaccess会启动一个端口7890,这个端口在公有云上是被iptables屏蔽了的,需要你到控制台的安全组里,放行7890端口的。你可以在浏览器上打开调试模式,看看7890有没有连接上。

案例:性能

每天上百G用这个还行吗

作者回复:100G吗?可以的,但对CPU是有消耗的。官方有个benchmark,采用i7 2GHz的CPU分析时,每 12GB日志如果在磁盘上需要一个小时的处理时间,如果是在内存中是20分钟。它默认在内存中用hash表处理,每秒处理五万行。所以这种大流量分析,还是需要考虑你有没有富裕的CPU资源。

请问使用go access 会影响 nginx的性能么,它主要耗费哪些资源呢?老师如果之前使用比较多的话,可以分享一下么

作者回复:它只是在分析日志,不会与nginx产生交互。如果你把goaccess与nginx部署在一起,那么goaccess会争抢cpu和内存。https:

版权:此文章版权归 One 所有,如有转载,请注明出处!

链接:可点击右上角分享此页面复制文章链接

上次更新时间:

最近更新