场景简介
小吴负责公司的DevOps 以及 数据团队:在服务器和用户数上升后,开发花了非常多的时间在服务器查日志问题上。在支持移动入口、网页、推广渠道后,日志的来源也变得越来越多,加剧了他的困扰。除此之外,运营团队、BI团队、运维团队等对日志提出各自需求。
因此小吴需要一套快捷灵活的日志系统,来解决游戏开发中的这些需求。
实验概述(实验第四环节)
- 日志数据如何上云:ECS上日志采集
- 常用日志处理的几种模式
- 索引与查询
- 实时计算:演示云监控 (可选)
- 离线存储:延时OSS 存储与计算(可选)
具体步骤
准备步骤(可跳过)
- 实验环境已经默认安装日志收集客户端(Logtail),如需要手动配置实验环境,请参考环境准备
步骤1. 日志采集步骤
- 登陆日志服务控制台,开始创建配置
- 在“华东2区域”创建项目Project/Logstore
- 创建日志收集配置文件
- 配置名称: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 - 创建机器分组,将配置文件应用带机器分组后,日志就会自动开始采集
步骤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
- 更多查询与SQL分析功能等你体验
步骤3. 演示通过云监控配置视图和报表功能(可选)
步骤4. 演示将日志数据存储OSS/MaxCompute (可选)
- 具体参见日志投递文档
其他
- 日志服务主页 https://www.aliyun.com/product/sls/
- 欢迎加入日志服务钉钉群
时间: 2024-10-30 14:10:44