一键部署 Umami 统计个人网站访问数据
谈到网站统计,大家第一时间想到的肯定是 Google Analytics。然而,我们都知道 Google Analytics 会收集所有用户的信息,对数据没有任何控制和隐私保护。
Google Analytics 收集的指标实在是太多了,有很多都是不必要的,没有博士学位可能都不太容易理解这些指标。
相比较而言,开源的网站统计工具可能更适合我们,他们可以私有化部署,同时尊重用户的隐私,可以完全控制自己的数据。这其中的佼佼者便是 Umami 与 Plausible。其中 Umami 架构更简洁,也更容易部署。具体优势如下:
- 简单易用,只跟踪关键指标,数据清晰易读。
- 可无限追踪网站和子域名,不受数量限制。
- 自托管部署可以绕过广告拦截器,有效避免 Google Analytics 等广告拦截器。
- 代码轻量,追踪脚本只有 2KB,支持 IE 等旧版浏览器。
- 支持多用户账号,提供共享链接,可以公开分享统计数据。
- 页面针对移动设备优化,可随时随地查看统计数据。
- 数据自主可控,不需要交给第三方,注重隐私。
- 代码采用 MIT 开源协议,开发者友好。
- 支持多语言,内置黑暗模式。
- API 开发友好,可以定制跟踪配置。
Umami 的数据都存放在数据库中,支持 MySQL、PostgreSQL 和 Clickhouse,对于小白来说部署起来还是有点小复杂。不过有了 Sealos 一键部署模板,这个问题就比较简单了,动动鼠标就行了,3 分钟即可解决战斗。
一键部署 Umami
首先通过以下链接打开 Umami 的应用模板:
https://cloud.sealos.io/?openapp=system-fastdeploy%3FtemplateName%3Dumami
只需要填一个参数 APP SECRET 即可,这个参数的值随便填一个字符串就行。然后直接点击「部署应用」。

部署完成后,点击确认跳转到应用详情页面,你会发现应用无法启动,因为这个模板同时创建了 PostgreSQL 数据库和应用,而数据库目前还不具备自定义初始化数据库的能力,等数据库后端升级到下个版本就可以自定义数据库啦,目前暂时需要我们稍微手动操作一下。
首先打开「数据库」:

进入 umami 数据库的详情页面:

直接点击「一键链接」:

便会进入数据库的终端:

通过以下命令新建一个数据库 umami:
create database umami;
最后退出终端,打开「应用管理」,进入 umami 应用的详情页面,可以看到应用已经启动成功了。查看日志:


接入 Umami
点击外网地址即可直接打开 Umami 的 Web 界面:

默认的用户名是 admin,密码是 umami。
进入管理界面后,要先创建一个网站:

点击「编辑」进入网站设置,复制跟踪代码,到自己网站的 <head> 内粘贴即可。

最终效果如下:

重写路径
Umami 是一个极其尊重隐私的网站统计服务,它与广告技术和监视资本主义无关,也不会收集任何个人数据。即便如此,它还是有可能会被某些广告过滤规则所屏蔽。
为了避免被广告过滤器误杀,我们可以重写 js 脚本的路径,按照官方文档,我们只需要添加一个环境变量即可。

Sealos 添加环境变量非常简单,在应用详情页面中点击「变更」:

展开高级配置,点击「编辑环境变量」:

添加环境变量 TRACKER_SCRIPT_NAME=xxx,这个值可以随便写,也不需要以 .js 作为后缀,这样更容易绕过广告过滤器的检测。

确认之后,点击「变更」,等待实例重新启动成功。再次打开 Web 界面,你会看到跟踪代码里的 js 链接已经变了:

Sealos 也提供了 Plausible 的一键部署模板,对 Plausible 感兴趣的小伙伴可以去试试:
一键部署 Umami 统计个人网站访问数据的更多相关文章
- 简单的JS统计静态网站访问次数
最简单的静态页面刷新 <html> <head> <meta http-equiv="Content-Type" content="text ...
- 配置, 映射WebDAV, 并通过IIS网站访问
服务端 0. 服务端安装IIS时, 选中WebDAV发布, Windows身份验证, 安装完毕后, 打开IIS管理器(inetmgr); 1. 新建网站或使用默认网站, 创建虚拟目录, 虚拟目录物理路 ...
- Hadoop第8周练习—Pig部署及统计访问日志例子
:搭建Pig环境 :计算每个IP点击次数 内容 运行环境说明 1.1 硬软件环境 线程,主频2.2G,6G内存 l 虚拟软件:VMware® Workstation 9.0.0 build- ...
- Git+Gitlab+Ansible剧本实现一键部署动态网站(二)--技术流ken
项目前言 之前已经写了一篇关于git和ansible的博客<Git+Gitlab+Ansible剧本实现一键部署Nginx--技术流ken>.关于git,gitliab,ansible在我 ...
- 红象云腾CRH 一键部署大数据平台
平台: arm 类型: ARM 模板 软件包: azkaban hadoop 2.6 hbase hive kafka spark zeppelin azkaban basic software bi ...
- Git+Gitlab+Ansible剧本实现一键部署动态网站(5)
项目前言 之前已经写了一篇关于git和ansible的博客<Git+Gitlab+Ansible剧本实现一键部署Nginx–技术流ken>.关于git,gitliab,ansible在我以 ...
- ASP.NET Core 一步步搭建个人网站(2)_一键部署和用户注册登录
俗话说,磨刀不费砍柴工.为了更方便的进行项目管理,我们先将个人网站项目配置一下,满足以下2个目标: VS2017中支持Git存储库,绑定Github项目,实现本地VS程序与线上Github一键代码提交 ...
- 网站每日PV/IP统计/总带宽/URL统计脚本分享(依据网站访问日志)
在平时的运维工作中,我们运维人员需要清楚自己网站每天的总访问量.总带宽.ip统计和url统计等.虽然网站已经在服务商那里做了CDN加速,所以网站流量压力都在前方CDN层了像每日PV,带宽,ip统计等数 ...
- 开源网站访问统计系统Piwik
http://www.piwik.cn/ http://www.piwik.org/ Piwik 是一套基于 Php+MySQL 技术构建,能够与 Google Analytics 相媲美的开源网站访 ...
- 从域名到网站,快速创建全新社区站点 - phpwind一键部署操作文档
关于phpwind一键部署服务,请查阅PW官网:http://www.phpwind.com/setup.html 选择一键部署镜像版本,立即开始使用: PW建站系统(Centos 64位) ———— ...
随机推荐
- 2023-03-23:音视频解混合(demuxer)为PCM和YUV420P,用go语言编写。
2023-03-23:音视频解混合(demuxer)为PCM和YUV420P,用go语言编写. 答案2023-03-23: 大体步骤如下: 1.打开媒体文件,并获取音频和视频流. 2.对于每个流,找到 ...
- 2022-12-15:寻找用户推荐人。写一个查询语句,返回一个客户列表,列表中客户的推荐人的编号都 不是 2。 对于示例数据,结果为: +------+ | name | +------+ | Wil
2022-12-15:寻找用户推荐人.写一个查询语句,返回一个客户列表,列表中客户的推荐人的编号都 不是 2. 对于示例数据,结果为: ±-----+ | name | ±-----+ | Will ...
- 2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0)。 每一步,你可以从下标 i 跳到下标 i + 1 、i - 1 或者 j : i + 1 需满足:i +
2022-07-13:给你一个整数数组 arr ,你一开始在数组的第一个元素处(下标为 0). 每一步,你可以从下标 i 跳到下标 i + 1 .i - 1 或者 j : i + 1 需满足:i + ...
- 2020-11-27:go中,map的读流程是什么?
福哥答案2020-11-27:[答案来自此链接:](https://www.bilibili.com/video/BV1Nr4y1w7aa?p=12)源码位于runtime/map.go文件中的map ...
- Grafana系列-统一展示-11-Logs Traces无缝跳转
系列文章 Grafana 系列文章 概述 如前文 Grafana 系列 - 统一展示 -1- 开篇所述, Grafana 可以了解所有相关的数据--以及它们之间的关系--对于尽快根治事件和确定意外系统 ...
- ODOO之四Odoo 13 开发之模块继承
Odoo 的一个强大功能是无需直接修改底层对象就可以添加功能.这是通过其继承机制来实现的,采取在已有对象之上修改层来完成.这种修改可以在不同层上进行-模型层.视图层和业务逻辑层.我们创建新的模块来做出 ...
- Abstract Factory Pattern 抽象工厂模式简介与 C# 示例【创建型】【设计模式来了】
〇.简介 1.什么是抽象工厂模式? 一句话解释: 通过对抽象类和抽象工厂的一组实现,独立出一系列新的操作,客户端无需了解其逻辑直接访问. 抽象工厂模式(Abstract Factory Patte ...
- 面试官问:kafka为什么如此之快?
前言 天下武功,唯快不破.同样的,kafka在消息队列领域,也是非常快的,这里的块指的是kafka在单位时间搬运的数据量大小,也就是吞吐量,下图是搬运网上的一个性能测试结果,在同步发送场景下,单机Ka ...
- .Net7矢量化的性能优化
前言 矢量化是性能优化的重要技术,也是寄托硬件层面的优化技术.本篇来看下. 概括 一:矢量化支持的问题: 矢量化的System.Runtime.Intrinsics.X86.Sse2.MoveMask ...
- Java 实战介绍 Cookie 和 Session 的区别
HTTP 是一种不保存状态的协议,即无状态协议,HTTP 协议不会保存请求和响应之间的通信状态,协议对于发送过的请求和响应都不会做持久化处理. 无状态协议减少了对服务压力,如果一个服务器需要处理百万级 ...