游戏日志分析准备:如何对游戏业务日志关联云数据库Redis做富化加工

简介: 随着移动互联网的发展,游戏几乎是进入快餐式消费时代,游戏公司也会面临方方面面的挑战,为了获得最佳的游戏运营方案,游戏公司希望将用户游戏日志与用户元数据进行联合分析。

背景

随着移动互联网的发展,游戏几乎是进入快餐式消费时代,游戏公司也会面临方方面面的挑战,为了获得最佳的游戏运营方案,游戏公司希望将用户游戏日志与用户元数据进行联合分析。

对一个大型游戏而言,游戏日志是海量的并且需要实时分析,而SLS正好可以满足这一要求,所以可以将游戏日志采集到SLS的logstore中。由于用户信息访问频率高,但更新频率较低,加上redis本身就支持持久化存储,所以一般使用Redis来存储用户元数据。

SLS简介

日志服务(Log Service,简称SLS)是云原生观测与分析平台,为Log、Metric、Trace等数据提供大规模、低成本、实时的平台化服务。日志服务一站式提供数据采集、加工、查询与分析、可视化、告警、消费与投递等功能,全面提升您在研发、运维、运营、安全等场景的数字化能力。

数据加工服务是阿里云SLS推出的面向日志ETL处理的服务,主要解决数据加工过程中转换、过滤、分发、富化等场景。数据加工DSL是专门为日志实时行处理定制的一套语言(Python语法子集),目前已经提供200+ 内置函数来简化数据加工模式。

场景应用

SLS通过对游戏日志的加工富化,从而帮忙企业修复用户数据、定位系统异常、帮助运维等。下面通过一个实例说明数据加工DSL中的e_redis_map函数如何对用户游戏日志进行数据富化。

案例实践

Logstore采集日志

  • 如何将日志采集到日志服务,可以使用ilogtail采集,这里就不再多说,这里举一个采集到的实例,如下:

  • 日志包括用户ID、用户名、操作、点击位置、用户IP等信息。由于采集到的是一串json格式的字符串,不便于后续处理,这里可以使用数据加工DSL的语句,首先对数据进行简单的转换,使用加工语句:

e_json("data", fmt="parent")

# 丢弃原字段

e_drop_fields("data", regex=False)

  • 加工后的日志就变成:

云数据库Redis中的用户元数据

  • 首先需要创建云数据库Redis,参考云数据库 Redis创建实例,创建成功以后,插入用户元数据至数据库中,字段是用户ID,value值包含用户的性别、注册时间、地区等等,如下:

userId

value

9022

"sex": "female",

  "registration": 948354751,

"region":shanghai

}

9098

{

  "sex": "male",

  "registration": 1292831551,

"region":nanjing

}

10112

{

  "sex": "male",

  "registration": 1354428586,

"region":hangzhou

}

数据加工

使用数据加工DSL的e_redis_map函数,通过Logstore日志中的用户ID字段对应的字段值(即data.userID的值),在用户元数据表(实例名r-bp1***)中查找该值对应的value,查到的结果作为字段“detail”的字段值,如下:

e_redis_map('data.userID', "detail",

           "r-bp1***.redis.rds.aliyuncs.com", port=redis-port, db=0,

           username=redis-username, password=redis-password)

加工结果

经过数据加工处理后,结果Logstore中的日志包含原始日志中的用户行为字段及个人信息,如下:


其他参考:

1、数据加工文档:https://help.aliyun.com/document_detail/125384.html

2、e_redis_map函数使用指南:https://help.aliyun.com/document_detail/125489.html#section-a4e-tmh-o1s

3、云数据库Redis文档:https://help.aliyun.com/document_detail/26351.html

3、3、

3

26gt%3B%26lt%3Bdiv%20class%3D%26quot%3Blake-content%26qu33ot%3B%26gt%3B%26lt%3Bimg%20src%3D%26quot%3Bhttps%3A%2F%2Fucc.alicdn.com%2Fimages%2Flark%2F0%2F2022%2Fpng%2F56156506%2F1669880189796-3d295f24-c222-402e-bc57-

ce%3Dwrap%3Bhtml%3D1%3B%22%20vertex%3D%221%22%20parent%3D%221%22%3E%3CmxGeometry%20x%3D%22-572%22%20y%3D%22307%22%20width%3D%22385%22%20height%3D%227%22%20as%3D%22geometry%22%2F%3E%3C%2FmxCell%3E%3C%2Froot%3E%3C%2FmxGraphModel%3E

目录
相关文章
|
监控 安全 BI
防火墙事件日志及日志分析
在网络安全防护体系中,防火墙作为抵御外部威胁的第一道防线,其重要性不言而喻。而对防火墙日志进行分析,更是深入了解网络流量、发现潜在安全风险的关键手段。
989 1
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。
647 9
|
存储 人工智能 关系型数据库
拥抱Data+AI|解码Data+AI助力游戏日志智能分析
「拥抱Data+AI」系列第2篇:阿里云DMS+AnalyticDB助力游戏日志数据分析与预测
拥抱Data+AI|解码Data+AI助力游戏日志智能分析
|
SQL 监控 关系型数据库
MySQL日志分析:binlog、redolog、undolog三大日志的深度探讨。
数据库管理其实和写小说一样,需要规划,需要修订,也需要有能力回滚。理解这些日志的作用与优化,就像把握写作工具的使用与运用,为我们的数据库保驾护航。
976 23
|
监控 Shell Linux
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
10742 2
|
存储 人工智能 关系型数据库
拥抱Data+AI|玩家去哪儿了?解码Data+AI如何助力游戏日志智能分析
本文为阿里云瑶池数据库「拥抱Data+AI」系列连载第2篇,基于真实客户案例和最佳实践,探讨如何利用阿里云Data+AI解决方案应对游戏行业挑战,通过AI为游戏行业注入新的活力。文章详细介绍了日志数据的实时接入、高效查询、开源开放及AI场景落地,展示了完整的Data+AI解决方案及其实际应用效果。
莉莉丝-游戏用户日志分析
莉莉丝游戏用户日志分析案例图
|
NoSQL 数据管理 关系型数据库
利用阿里云的尖端数据库解决方案增强游戏数据管理
利用阿里云的尖端数据库解决方案增强游戏数据管理
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
缓存 NoSQL Java
Redis+Caffeine构建高性能二级缓存
大家好,我是摘星。今天为大家带来的是Redis+Caffeine构建高性能二级缓存,废话不多说直接开始~
1766 0