用GoAccess实现可视化并实时监控access日志
GoAccess
实战:用GoAccess实现可视化并实时监控access日志-2025.1.9
目录
[toc]
版权
本内容来自:《极客时间:Nginx 核心知识 150 讲》,版权归原作者所有,这里仅记录自己的学习笔记。
前言
https:yuminstallepel-releaselibmaxminddb-develncurses-devel-y
源码编译安装:
wgethttps:tar-xzvfgoaccess-1.9.3.tar.gzcdgoaccess-1.9.3/./configure--enable-utf8--enable-geoip=mmdbmakemakeinstall
测试:
goaccessaccess.log-o/var/www/html/report.html--log-format=COMBINED--real-time-htmlgoaccess/var/log/nginx/onedayxyy.cn.https.log-o/root/rsync/rsync-vue/dist/report.html--log-format=COMBINED--real-time-html&
部署后,但存在的问题:右上角的时间一直不更新……😒(奇怪)
使用GoAccess
goaccess方式:
传统access.log日志:
用法:
执行:
nginx中配置:
打开链接:
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 所有,如有转载,请注明出处!
链接:可点击右上角分享此页面复制文章链接