首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

GoAccess:解锁Web日志的宝藏,你的实时分析神器!

偷偷溜进文章的小广告,别害羞,点进去瞅瞅,说不定能发现什么宝藏呢!文末那个也别错过,说不定是通往秘密花园的钥匙哦!

今天,我要向大家介绍一款开源的实时Web日志分析工具——GoAccess,它无疑是窥探这座数据宝藏的钥匙。

GoAccess是一款轻量级的日志分析工具,以其简洁的命令行操作和直观的可视化界面,赢得了众多用户的青睐。它不仅能够展示基本的统计数据,如独立访客、请求的文件、404错误等,还能提供更深层次的分析,如操作系统、浏览器、搜索引擎和HTTP响应代码等。

功能亮点

实时分析:GoAccess能够实时读取日志文件,并在终端或Web浏览器中动态展示分析结果。这种实时性确保了网站管理者能够随时掌握网站的最新动态,快速响应各种变化。

多格式支持:它支持Apache、Nginx、Amazon S3、Elastic Load Balancing、CloudFront等多种日志格式,几乎覆盖了所有主流的Web服务器和云服务。这使得GoAccess在不同环境下都能发挥出色的作用。

深度分析:除了基本的统计数据(如独立访客、请求的文件、404错误等),GoAccess还能提供更深层次的分析,如操作系统、浏览器、搜索引擎和HTTP响应代码等。这些详细的数据分析有助于网站管理者更全面地了解用户行为。

定制化报表:GoAccess能够将分析结果保存为HTML格式的报告,这些报告不仅美观易读,而且包含了丰富的统计信息和图表。这使得网站管理者能够更直观地理解网站流量和用户行为,并轻松地将报告分享给团队成员或客户。

无外部依赖,可离线查看html网页报告

WebSocket支持:通过配置WebSocket选项,GoAccess可以实现实时解析并输出日志详情的功能。这为用户提供了一个交互式的、动态更新的日志分析界面,使得数据分析更加直观和高效。

开启 WebSocket 选项,支持实时解析并输出日志详情

快速上手教程

docker容器部署

# 静态报告: 临时运行

docker run -i --rm --name=goaccess \

# 配置中文语言以及国内时区

-e "TZ=Asia/Shanghai" \

-e "LANG=zh_CN.UTF-8" \

# 开启地理位置解析,需要离线下载数据库

-v ~/goaccess/database/GeoLite2-City.mmdb:/GeoLite2-City.mmdb \

# 自定义配置文件,设定日志格式等

-v ~/goaccess/data:/srv/data \

# nginx日志路径

-v ~/nginx/logs:/srv/logs \

# html报告输出路径

-v ~/nginx/html/goaccess:/srv/report \

# 也可提前拉取镜像: docker pull allinurl/goaccess

allinurl/goaccess --no-global-config \

--config-file=/srv/data/goaccess.conf \

--output=/srv/report/index.html \

--log-file=/srv/logs/access.log \

--geoip-database /GeoLite2-City.mmdb

常规部署重点来了: WebSocket配置

如果希望使用WebSocket功能实现实时日志分析,需要在编译GoAccess时添加--with-openssl选项,并在运行时配置相关参数。以下是一些WebSocket相关的配置选项:

--real-time-html:启用实时HTML报告功能。

--daemonize:以守护进程方式运行GoAccess。

--origin=<url>:设置前端发送请求头Origin字段的值。

--port=<port>:设置后端WebSocket服务监听的端口号,默认为7890。

--ping-interval=<secs>:设置心跳间隔(以秒为单位),以保持WebSocket连接活跃。

如果担心直接暴露WebSocket端口的安全问题,可以使用Nginx等反向代理工具来代理WebSocket服务。

没有开启前左侧的小齿轮是灰色的按钮,打开控制台过滤websocket也没有该类请求.

按照上述GoAccess配合nginx反向代理后,开启websocket支持:

开启后左侧的小齿轮变成绿色,已有了websock请求!

现在有了实时监控日志的功能,可以及时掌握更多数据.

总结

本文属于GoAccess的应用篇,主要介绍了如何配置webSocket实现实时监控解析web日志的功能.

详细介绍了相关配置以及具体的演示案例,同时利用nginx反向代理方式避免了GoAccess默认端口7890暴露到外网的风险.

嘿,小伙伴们,你们知道吗?这字儿可不是白码的,每一颗键帽下的汗水都能浇出一朵花来!所以,要是看得开心,就请大方地撒点阳光——评论点赞转发走一波,让我这花园更加灿烂!

  • 发表于:
  • 原文链接https://page.om.qq.com/page/OABwO4ombxixpeviISFP43xw0
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券