三亩地 三亩地SAN MU DI · CODE DIARY
ARTICLE DETAIL

日记详情

真实记录编程学习的某一天,欢迎挑你感兴趣的翻一翻。

Analytics Reporter完全指南:轻量级政府数据分析工具的核心功能解析

Analytics Reporter完全指南:轻量级政府数据分析工具的核心功能解析

Analytics Reporter完全指南:轻量级政府数据分析工具的核心功能解析

【免费下载链接】analytics-reporterLightweight analytics reporting and publishing tool for Digital Analytics Program's Google Analytics 360 data.项目地址: https://gitcode.com/gh_mirrors/an/analytics-reporter

Analytics Reporter是一款轻量级政府数据分析工具,专为Digital Analytics Program (DAP)的Google Analytics 360数据设计,能够高效地获取、处理和发布政府网站的分析数据。它使用Google Analytics Data API v1获取数据,并将其处理为扁平数据结构,为政府网站提供关键的访问洞察。

🚀 核心功能概览

1. 多维度数据分析能力

Analytics Reporter支持丰富的报告类型,涵盖设备、语言、操作系统、浏览器等多个维度。这些报告定义在reports/api.json和reports/usa.json文件中,每个报告包含维度、指标、日期范围和排序规则等配置。

例如,设备报告(device)会分析不同设备类型(桌面、移动、平板)的访问情况,而浏览器语言报告(language)则展示访问者使用的浏览器语言分布。

2. 灵活的数据发布选项

工具提供多种数据发布方式,满足不同场景需求:

  • 本地文件存储:将报告保存到指定目录
  • AWS S3发布:配置AWS环境变量后,可将报告发布到S3 bucket
  • 数据库存储:支持PostgreSQL数据库,将数据写入数据库以便后续分析
  • 标准输出:直接在终端显示报告结果

配置示例(环境变量):

export AWS_REGION=us-east-1 export AWS_ACCESS_KEY_ID=[your-key] export AWS_SECRET_ACCESS_KEY=[your-secret-key] export AWS_BUCKET=[your-bucket]

3. 定时任务与队列系统

应用通过定时任务和队列系统实现自动化数据处理。deploy/publisher.js定义了任务及其执行时间,使用pg-boss库实现基于PostgreSQL的消息队列。

  • 发布者进程:将报告任务放入队列
  • 消费者进程:并行处理队列中的任务,执行数据获取和处理

⚙️ 快速上手指南

环境准备

  1. 安装依赖
git clone https://gitcode.com/gh_mirrors/an/analytics-reporter cd analytics-reporter npm install
  1. 配置Git钩子
npm run install-git-hooks
  1. 设置环境变量创建.env文件(参考env.example),配置Google Analytics和数据库等信息:
ANALYTICS_REPORT_EMAIL="your-service-account@developer.gserviceaccount.com" ANALYTICS_REPORT_IDS="ga:12345678" ANALYTICS_KEY_PATH="/path/to/secret_key.json"

运行应用

  1. 启动数据库
docker-compose up
  1. 执行数据库迁移
npm run migrate
  1. 启动发布者和消费者
# 启动发布者 npx dotenv -e .env.analytics node -- deploy/publisher.js # 启动消费者 npx dotenv -e .env.analytics node -- deploy/consumer.js

运行单个报告

npx dotenv -- npm start -- --only=devices --json --output=./output

📊 报告示例与解析

一个典型的设备报告(devices)输出如下:

{ "name": "devices", "frequency": "daily", "data": [ { "date": "2023-12-25", "device": "mobile", "visits": "13681896" }, { "date": "2023-12-25", "device": "desktop", "visits": "5775002" }, { "date": "2023-12-25", "device": "tablet", "visits": "367039" } ], "totals": { "visits": 3584551745, "devices": { "mobile": 2012722956, "desktop": 1513968883, "tablet": 52313579, "smart tv": 5546327 } }, "taken_at": "2023-12-26T20:52:50.062Z" }

这份报告展示了不同设备类型的访问量统计,包括每日数据和总计数据,帮助政府机构了解用户的设备使用习惯。

🔧 高级配置选项

Google Analytics认证

  1. 在Google开发者控制台启用Google Analytics API
  2. 创建服务账户并下载JSON私钥
  3. 授予服务账户"Read, Analyze & Collaborate"权限
  4. 配置环境变量:
export ANALYTICS_REPORT_EMAIL="service-account@example.com" export ANALYTICS_REPORT_IDS="ga:12345678" export ANALYTICS_KEY_PATH="/path/to/key.json"

数据库配置

设置PostgreSQL数据库连接:

export POSTGRES_HOST="my.db.host.com" export POSTGRES_USER="postgres" export POSTGRES_PASSWORD="password" export POSTGRES_DATABASE="analytics"

📚 开发与部署流程

项目采用持续交付(CD)模型,开发和部署流程如下:

  1. 功能开发:从develop分支创建feature分支进行开发
  2. 代码审查:创建Pull Request,通过代码审查后合并到develop分支
  3. 测试环境部署:合并到develop分支后自动部署到开发环境
  4. 验收测试:系统所有者在开发环境进行验收测试
  5. 生产部署:通过PR将develop合并到staging,再合并到master分支完成生产部署

详细流程请参考Development and deployment process。

🛠️ 故障排除与常见问题

认证问题

  • 确保系统时间与NTP同步
  • 检查私钥是否正确配置
  • 验证服务账户权限是否正确设置

数据库连接问题

  • 确认PostgreSQL服务是否运行
  • 检查数据库连接参数是否正确
  • 验证数据库用户权限

API调用限制

  • 考虑使用多个凭证进行轮询调用(通过ANALYTICS_CREDENTIALS环境变量配置)
  • 避免频繁运行集成测试,以免触发API速率限制

📄 许可证信息

本项目属于公共领域,详细信息请参见LICENSE.md。所有贡献将根据CC0 1.0通用公共领域奉献协议发布。

【免费下载链接】analytics-reporterLightweight analytics reporting and publishing tool for Digital Analytics Program's Google Analytics 360 data.项目地址: https://gitcode.com/gh_mirrors/an/analytics-reporter

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

← 返回列表