暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

玩得尽兴,记录精准!用免费 DevOps SaaS 服务助你掌控 Steam 游戏时长

GreptimeDB 2024-12-23
42

Greptime 编辑寄语

你是否曾好奇如何精准记录和分析 Steam 游戏时长数据,优化你的游戏时间管理?本文介绍了一款利用 GreptimeCloud 进行数据存储,基于 DevOps 思维构建的免费 SaaS 服务,能够轻松实现数据记录和可视化分析,助你更高效地掌控游戏时间。

感谢我们用户 jetdeng 的应用经验和文字成稿,欢迎有经验、有想法的用户踊跃投稿!

前言

在 Steam 中可以看到你当前的游戏时长和最近两周游戏时长,借助 Steam API 可以将这些数据导出。如果能够将这些游戏时长数据存储到时序数据库,就可以对其进行可视化和分析。

(图 1:Grafana 可视化)

本文将利用免费的 SaaS 服务来构建一个监控 Steam 游戏时长。我们将利用以下平台进行构建:

(图 2:使用平台)
  • 数据源:Steam API
  • 运行代码:Github Actions
  • 数据存储:GreptimeCloud
  • 可视化:Grafana

步骤

步骤1:在 Steam 社区 [1] 申请 api key

(图 3:api key)

同时进入个人主页,找到 app id:

(图 4:app id)

app keyapp id 记录下来。


步骤二:注册 GreptimeCloud[2] 的账号,并且创建对应的服务

完成后进入服务,并找到 MySQL 连接。

将以 MySQL 方式连接到 Greptime 内容进行保存。


步骤三:Fork Github 仓库:jetlabdotcloud/steam-game-hours[3]



步骤四:在Frok后的仓库开启 Github Actions,并添加 Secrets

开启 Github Actions

将并将步骤一和步骤二的变量添加到 Secrets 中。

GREPTIME_DATABASE
GREPTIME_HOST
GREPTIME_PASSWORD
GREPTIME_PORT
GREPTIME_USERNAME
STEAM_API_ID
STEAM_API_TOKEN

复制


步骤五:运行项目

该项目设置了 UTC 0点自动运行

cron:  '0 0 * * *' 

复制

你也可以在 Github Actions 页面手动触发运行。

如果运行成功,在 Greptime Cloud 的 Web Dashboard 上可以查询到对应的数据。



步骤六: 在 Grafana 上可视化时间

你可以注册一个 Grafana Cloud[4] 账号,并且免费使用其 SaaS 服务,在 Connections -> Add new collection -> MySQL (Data source)

添加数据源:

在 Grafana 上新建一个 Dashboard,并构建以下 Panel:

a. 查看最近两周游戏时长

SELECT ts,game_name,playtime_2weeks   FROM public.recently_play_games

复制

b. 查看永久游戏时长

SELECT ts,game_name,playtime_forever FROM public.recently_play_games

复制

总结

本文基于免费的 DevOps SaaS 工具,构建了一个 Steam 游戏时长的 ETL 和可视化项目。可以用来监控自己的游戏时长和学习相关技术。

另外,本项目还有很多扩展工作可以做,欢迎大家尝试。

  • 设置游戏时长超过阈值告警
  • 统计好友的游戏时长
  • 计算购买游戏的性价比

Reference

[1] https://steamcommunity.com/dev/apikey
[2] https://console.greptime.cloud/
[3] https://github.com/jetlabdotcloud/steam-game-hours/tree/main
[4] https://grafana.com/products/cloud/

关于 Greptime

Greptime 格睿科技专注于为可观测、物联网及车联网等领域提供实时、高效的数据存储和分析服务,帮助客户挖掘数据的深层价值。目前基于云原生的时序数据库 GreptimeDB 已经衍生出多款适合不同用户的解决方案,更多信息或 demo 展示请联系下方小助手(微信号:greptime)。

欢迎对开源感兴趣的朋友们参与贡献和讨论,从带有 good first issue 标签的 issue 开始你的开源之旅吧~期待在开源社群里遇见你!添加小助手微信即可加入“技术交流群”与志同道合的朋友们面对面交流哦~

Star us on GitHub Now: https://github.com/GreptimeTeam/greptimedb
官网:https://greptime.cn/
文档:https://docs.greptime.cn/
Twitter: https://twitter.com/Greptime
Slack: https://greptime.com/slack
LinkedIn: https://www.linkedin.com/company/greptime/

往期精彩文章:

点击「阅读原文」,立即体验 GreptimeDB!

文章转载自GreptimeDB,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论