寻求基于Heroku日志的服务器端Web统计工具
当然有不少符合你需求的工具!这些都是纯服务器端实现,完全不需要依赖Google Analytics这类客户端脚本,完美适配Heroku环境:
GoAccess:这是我个人很喜欢的轻量实时日志分析工具,纯服务器端运行。在Heroku上,你可以通过两种方式用它:要么通过
heroku logs | goaccess -直接在本地终端生成实时统计报告;要么部署一个GoAccess的Web实例(用对应的buildpack),让它持续抓取Heroku的日志流,生成可视化的仪表盘,随时可以通过你的Heroku app域名查看访客来源、热门页面、访问趋势这些核心数据,完全不用前端脚本。Awstats:老牌的开源日志分析工具,也是纯服务器端的Perl脚本。你可以用Heroku的Perl buildpack部署Awstats,配置它定期拉取Heroku的日志(比如通过Heroku的日志导出功能或者直接对接日志流),生成静态的统计页面。它的功能很全面,能解析访客IP、来源URL、浏览器信息这些,和你之前用的Apache日志计数器逻辑很像。
Matomo(原Piwik)服务器端追踪:虽然Matomo常被用作客户端统计工具,但它支持纯服务器端追踪模式!你可以在Heroku上部署一个Matomo实例,然后在你的应用代码里直接调用Matomo的服务器端API来上报访问数据——所有统计逻辑都在服务器完成,完全不依赖访客的浏览器。它自带完整的管理后台,能帮你深度分析访客行为,而且数据完全由你自己掌控,不用担心隐私问题。
另外,Heroku本身提供了日志导出功能(heroku drains),你可以把日志导出到存储服务,再让这些工具定期解析,或者直接让工具对接Heroku的实时日志流,确保统计数据的及时性。
内容的提问来源于stack exchange,提问作者Derek Ekins

