把 Netlify 分析数据保留超过 30 天

我已经为我的几个网站开启了Netlify Analytics。

我用它给自己发一份每日摘要当有人链接到我的文章时,无论是某个人给我推荐几条,一份通讯给我几百条,还是Hacker News给我发了几千条,这都会提醒我。

但有时候我想知道的不仅仅是“过去24小时内交通情况怎么样了?”

有时候我想知道,“上个月流量发生了什么?”我可以登录Netlify来回答这个问题。

有时候我想知道,“过去六个月的流量发生了什么?”Netlify对此没有答案,因为他们只存储过去三十天的流量数据。

我多年来一直知道这个限制,一直想,“我真的应该开始为自己保存这些数据了。”

但你知道,懒惰。我到底有多渴望?答案似乎是“我只想要它_简单_的时候”。

进来瓦尔镇.

Val Town让这类任务变得简单。每个“Val”都是专门用于此类任务的小型计算原语:

  • 代码(运行一个获取数据的脚本)
  • 秘密(安全存储我的Netlify访问令牌)
  • 存储(我自己的小型SQLite数据库,用于持久化数据)
  • 自动化(每30天运行一次此任务)

对于像我这样单一脚本的任务来说,这些可能看起来有些过头了。但我喜欢这样。这些基元的范围性使得组合变得简单,不用像我和其他小任务共处时那样纠缠不清。

我不想为这个任务和六个月后想到的其他任务考虑共享模式。我不想为开发架构和维护一个由零散无关任务组成的代码库而思考。Vals 非常适合这个。

所以我的设置是:运行.ts每30天文件,从Netlify获取过去30天的分析数据并存储在SQLite中。(你可以在这里看到我的Val。)

到那时,我就有了提出任何问题所需的数据,比如:

  • 我的博客有哪些顶级推荐网站?
  • 哪一篇文章在一段时间内获得了最多的页面浏览量?
  • 我的流量大部分来自哪里?

随着网络长尾动态的展开,这些问题的答案变得越来越有趣:搜索引擎流量、新趋势下偶然重新发现旧帖等。

“但你到底是怎么做到的视图你存储的数据是为了回答这些问题?”

好问题。Val Town 有一个界面,我可以看到我存储的原始数据(我选择了完全按照从 Netlify 获得的原始数据存储,而不是先做预处理):

Screenshot of the SQLite tab on a Val, showing a database table with a number of rows and columns of analytics data from Netlify.

但那没什么用。我需要解析这些数据,转化成某种有用的分析。

你知道什么工具对理解数据特别有用吗?电子表格。

如果我用Excel,可能得想办法导出SQL,把JSON转换成某种CSV,然后导入。每次我想看到“最新”数据时,都得运行那个工作流程。

进来二次方程.

Val Town 有 API我可以通过代码获取最新数据,而Quadratic是一个运行代码的电子表格。所以在Val Town查看我管线的“最新数据”就像在Quadratic里按“重运行代码”按钮一样简单。

Screnshot of a spreadsheet in Quadratic where Python code is open on the right and the result of that Python script is some tabluar data on the spreadsheet on the left.

二次型就像是我数据管道的“前端”。很容易提取原始数据,按需要转换,并创建一个“仪表盘”,随时可以查看最新见解或提出新问题。

而且,因为我在Netlify里存储了几个不同网站的数据,我在电子表格里有一个单元格可以替换域名——比如从以下blog.jim-nielsen.comiosicongallery.com——然后重新绘制整个数据集和仪表盘。

Screenshot of a web-analytics-like dashboard in a spreadsheet in Quadratic, showing trend lines, top data sources, etc.

我知道,我知道。有很多类似产品。而且可能还有无数种其他方法,各有各的独特方式。但这个是我的。

现在我可以安心入睡,知道每隔30天,我的小Val Town机器人就会去存储Netlify丢弃的最后30天数据。

一个人的垃圾,对另一个人来说是宝藏数据。


回复方式:电子邮件·乳齿象·蓝天

添加评论
点赞收藏
点踩分享查看原文
评论
?
参与讨论