一直都想找一款自建的统计工具替代掉,之前考虑过用 Matomo,但是看大家反馈说资源占用很大,而且很多功能都用不到,对于个人小站来说没有必要,最近终于发现了 Umami 这款工具,完全符合我的需求。
Umami 是一个简单易用、自托管的开源网站访问流量统计分析工具。Umami 不使用 Cookie,不跟踪用户,且所有收集的数据都会匿名化处理,符合 GDPR 政策,资源占用很低,虽然功能简单,但分析的数据内容很丰富,基本的来源国家,来源域名,使用的浏览器、系统、设备,访问的网页这些都有。还支持多国语言,完全可以用来替代 Google Analytics、Cloudflare Web Analytics、CNZZ、51LA 等统计工具,而且自己搭建也可以避免被 block 掉从而使统计数据更精确( 后来发现也会被部分去广告插件拦截… )。
查看在线演示
Umami 这个词语其实源于 “Umai”,在日语里是“美味、鲜味”的意思,从使用体验来看确实 umami,于是在这里分享一下搭建与使用的教程。
搭建过程
这里以 Debian 系统为例,使用源文件编译安装,Docker 安装的方式可以参考官方文档 。
环境准备
环境要求
- Node.js 12 或更高版本
- 数据库 (MySQL 或者 Postgresql)
MySQL 的安装可以参考我之前的文章 安装并配置 LNMP 的记录 。
这里简单的说一下 Node.js 的安装,由于 Debian 10 官方库的版本为 v10.24.0,不满足要求,所以需要添加由 NodeSource 维护的 PPA 来安装更新版本的 Node.js:
使用最新版本
截至目前 (2021-08-11),Node.js 的最新版本 为 v16.6.1
|
|
使用 LTS 版本(推荐)
我这里安装的是 LTS(长期支持)版本
|
|
安装 Node.js
|
|
检查 Node.js 和 NPM 版本:
|
|
Update(2021-10-13):
如果你已经更新到了 Debian 11 系统(Debian 10 升级 11 教程 ),官方软件源 node.js 为 v12.22.5 版本,npm 为 7.5.2 版本,可以直接使用下面的命令安装:
|
|
安装 Umami
从 GayHub 获取源代码:
|
|
创建一个 .env
文件,并添加下面的内容:
|
|
例如:
|
|
为 umami 导入预设好的数据表:
|
|
最后构建并启动程序:
|
|
但是这个命令退出以后就会自动停止,所以我们需要 PM2 工具来守护进程,PM2 能守护的东西很多,例如:Node.js、Python、PHP、Ruby、perl,还有消息队列程序、Shell脚本等等。
安装 PM2:
|
|
在 Umami 目录下运行:
|
|
设置重启服务器后自启动:
|
|
补充一些 PM2 的常用命令:
|
|
默认会运行在 http://localhost:3000
可以通过 IP 直接访问,这里补充一下使用 Nginx 反代:
|
|
更新 Umami
首先停止运行:
|
|
拉取最新文件:
|
|
重新安装并构建:
|
|
重新启动:
|
|
简单使用
Umami 安装好后,默认用户名为 admin
,默认密码为 umami
登录之后的第一件事是修改密码,选择 Setting
-> Profile
,然后设置你的密码。添加网站
添加网站
然后在上面的 Websites
中添加你的第一个网站:
勾选 Enable share URL 会为你的网站分析数据生成一个分享链接。
设置代码
之后点击图中的 Get tracking code 按钮,会弹出一段代码,复制到你网站中的 <head>
标签里就行了。
更多详细的使用方式,例如点击跟踪、多用户、环境变量以及 API 操作,可以查看官网文档 。