自托管!一款开源的网站统计工具!

news/2025/1/11 6:55:06/文章来源:https://www.cnblogs.com/codechen8848/p/18637923

大家好,我是 Java陈序员

无论是企业开发,还是个人独立开发,往往都有自己的网站产品。

为了更好的了解掌握网站的访问情况,常常需要使用工具来统计流量、用户信息等,如使用 Google Analytics.

今天,给大家介绍一款自托管、开源的网站统计工具,可替代 Google Analytics!

关注微信公众号:【Java陈序员】,获取开源项目分享、AI副业分享、超200本经典计算机电子书籍等。

项目介绍

Umami —— 一个开源的、以隐私为中心的网站分析工具,是 Google Analytics 的开源替代品,提供网站流量、用户行为分析和访问统计等功能。

功能特色

  • 流量分析:获取流量洞察,以便优化增长,轻松一目了然地查看所有指标
  • 访客分析:获取有关访客的详细信息,包括他们的位置和使用的设备
  • 自定义事件:跟踪的不仅仅是页面浏览量,支持捕捉网站上的任何事件,例如按钮点击和表单输入
  • 强大的过滤器:使用易于应用的过滤器深入挖掘网站数据,按浏览器、操作系统和国家等指标对用户进行细分
  • 实时数据:获取当前网站流量的实时视图,查看访客正在访问的页面
  • 趋势检测:比较日期周期以发现流量中的关键趋势

快速上手

安装

源码安装

依赖环境

  • Node.js 18.18+
  • 数据库(PostgreSQL/MySQL)

1、获取源码并安装依赖

## 安装 Yarn
npm i -g yarn## 克隆代码
git clone https://github.com/umami-software/umami## 安装依赖
cd umami
yarn install

2、在项目根目录下创建 .env 文件配置数据库

## 内容
DATABASE_URL={连接网址}## PostgreSQL 示例
DATABASE_URL=postgresql://用户名:密码@localhost:5432/mydb## MySQL 示例
DATABASE_URL=mysql://用户名:密码@localhost:3306/mydb

3、构建并启动应用

## 构建
yarn build## 运行
yarn start

4、启动成功后,浏览器访问

http://{ip/域名}:3000

5、使用 PM2 后台永久运行应用

yarn global add pm2
cd umami
pm2 start yarn --name umami -- start
pm2 startup
pm2 save

Docker 安装

1、拉取镜像(选择其中一个镜像即可)

## PostgreSQL
docker pull docker.umami.is/umami-software/umami:postgresql-latest## MySQL
docker pull docker.umami.is/umami-software/umami:mysql-latest

2、运行容器

## PostgreSQL
docker run --name umami -d \ -p 3000:3000 \-e DATABASE_URL=postgresql://用户名:密码@localhost:5432/mydb \docker.umami.is/umami-software/umami:postgresql-latest## MySQL
docker run --name umami -d \ -p 3000:3000 \-e DATABASE_URL=DATABASE_URL=mysql://用户名:密码@localhost:3306/mydb \docker.umami.is/umami-software/umami:mysql-latest

注意:运行容器启动时需指定数据库连接地址

3、启动成功后,浏览器访问

http://{ip/域名}:3000

Docker Compose 安装

1、一键构建 Docker 容器并启动 Postgres 数据库

## 克隆代码
git clone https://github.com/umami-software/umami## 一键启动
cd umami
docker-compose up -d

2、启动成功后,浏览器访问

http://{ip/域名}:3000

登录

1、Umami 安装将创建一个默认的管理员账户,默认用户密码: admin/umami, 需要登录并更改默认密码。

2、Umami 系统默认使用英语,登录后可点击网站右上角的图标切换为中文。

3、登录后,点击头部的设置,选择个人资料,修改密码。

添加网站

要统计网站信息,需要先在 Umami 上添加对应的网站信息。

1、点击头部的设置,选择网站,添加网站。

2、输入网站名称和域名并保存即可。

  • 名称:任意内容
  • 域名:网站的实际域名,不能是 IP 或者带端口

收集数据

收集网站数据,需要将跟踪代码添加到对应的网站上。

1、点击想要跟踪网站的编辑按钮,切换到跟踪代码标签

2、复制跟踪代码粘贴到网站的请求头

工具截图

  • 仪表盘

  • 概览

  • 行为类别

  • 会话

  • 实时

  • 比较

  • 设置

Umami 可以说是一款十分优秀的开源网站统计工具,帮助我们很好地统计网站浏览量、访客信息等,而且是自托管的,以隐私为主,数据完全自己掌握!

项目地址:https://github.com/umami-software/umami

最后

推荐的开源项目已经收录到 GitHub 项目,欢迎 Star

https://github.com/chenyl8848/great-open-source-project

或者访问网站,进行在线浏览:

https://chencoding.top:8090/#/

大家的点赞、收藏和评论都是对作者的支持,如文章对你有帮助还请点赞转发支持下,谢谢!


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/861214.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

介绍1个简单好用的随手画圆网站,关键还免费,挑战单手画圆啦

# 网站介绍无聊的时候不知道画什么,解决画画的烦恼,从单手画圆开始 网站网址https://whattodraw.art 功能特点1、画画的想法从简单、中等、难根据选择随机生成 2、免费无登录不注册3、有个转盘,自定义画画的想法随机生成4、从最简单的开始,单手画圆,看看你的得分吧 硅谷王…

项目管理,如何洞察业务痛点

洞察项目管理中的业务痛点需要明确常见痛点、建立有效的沟通机制、制定明确的项目计划、实施有效的监控和评估以及关注团队协作和激励等方面。通过这些方法的应用和实践经验的积累,可以不断提高项目管理水平并确保项目的成功实施。在项目管理中,洞察业务痛点对于确保项目的成…

TCP/IP四层模型与OSI参考模型

TCP/IP四层模型:1.链路层(数据链路层/网络接口层):包括操作系统中的设备驱动程序、计算机中对应的网络接口卡 2.网络层(互联网层):处理分组在网络中的活动,比如分组的选路。 3.运输层:主要为两台主机上的应用提供端到端的通信。 4.应用层:负责处理特定的应用程序细节…

欧拉OpenEuler下SSH或SCP免密连接配置方法

以下操作均在本地服务器上进行: 一、生成公钥和私钥 ssh-keygen -t rsa二、将公钥复制到远程服务器 ssh-copy-id username@remote_server三、配置免密登录 ssh username@remote_server四、 虽然免密登录提高了工作效率和安全性,但也有一些注意事项需要牢记。 首先,务必保护好…

springboot-data-jdbc优劣

经过一段时间对springboot-data-jdbc的使用,总结了一下几点: 优点:通过配置外键关联,在保存一个实体类的情况下,会自动保存对应的外键信息(比如上图实体类如果设置了legItems和orderDetails的值,则会保存对应的数据) 通过配置外键关联,在查询一个实体类的情况下,会自…

解密Prompt45. 再探LLM Scalable Oversight -辩论、博弈哪家强

以上两个方向相对正交分别从Verifier和Generator两个方去尝试解决Scalable Oversight的问题,今天再聊一个相对Hybrid的方向,通过Verifier和Generator相互博弈来同时提升双方实力。这里分别介绍Anthropic的辩论法,和OpenAI的博弈法之前我们已经介绍过几个针对Scalable Oversi…

读数据保护:工作负载的可恢复性21构建恢复站点

构建恢复站点1. 恢复站点 1.1. 恢复站点是一个真实或虚拟的地点,用来在计算环境遭到灾难时取代该环境 1.2. 当年的恢复站点总是由另一个数据中心充当,而且那个数据中心最好离你们目前的这个比较远 1.3. 现在一般都不采用实体的数据中心了,而且这个恢复站点一般也不会由你们的…

OpenCL组织结构与C++开发

OpenCL工作组织结构OpenCL工作组织结构,如图1-35所示。 图1-35 OpenCL工作组织结构Khronos工作组织结构与注册Khronos工作组织结构与注册,如图1-36所示。 图1-36 Khronos工作组织结构与注册OpenCL使用C++开发1)开源编译器前端替代OpenCL C++内核语言规范版本,在OpenCL文档同…

OpenCL程序流程与开源项目

执行OpenCL程序流程 1)内核程序是可执行代码的基本单元(类似于C函数)。 2)OpenCL程序是内核和函数的集合。 3)主机应用程序使用OpenCL命令队列,向设备发送内核和数据传输功能。 4)通过将命令排入队列,内核和数据传输功能可以与主机代码,进行异步并行执行。 5)作为一种…

mac配置chromedriver

1、下载chromedriver 2、手动打开一次(因为程序会弹一个框,第一次需要手动点了) 3、配置环境变量: vim ~/.bash_profile 加入: export PATH="***/chromedriver:$PATH" source ~/.bash_profile 4、命令检查: 如果发现版本不对,要么检查配置文件重新source,要么…

从流量控制算法谈网络优化 – 从 CUBIC 到 BBRv2 算法

从流量控制算法谈网络优化 – 从 CUBIC 到 BBRv2 算法 by Lianghong Fei on 16 3月 2021 in Networking & Content Delivery Permalink Share 诞生于1974年的TCP协议(Transmission Control Protocol,传输控制协议)绝对算得上是最古老的网络协议之一,很可能是当今互联网…

深度解析Mamba与状态空间模型:一图带你轻松入门

1.概述 Transformer架构无疑是大型语言模型(LLMs)成功背后的核心动力。从开源的Mistral到封闭的ChatGPT,几乎所有主流的LLM都在使用这一架构。然而,随着技术的不断进步,研究者们已经开始探索新的架构,有望在未来挑战Transformer的地位。其中,Mamba作为一种状态空间模型,…