多合一网络分析平台Matomo
什么是 Matomo ?
Matomo
(以前称为Piwik
)是领先的开源分析平台,可以让您轻松地从访问者那里获得您想要的信息。例如查看您的网站访问者来自何处、正在查看哪些页面、单击了哪些链接以及其他各种有用的信息。
写 Umami
时,网友 Juijote
留言推荐过 Matomo
,所以我们今天来折腾看看
文章传送门:网站分析软件Umami
前言
开始之前需要先说明两个问题:
- 官方的版本,在低版本内核(
Linux kernel < 3.16
)的群晖上,会出现下面的错误
1 | [Tue Nov 01 05:44:11.089128 2022] [:crit] [pid 268] (38)Function not implemented: AH00141: Could not initialize random number generator |
这个 AH00141
错误除了换机器折腾外,老苏也没有更好的办法
你可以在
SSH
客户端,输入uname -a
查看内核版本
- 尝试过用群晖自带的数据库,但是连不上,没找到原因;
命令行安装
docker cli
在 SSH
客户端中依次执行下面的命令
从安全角度,涉及到
password
的地方,最好都改一下;
1 | # 新建文件夹 matomo 和 子目录 |
docker compose
将下面的内容保存为 docker-compose.yml
文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 matomo 和 子目录 |
运行
在浏览器中输入 http://群晖IP:7880
就能看到主界面
选择 简体中文
设置完成就是中文了,不需要刷新
点 下一步
,进行运行环境检测
继续 下一步
,进行数据库设置
因为我们已经在环境变量中进行了设置,所以这里只要继续点 下一步
即可
一般来说如果设置没问题的话,会成功建立数据表,继续 下一步
,创建系统的超级用户
设置完成后还是点 下一步
,对要跟踪的网站进行设置,当然还是以老苏的博客为例
接下来会生成 JavaScript 跟踪代码
其中
var u="//172.22.0.3/";
这是容器内部的IP
,后面用域名访问后会发生变化;
最后一步完成后,会收到安全警告
需要修改 /docker/matomo/web/config
目录中的 config.ini.php
文件
【注意】直接修改后保存,会显示权限不足,需要我们将
config.ini.php
文件先下载到本地,修改后再覆盖上传
找到 trusted_hosts[] = "192.168.0.199"
,增加端口,改为 trusted_hosts[] = "192.168.0.199:7880"
另外还需要再增加一行 enable_trusted_host_check=0
,用于跳过受信任检测,否则反代之后登录可能会失败
刷新页面,就会显示登录界面
登录成功后的主界面
反向代理
原来老苏准备用 https://matomo.laosu.ml:444
来访问,但经老苏测试,带端口的域名不管用,也就是说收集不到信息,这一点上和 Umami
是一样的
【备注】:
- 用
Nginx Proxy Manager
反代,因为老苏的域名没备案,所以带端口,似乎不起作用;- 用
Cloudflared
反代,域名不带端口,是OK
的;
按我们预设置的域名、局域网 IP
和端口进行设置
SSL
设置
网页访问存在截端口的情况,所以还需要在 Advanced
中加入下面的代码
1 | location / { |
跟踪代码
前面我们已经讲了,带端口的域名会收集不到信息,所以如果你跟老苏一样没备案,还是用
Cloudflared
做反代吧
假设用 Cloudflared
反代的域名是https://matomo.xiaosu.ml
,就不会有什么问题了,跟踪代码中会自动变成访问的域名地址
1 | <!-- Matomo --> |
将 Tracking Code
放到老苏博客网站的 <head>
部分,如果正好有人访问的话,很快就会有数据
可以查看访客更详细的访问页面和停留时间
参考文档
matomo-org/matomo: Liberating Web Analytics. Star us on Github? +1. Matomo is the leading open alternative to Google Analytics that gives you full control over your data. Matomo lets you easily collect data from websites & apps and visualise this data and extract insights. Privacy is built-in. We love Pull Requests!
地址:https://github.com/matomo-org/matomoMatomo Analytics - The Google Analytics alternative that protects your data
地址:https://matomo.org/matomo-org/docker: Official Docker project for Matomo Analytics
地址:https://github.com/matomo-org/docker