5.22成都workshop:4. 游戏日志采集与分析

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: 小吴负责公司的DevOps 以及 数据团队:在服务器和用户数上升后,开发花了非常多的时间在服务器查日志问题上。在支持移动入口、网页、推广渠道后,日志的来源也变得越来越多,加剧了他的困扰。除此之外,运营团队、BI团队、运维团队等对日志提出各自需求。

场景简介

小吴负责公司的DevOps 以及 数据团队:在服务器和用户数上升后,开发花了非常多的时间在服务器查日志问题上。在支持移动入口、网页、推广渠道后,日志的来源也变得越来越多,加剧了他的困扰。除此之外,运营团队、BI团队、运维团队等对日志提出各自需求。

因此小吴需要一套快捷灵活的日志系统,来解决游戏开发中的这些需求。

实验概述(实验第四环节)

  1. 日志数据如何上云:ECS上日志采集
  2. 常用日志处理的几种模式
    1. 索引与查询
    2. 实时计算:演示云监控 (可选)
    3. 离线存储:延时OSS 存储与计算(可选)

具体步骤

准备步骤(可跳过)

  1. 实验环境已经默认安装日志收集客户端(Logtail),如需要手动配置实验环境,请参考环境准备

步骤1. 日志采集步骤

  1. 登陆[日志服务控制台],开始创建配置
  2. 在“华东2区域”创建项目Project/Logstore

    • project: workshop-game(注意:project名称需要全局唯一,例如workshop-test-123)
    • logstore:gamelog

      image

  3. 创建日志收集配置文件

    1. 配置名称:gameserver
    2. 日志路径:目录 /root/demo 文件 game.log
    3. 模式:选择分隔符模式
  4. 将要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
    
  5. 分隔符:选择自定义,使用","作为分隔符

  6. 为字段增加属性

    | 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 |

  7. 创建机器分组,将配置文件应用带机器分组后,日志就会自动开始采集

    1. 机器组名称:gameserver
    2. 在IP地址中填写ECS内网IP地址(在我们的例子中是“10.174.149.160”),可以通过ECS控制台进行查看,其中的内网IP

      image

    3. 创建完成后,将配置勾选,并应用到机器组

    4. 可以通过左边菜单:LogHub-实时采集 / Logtail机器组 / 查看状态,查看机器上Logtail 是否安装完成

      image

    5. 配置应用后一分钟内,日志就会被采集,通过监控或预览可以进行查看

      image

    6. 通过预览,我们可以看到日志已被实时收集了

      image

步骤2. 日志索引与查询

  1. 日志实时收集后,我们可以通过计算程序对日志进行流计算,例如监控等。除此之外,我们可以对日志建立索引,进行实时日志查询与分析。

  2. 在左侧菜单点击日志库,查询按钮进入日志查询页面

  3. 日志需要通过索引(类似搜索引擎)后,就能进行查询。我们对于不同Key建立不同索引

    image

  4. 在输入框中输入"username:testuser "获得用户名为testuser操作日志

  5. 可以加入更多条件,例如"username:testuser and action:sell" 查看满足这两个条件的日志

  6. 通过点击上下文浏览,可以查看某条日志在原始日志文件中的上下文(一般用来进行错误调查)

    image

  7. 我们还可以在搜索框中做一些查询统计功能,例如线上有一个需求:我们需要对线上玩得比较多,但血量比较少,金钱也不多但经常玩的用户提供一些代金券,可以提交如下query

    blood<400  and money<3000 | select username, count(*) as c group by username having count(*) > 100 order by c desc
    

    在控制台获得如下结果:
    image

  8. 更多查询SQL分析功能等你体验

步骤3. 演示通过云监控配置视图和报表功能(可选)

  1. 进入云监控下的日志监控页面
  2. 点击授权云监控读取日志服务权限
  3. 创建一个PV监控项,例如聚合每分钟的数据计数
    image
  4. 生成图表

步骤4. 演示将日志数据存储OSS/MaxCompute (可选)

  1. 具体参见日志投递文档

其他

  1. 日志服务主页 https://www.aliyun.com/product/sls/
  2. 欢迎加入日志服务钉钉群

image

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
2天前
|
监控 安全 Linux
启用Linux防火墙日志记录和分析功能
为iptables启用日志记录对于监控进出流量至关重要
|
21天前
|
监控 测试技术 开发者
一行代码改进:Logtail的多行日志采集性能提升7倍的奥秘
一个有趣的现象引起了作者的注意:当启用行首正则表达式处理多行日志时,采集性能出现下降。究竟是什么因素导致了这种现象?本文将探索Logtail多行日志采集性能提升的秘密。
|
1月前
|
存储 人工智能 关系型数据库
拥抱Data+AI|解码Data+AI助力游戏日志智能分析
「拥抱Data+AI」系列第2篇:阿里云DMS+AnalyticDB助力游戏日志数据分析与预测
拥抱Data+AI|解码Data+AI助力游戏日志智能分析
|
23天前
|
监控 应用服务中间件 定位技术
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
要统计Nginx的客户端IP,可以通过分析Nginx的访问日志文件来实现
|
1月前
|
存储 SQL 监控
|
1月前
|
运维 监控 安全
|
1月前
|
存储 人工智能 关系型数据库
拥抱Data+AI|玩家去哪儿了?解码Data+AI如何助力游戏日志智能分析
本文为阿里云瑶池数据库「拥抱Data+AI」系列连载第2篇,基于真实客户案例和最佳实践,探讨如何利用阿里云Data+AI解决方案应对游戏行业挑战,通过AI为游戏行业注入新的活力。文章详细介绍了日志数据的实时接入、高效查询、开源开放及AI场景落地,展示了完整的Data+AI解决方案及其实际应用效果。
|
1月前
|
监控 关系型数据库 数据库
怎样分析慢查询日志?
【10月更文挑战第29天】怎样分析慢查询日志?
48 2
|
1月前
|
XML 安全 Java
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
本文介绍了Java日志框架的基本概念和使用方法,重点讨论了SLF4J、Log4j、Logback和Log4j2之间的关系及其性能对比。SLF4J作为一个日志抽象层,允许开发者使用统一的日志接口,而Log4j、Logback和Log4j2则是具体的日志实现框架。Log4j2在性能上优于Logback,推荐在新项目中使用。文章还详细说明了如何在Spring Boot项目中配置Log4j2和Logback,以及如何使用Lombok简化日志记录。最后,提供了一些日志配置的最佳实践,包括滚动日志、统一日志格式和提高日志性能的方法。
345 30
【日志框架整合】Slf4j、Log4j、Log4j2、Logback配置模板
|
14天前
|
监控 安全 Apache
什么是Apache日志?为什么Apache日志分析很重要?
Apache是全球广泛使用的Web服务器软件,支持超过30%的活跃网站。它通过接收和处理HTTP请求,与后端服务器通信,返回响应并记录日志,确保网页请求的快速准确处理。Apache日志分为访问日志和错误日志,对提升用户体验、保障安全及优化性能至关重要。EventLog Analyzer等工具可有效管理和分析这些日志,增强Web服务的安全性和可靠性。

相关产品

  • 日志服务