基于 Django 构建的网站分析平台

这是一个基于 Django 构建的网站分析平台,它很小、够用、界面友好、不追踪 cookie、支持多用户,追踪脚本不到 1KB。基于 Django 构建的网站分析平台

特征

  • 在单台机器上运行- 由于 Shynet 非常小,因此可以轻松地在单个小型 VPS 上作为单个 docker 容器运行
  • 跨大型 Kubernetes 集群,对于更高流量的安装,Shynet 可以根据需要部署多个并行入口节点,并使用 Redis 缓存和用于数据库 IO 的单独后端工作人员
  • 使用 Django 构建— Shynet 是使用 Django 构建的,因此部署、更新和迁移可以轻松完成
  • 多个用户和站点,单个 Shynet 实例可以支持多个用户,每个用户跟踪多个不同的站点

指标

  • 点击数— 网站上的页面被打开/查看的数量
  • 会话- 网站被访问的次数(本质上是点击的集合)
  • 页面加载时间——网站上的页面加载需要多长时间
  • 跳出率——仅浏览一页就离开的访问者的百分比
  • 持续时间——访问者在网站上停留的时间
  • 引荐来源网址— 访问者访问网站所遵循的链接
  • 位置— 网站上所有页面的相对受欢迎程度
  • 操作系统— 访问者的操作系统(来自用户代理)
  • 浏览器- 访问者的浏览器(来自用户代理)
  • 地理位置和网络— 访问者的大致位置(来自 IP)
  • 设备类型- 访问者是否使用台式机、平板电脑或手机(来自用户代理)

截图

基于 Django 构建的网站分析平台基于 Django 构建的网站分析平台

安装

  • 拉取最新版本的 Shynet
docker pull milesmcc/shynet:latest
  • 对于数据库,可以使用 PostgreSQL 或 SQLite:

主键集成

在某些情况下,将平台上的特定用户与其在 Shynet 中的会话关联起来很有用。在 Shynet 中,这称为主键集成,是通过向每个特定用户的 Shynet 脚本 URL 添加附加元素来完成的。使用服务器端渲染可以轻松添加此路径。例如,以下是一个 Django 模板,它将用户的主键添加到 Shynet 跟踪脚本中:

{% if request.user.is_authenticated %}
<noscript>
   <img src="//shynet.example.com/ingress/service-uuid/{{request.user.email|urlencode:""}}/pixel.gif">
</noscript>
<script src="//shynet.example.com/ingress/service-uuid/{{request.user.email|urlencode:""}}/script.js"></script>
{% else %}
<noscript>
   <img src="//shynet.example.com/ingress/service-uuid/pixel.gif">
</noscript>
<script src="//shynet.example.com/ingress/service-uuid/script.js"></script>
{% endif %}

传送门

开源协议:Apache-2.0 license

开源地址:https://github.com/milesmcc/shynet

项目合集:https://github.com/RepositorySheet

-END-


原文始发于微信公众号(开源技术专栏):基于 Django 构建的网站分析平台

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/166729.html

(0)
小半的头像小半

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!