5.22成都workshop:4. 游戏日志采集与分析
实验: https://yq.aliyun.com/articles/86538
实验目标
- 日志数据如何上云
- 常用日志处理的几种模式
- 索引与查询
- 实时计算:演示云监控
- 离线存储:OSS 存储与计算
0. 准备步骤
- 为了保证课程顺利,实验环境已经默认安装日志收集客户端(Logtail),如需要手动设置,请参考准备步骤
1. 日志采集步骤
- 登陆日志服务控制台,开始创建配置
-
在“华东2区域”创建项目Project,Logstore
- project: workshop-game(注意:project名称需要全局唯一,例如workshop-test-123)
- logstore:gamelog
-
创建日志收集配置文件
- 配置名称:gameserver
- 日志路径:目录 /root/demo 文件 game.log
- 模式:选择分隔符模式
- 将要ECS中的game.log获取一行,并放入日志样例中
2017-05-16 09:20:05,123456,testuser,10499,24200,buy,item:123456,77,66,2500043,200,4G,Android 7.8.1
- 分隔符:选择自定义,使用","作为分隔符
- 为字段增加属性 | Key | value | | ------------ | ------------------- | | time | 2017-05-16 09:20:05 | | user-id | 123456 | | username | testuser | | pos-x | 10499 | | pos-y | 24200 | | action | buy | | action-param | {"item":“1234567”} | | blood | 77 | | magic | 66 | | money | 2500043 | | status | 200 | | network | 4G | | device | Android 7.8.1 |
-
创建机器分组,将配置文件应用带机器分组后,日志就会自动开始采集
- 机器组名称:gameserver
- 在IP地址中填写ECS内网IP地址(在我们的例子中是“10.174.149.160”),可以通过ECS控制台进行查看,其中的内网IP
3. 创建完成后,将配置勾选,并应用到机器组
4. 可以通过左边菜单:LogHub-实时采集 / Logtail机器组 / 查看状态,查看机器上Logtail 是否安装完成
2. 日志索引与查询
日志实时收集后,我们可以通过计算程序对日志进行流计算,例如监控等。除此之外,我们可以对日志建立索引,进行实时日志查询与分析。
在左侧菜单点击日志库,查询按钮进入日志查询页面
-
日志需要通过索引(类似搜索引擎)后,就能进行查询。我们对于不同Key建立不同索引
在输入框中输入"username:testuser "获得用户名为testuser操作日志
可以加入更多条件,例如"username:testuser and action:sell" 查看满足这两个条件的日志
-
我们还可以在搜索框中做一些查询统计功能,例如线上有一个需求:我们需要对线上玩得比较多,但血量比较少,金钱也不多但经常玩的用户提供一些代金券,可以提交如下query
blood<400 and money<3000 | select username, count(*) as c group by username having count(*) > 100 order by c desc
3. 演示通过云监控配置视图和报表功能(Optional)
- 进入云监控下的日志监控页面
- 点击授权云监控读取日志服务权限
- 创建一个PV监控项,例如聚合每分钟的数据计数
-
生成图表
4. 演示将日志数据存储OSS(Optional)
- 具体参见[日志投递文档](https://help.aliyun.com/document_detail/43724.html
最后更新:2017-05-21 13:31:15