1

使用 umami 统计

 3 months ago
source link: https://oldj.net/article/2022/06/24/use-umami/
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

最近从这篇文章中了解到 umami 这个开源的可自托管的网站统计工具,试用了一段时间,觉得确实简单易用,值得关注。

umami 是什么

umami 是一个轻量级的网站访问统计工具,开源免费,可自托管,用途类似 Google Analytics。当然,umami 的功能远没有 Google Analytics 那么丰富,不过如果你的需求不多,只想了解网站的访问量(PV、UV)、流量来源等基本信息,以及记录一些简单的自定义事件,那么 umami 会是一个不错的选择。

关于 umami 的具体功能,可以前往 umami 的官网,体验一下官方提供的 Live Demo。

umami 目前没有官方托管服务,使用时基本上需要自托管,这虽然会有一些麻烦,但也意味着你的访问数据保存在你自己的服务器(数据库)上,因此不用担心数据泄露的问题。

通过 Railway 部署

umami 官方文档中介绍了多种部署方法,包括部署到 Vercel、Railway 等方法。我一开始是使用 docker 部署在自己的服务器上,但后来发现使用 Railway 托管似乎更简单,且它的免费额度应该足够支持我的用量了,于是便又迁移到了 Railway。

Railway 是一个服务托管平台,和 Vercel 等类似,不同的是它除了支持 Next.js 等程序外,还提供 PostgreSQL 等数据库存储服务,因此完全可以在上面托管一个动态网站服务。

无需添加支付方式,Railway 就为每个用户提供每月 5 美元的免费额度,足够大部分小应用(比如流量较小的 umami 应用)运行,添加信用卡后,这个额度会变成每月 10 美元。

Railway 中有创建 umami 项目的模板,可以直接从模板创建,也可以手动操作,从空白项目开始自行创建并连接各个服务。具体的安装步骤可以参考官方文档或者这篇文章,我的安装过程很顺利,没有遇到什么意外,因此这儿就不再赘述了。

在 Railway 上部署好并配置好域名之后,就可以访问你的 umami 服务了,接下来就是在 umami 后台添加上对应的站点,获取统计脚本并添加到你的网站中,然后就可以看到网站的访问统计了。

umami_realtime.png

umami 实时面板

值得一提的是,umami 管理后台对移动端的支持也很好,在 iPhone 上用 Safari 访问后台,并将它添加到主屏幕后,就可以像使用 App 一样访问这个管理后台。

优点与不足

经过一段时间的使用,个人觉得 umami 是一个优点与不足并存的产品。

  • 免费、开源,可自托管
  • 注重数据安全及隐私
  • 轻量级,对服务端要求低,网络流量占用也很少
  • 部署、使用简单
  • 提供了各种常用自定义项,比如可更改统计 js 文件的名字,防止被广告插件拦截等
  • 支持手动提交访问数据到 API,这意味着一些非 Web 应用甚至非 JS 应用(比如桌面 App)也可以使用 umami 进行统计

umami 的不足主要集中在功能上,如果你用不到这些功能,那么可以无视这些不足。

  • 访客来源只能精确到国家或地区,不能精确到城市(关于这一点,开发者有提到是出于保护用户隐私的考虑故意这么设计的,我看了下,数据库中甚至没有记下访客的 IP,因此这是 feature 不是 bug。可以理解,不过如果你的用户大部分来自同一个国家,那么这个访客来源就有点太笼统了)
  • 缺少留存率统计
  • 自定义事件较为简单,只支持一个参数,没有二级参数或子参数

总体来说,umami 是一个用心的作品,如果你不需要统计太多复杂的数据,并且正在寻找一个 Google Analytics 的替代品,那么不妨试一试 umami。

umami 是开源的,看作者在 GitHub 上的提交记录,这个应用正在活跃的开发中,相信接下来会越来越完善。

就我个人来说,umami 虽然功能上还有一些欠缺,但已经基本满足我的需求了,预计接下来比较长的一段时间里,我会继续使用 umami。


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK