01 引言
还记得之前做项目的时候,需要统计网站的PV、UV等,引入了百度统计的一段js。因为公司需要上市,数据安全的越来越重视,于是由于安全问题取消了网站的统计功能。
最近,发现一款类似百度统计、Google Analytics的开源分析工具:Umami。可以云托管也可以独立部署,数据更安全。
02 简介

Umami是一款开源、注重隐私的网络分析工具,可作为谷歌分析的替代方案。它能提供有关网站流量、用户行为和性能的重要见解,同时始终将数据隐私放在首位。不收集或存储个人数据,无需使用Cookie,并且符合GDPR和PECR标准。

优势:
-
极简主义与用户体验
界面清爽通过精美的图表和列表一目了然地展示,聚焦核心指标
-
以隐私保护为核心
无需Cookie警告,默认不收集任何个人身份信息,也不使用Cookie进行跟踪
-
开源与自托管
MIT 许可证下的开源软件,可以免费使用、修改和分发
-
强大的多功能支持
同时跟踪和管理多个网站,每个网站都有独立的仪表板和数据,以及共享链接
GitHub地址:https://github.com/umami-software/umami
官方地址:https://umami.is/
03 部署

官方文档给了三种安装方式:
- 从
GitHub上源码安装 - 使用Docker compose构建自己的镜像源
- 使用已有的镜像
3.1 拉取镜像
本文以存在的镜像部署。镜像根据数据存储的介质分了两种:postgresql版和mysql版。
sh
# PG版
docker pull docker.umami.is/umami-software/umami:postgresql-latest
# mysql版
docker pull docker.umami.is/umami-software/umami:mysql-latest
本节选用的PG版:

3.2 启动
官方没有给出docker启动的脚本,直接启动会报错。从源码安装的流程中发现,安装时需要指定DATABASE_URL参数,用来执行数据库驱动的连接以采集数据。如图:

所以我们启动业务需要指定数据库连接。容器的端口是3000,也需要暴露出来。

docker启动命令:
sh
docker run \
--name umami \
-p 3000:3000 \
-e DATABASE_URL=postgresql://root:root@postgres@127.0.0.1:5432/umami \
-d docker.umami.is/umami-software/umami:postgresql-latest
这里的数据库连接需要指定数据库,所有我们需要提前创建好数据库。启动之后,需要查看日志:
sh
docker logs -f umami
如下图表示启动成功:

我们就可以通过,localhost:3000 访问了。localhost需要换成服务器的IP。
届时,我们也会发现数据库也已经自动创建好了表:

3.3 测试
直接访问需要登录。默认的用户名和密码:admin/umami

登录之后非常简洁:
只有仪表盘、网站、报告和设置这四个Tab,且为空。

04 使用
在使用之前,默认进入的可能是英文。我们可以通过右上角的图标切换语言:

4.1 添加网站
我们需要添加需要监控的网站:

我们添加监控localhost的所有网站。同时也支持IP。
查看网站,就会进入到监控的额详情的列表:

4.2 添加脚本
监控服务好了之后,就需要页面添加脚本了。

进入之后,查看跟踪代码:

js
<script defer src="http://127.0.0.1:3000/script.js" data-website-id="6ffdf9b6-362a-42b3-afe6-4b91db81cb35"></script>
这里的data-website-id是生成的每个网站的唯一标识。只修要将这段js放在<head>标签里。

如图:

我分别在两个页面里面加了这段js。
4.3 访问测试


这里可以收集到所有来自localhost的访问信息。更多信息请自行探索吧!
面里面加了这段js。