Rybbit Analytics:开源流量统计安装 & 简单体验

文章目录
文章目录
  1. 1. 我用过的网站流量统计
  2. 2. Rybbit Analytics 功能特性介绍
  3. 3. Rybbit Analytics 安装记录(Docker Compose)

大概两周前,我把网站的流量统计系统从 Matomo 换成了 Umami。这是一款开源、免费、界面简洁的流量分析工具,部署方便,使用起来也比较顺畅。但实际体验下来,问题也不少。最让我无法忽视的一点是数据失真:访问量看起来非常可疑,怀疑是把搜索引擎蜘蛛、机器人等流量也一并计入了访客数,总之水分很大。

起初我想着凑合用用,毕竟只是想了解个大致趋势。但这两周看着那些“虚高”的数据,越看越难受,最终还是决定继续寻找替代方案。这时,一款叫 Rybbit Analytics 的开源统计工具引起了我的注意。从 DEMO 页面来看,它功能完整,界面也足够现代,最重要的是支持完全自托管,而且声称默认就能过滤大部分无效流量。

Rybbit Analytics 是一个开源、注重隐私的网页流量分析项目,代码托管在 GitHub,设计理念偏向轻量、真实、可控。虽然上线时间不算久,但它在开发者社区中已有一定热度,不少人拿它来对比 Matomo、Umami,认为是一个不错的新选择。接下来,我就实际安装试了一遍,并简单记录下整个过程和使用体验。

1. 我用过的网站流量统计

尽管我的网站流量并不大,但试过的流量统计工具可不少。用得最久的还是百度统计和 Matomo,前者方便、上手快,后者功能全面,自托管也很灵活。除此之外,我也用过 Google Analytics、Umami,还有宝塔面板内置的那个简易统计工具。它们各有优劣,有的功能强但部署复杂,有的轻便但不够精准,还有些虽然看着“高大上”,但不是很适合我。

您各位可以看看下边这两篇文章,里边有涉及到各个统计工具的对比、优劣势和界面截图。

2. Rybbit Analytics 功能特性介绍

Rybbit Analytics 是一个现代化的开源 Web 流量分析平台,它不仅提供了可自托管的解决方案,还兼顾了数据隐私与前端性能,适用于博客、小型网站乃至中型业务系统的流量监控需求。Kevin 实际对比了一下,在开启屏幕录制(Replay)的情况下,Rybbit 会占用内存约 900MB,相对较高。若关闭屏幕录制则消耗的内存和 Umami 差不多。

经过我一天的测试和使用,我可以非常明确的说:Rybbit 的有效统计比 Umami 准确的多,因为暂时没有装 Matomo,没法直观对比,但感觉两者应该差不多。我现在几乎可以确定 Umami 是把机器人、嗅探等也列入真实访客了 😴

尽管 Rybbit Analytics 功能强大,可能是比较新的原因,目前在自托管这块没有看到任何需要收费的地方,也没有任何广告推广,希望继续保持。以下,我结合截图和官方说明简介 Rybbit Analytics 功能特性:

如上图所示,Rybbit Analytics 统计总览跟其他工具差不多,也比较清爽。我认为可以改进的地方:1)暂不支持多语言;2)左边的菜单栏能收起或者隐藏最好;3)能替换 Logo 那就完美了!

Rybbit 的实时统计搞了个地球模型,会根据访问量在对应的地点打上标记,还挺酷炫。地图模块则是根据颜色深浅来展示访问的情况。这两个模块就是图一爽,没啥用。


Rybbit Analytics 中的 Goals(目标追踪) 功能,允许你自定义并跟踪用户在网站上的关键行为,例如点击按钮、完成表单、访问某个特定页面等。这对于分析用户转化路径、衡量营销效果以及优化页面结构都非常有帮助。

通过在网站中嵌入简单的事件代码或使用自带的事件接口,Rybbit 可以实时捕捉这些“目标事件”的触发次数,并在仪表盘中以图表和趋势的形式展示,帮助你快速了解哪些内容最能引导用户达成预期行为。这个功能尤其适合希望评估运营成效、进行 A/B 测试的站点管理员或产品人员使用。

目前我还没有很好地体验这个功能,但 Replay(用户回访录像)我是真喜欢:

我看了不少访客的行为录像,发现大家还挺喜欢看评论的…😆😆😆

我曾在介绍 Microsoft Clarity 的文章中重点提到“用户行为回放”功能。Clarity 虽然实用,但在还原度上做了取舍,尤其是对图片和视频内容常用占位符替代,以降低流量和资源消耗。而 Rybbit Analytics 则在这一点上走得更远,实现了几乎完整的录制和还原,不仅保留页面结构,还包括图像加载、视频播放、弹窗展示、动态交互等细节,力求重现用户当时所见所闻。

这种高保真的 Replay 功能让网站运营者能够真正“看到”用户的真实体验,深入理解用户路径、行为习惯以及潜在痛点,极具分析价值。当然,这也带来了更高的带宽、存储和系统性能压力,尤其在高流量场景下,对前端采集、后端处理和整体架构提出了更高要求。但对于那些重视用户体验与数据驱动决策的团队来说,这是一个值得投入的功能。

Rybbit Analytics 提供了多个进阶分析模块,比如 Funnels、Journeys 和 Retention,这些功能分别对应用户行为路径、使用轨迹以及留存情况等多个维度的洞察。从界面设计和功能命名来看,它们非常适合产品经理、运营团队深入了解用户在网站上的使用流程、转化路径以及长期活跃度等关键数据。但由于目前我的使用场景更聚焦于基础的用户行为回放和事件分析,因此这几个模块我尚未深入使用,仅做初步了解。

  • Funnels:用于分析用户在一系列特定操作步骤中的转化情况,比如从进入首页到完成注册,再到发起咨询的每一步转化率,适合用于优化流程中的“漏斗瓶颈”。
  • Journeys:可视化展示用户访问站点过程中实际经历的行为路径,帮助你发现真实使用路线与预期设计之间的差异。可以看到用户是如何“自己探索”的,他们可能并不是线性地完成任务,而是多次返回、跳转、反复尝试,甚至中途放弃。
  • Retention:即用户留存分析,用来评估用户首次访问之后是否在未来的某几天内再次回来,衡量产品或服务的持续吸引力。

Rybbit Analytics 的最后一个模块是 Behavior(行为),这是我目前使用最频繁的部分。相比 Funnels、Journeys、Retention 这些更偏向数据建模与趋势分析的模块,Behavior 更侧重于实时和具体的用户行为记录,适合用于日常监测、问题排查以及用户行为分析。这个模块下包含四个子功能:

  • Sessions:展示所有用户会话列表,支持查看访问时间、持续时长、来源、设备、浏览页面等详细信息,同时可以一键回放整个会话过程,是观察用户整体访问行为的核心入口。
  • Users:按用户维度汇总,能查看每位用户的活跃频率、访问页面、事件触发情况等,并支持标记、分组或查看用户画像,适合用于跟踪某类目标用户群体。
  • Events:记录并统计网站上发生的所有事件,包括点击、滚动、表单提交、自定义事件等。每个事件都能溯源到用户和会话,也可以作为构建 Funnels 或分析 Journeys 的基础数据。
  • Errors:收集前端页面中的运行错误(如 JavaScript 报错,需要单独开启),并关联到触发错误的具体用户会话,有助于开发人员快速定位问题、复现场景,提升产品稳定性。

整体而言,Rybbit 是为那些既重视隐私,又希望拥有强大控制力的网站管理员量身定制的现代统计工具。对比 Google Analytics、Matomo、Umami 等工具,Rybbit 在“数据主权”和“极简体验”之间取得了不错的平衡。

3. Rybbit Analytics 安装记录(Docker Compose)

先说下我的环境,我打算直接把 Rybbit 安装在阿里云主服务器上。前段时间刚清理过缓存和无用容器,现在又有了些折腾的空间。服务器系统是 Debian 10,搭配 Nginx 1.28、PHP 8.2、MySQL 5.7.44,装了 Docker,也在用宝塔面板 11 管理各类服务。

如此配置下,自然首选 Docker 安装方式——省事省心、好维护。打开 Rybbit 官方文档 可以看到,它推荐的自托管部署方式就是基于 Docker Compose,而且已经打包了 docker-compose.yml 文件,咱们只需要下载到合适的目录直接运行就可以了,适合像我这种已有基础服务的环境中直接上手。

我有点强迫症,所以在官方的基础上稍微动了点“手脚”——没有直接在默认的 rybbit 目录里部署,而是按照我的习惯,把它的所有文件移动到了宝塔面板下创建的网站根目录 /www/wwwroot/rybbit.shephe.com 中。这样做有几个好处:

  • 一是便于统一管理,所有站点都按照固定路径和结构放置,看着清爽,用起来也顺手;
  • 二是方便反向代理配置,无论是设置 HTTPS 证书,还是配合 Nginx 做转发,都不需要额外写路径跳转规则;
  • 三是后期如果要备份、迁移或关联其他前端页面,也更加直观省事。
# 创建目标目录,我是在宝塔面板 - 网站面板中创建和管理的,方便配置网站
mkdir -p /www/wwwroot/rybbit.shephe.com
cd /www/wwwroot/rybbit.shephe.com
git clone https://github.com/rybbit-io/rybbit.git
cd rybbit

# 移动所有文件到上一级目录并删除掉空目录
mv * .[^.]* ../
cd ..
rm -rf rybbit
chmod +x *.sh

# 执行安装脚本(不启用内置 web server,因为我会使用 nginx 反代)
./setup.sh rybbit.shephe.com --no-webserver

在执行上述最后一行命令时,又遇到了不可描述的网络问题……所以我要手动修改文件 docker-compose.yml,将里面有关地址都替换成了我阿里云分配的专属 Docker 镜像地址——这个方案行不通了!阿里云加速器只是代理,它只支持 Docker Hub 的公开镜像库(如 library/postgreslibrary/caddy),并不会自动代理 GHCR(GitHub Container Registry)或 ClickHouse 的私有仓库。

必须换个方式:1)找到合适的镜像,2)在本地或没墙的服务器上手动拉取到本地,再传到阿里云,再导入……我上次装 Umami 的时候反正是没找到合适的镜像,所以我干脆还是老老实实手动拉取吧,无奈。

其实,长期使用可以考虑自己做一个镜像代理,后面再更新别的 Docker 项目也方便不少。我最后一盘算,干脆直接装在海外的测试服务器上,毕竟,极有可能是不会长期使用 Rybbit 的。按照上述的命令,是完全可以正常运行的!

配置好域名的 SSL 证书后,接下来就是设置反向代理。根据 Rybbit 官方文档,前端和后端(API)都需要进行反代,这将涉及到“嵌套反代”的情况,而宝塔面板默认并不支持这种配置。因此,我们需要结合“半自动+手动”的方式来操作:首先在宝塔网站设置中创建一个反代规则,然后再手动修改其配置文件,具体如下:

#PROXY-START/

# 后端 API 反代
location ^~ /api/ {
    proxy_pass http://127.0.0.1:3001;
    proxy_http_version 1.1;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    # WebSocket 支持
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    add_header X-Cache $upstream_cache_status;
    add_header Cache-Control no-cache;
}

# 前端应用(React SPA)
location / {
    proxy_pass http://127.0.0.1:3002;
    proxy_http_version 1.1;

    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;

    # WebSocket 支持
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection "upgrade";

    # React 前端路由 fallback,防止刷新页面出现 404
    try_files $uri $uri/ /index.html;

    # 缓存控制
    set $static_file 0;
    if ($uri ~* "\.(gif|png|jpg|jpeg|svg|ico|css|js|woff|woff2)$") {
        set $static_file 1;
        expires 1m;
    }
    if ($static_file = 0) {
        add_header Cache-Control no-cache;
    }

    add_header X-Cache $upstream_cache_status;
}

#PROXY-END/

不出意外的话,现在访问域名就可以开始初始化 Rybbit Analytics 了,首先会让你注册默认管理员账号、新建第一个组织、第一个网站等等,都很简单,看看就会了。

最后,如果要更新 Rybbit 项目的话也非常简单,因为开发者已经考虑到了…我们只需要进到文件目录,如/www/wwwroot/rybbit.shephe.com,执行bash update.sh就可以啦~

「Rybbit Analytics:开源流量统计安装 & 简单体验」有 18 条评论
  • smartX
    08/26/2025 at 09:34

    国内的JYC统计的网页鼠标移动轨迹录像不错!

  • 姜辰Jcs.Moe
    08/16/2025 at 19:59

    这折腾的是真的强。

    不过想吐槽一下,首页标题那里,悬浮鼠标立刻有个大图~~~~

    看不到摘要了啊

    • 的头像
      Kevin
      09/09/2025 at 00:56

      哈哈哈,我回头把首页更新一下~换个展现方式

  • 天天下载ttzip
    08/04/2025 at 06:41

    感谢分享,谢谢站长!!@天天下载

  • 山野愚人居
    08/03/2025 at 14:55

    流量统计以前用过,不过个人博客流量都不大,佛系了!

    • 的头像
      Kevin
      09/09/2025 at 00:56

      嗯嗯,纯个人博客无所谓;
      我是要监测某个数据~

  • 取名好难
    08/02/2025 at 22:16

    录像功能有一种被监视的感觉

    • 的头像
      Kevin
      08/02/2025 at 22:30

      哈哈哈,一点点一点点

  • 信息发布
    07/31/2025 at 15:55

    确实功能很强大,赞

  • hary
    07/30/2025 at 23:36

    这个看着有点高级啊,没特别多需求就勉强先用百度吧,虽然一天1IP没啥统计的必要,哈哈

    • 的头像
      Kevin
      08/02/2025 at 07:51

      嗯嗯嗯,随便折腾一下;
      功能强大的带价是资源消耗高~

  • 的头像
    obaby
    07/30/2025 at 08:49

    这功能强大

  • wu先生
    07/29/2025 at 20:09

    不明觉历。

  • 的头像
    Jeffer.Z
    07/29/2025 at 19:39

    占用这么大吗?就是因为那个录像,国内我记得有百度统计,海外是谷歌统计。百度是已经停止了吗,其实以前百度和cnzz的挺不错的 。

    • 的头像
      Kevin
      07/29/2025 at 20:21

      是因为开了录频,这个对性能影响特别大,不开录屏占用的内存总共大概是 300 MB作用,那个录屏对于你们做产品的应该很有帮助

发表评论

请输入关键词…