开发者社区> suntingtao> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

世界杯直播背后的实时日志分析

简介: 以“世界杯”直播为背景,向大家演示如何通过CDN的播放器、推流等日志实时分析,监控线上业务的质量,了解用户的分布与习惯,构建数字化的运维与运营分析平台。
+关注继续查看

2018年世界杯网络直播,网络同时在线观看人数超过千万,为了保证直播体验,CDN在其中起到了极其重要的作用,为了保障CDN的播放质量,需要对CDN的各类日志进行实时收集、清洗和分析。我们以类似“世界杯”直播为背景,向大家演示如何通过CDN的播放器、推流等日志实时分析,监控线上业务的质量,了解用户的分布与习惯,构建数字化的运维与运营分析平台。

CDN日志系统通用架构

首先,介绍一下世界杯直播,简化的数据流向:

  • 直播流推送至视频直播中心
  • 直播中心处理之后,视频数据推送到CDN节点
  • 用户通过app或网页播放刚上传至CDN节点的内容

image.png | left | 747x418

CDN实时日志系统,通常有以下几部分构成:

  • 数据实时采集 : 在直播推流、播放期间,都会产生大量日志,需要在秒级延时内,实时采集这些日志到日志中心。
  • 数据清洗:日志采集后,对数据进行清洗,以满足不同场景的处理需求(如,对不同域名日志的定制化分析)。
  • 数据处理和存储 : 对于不同的应用场景,数据的处理和存储方式也不尽相同 :

    • 实时处理 : 在秒级别对海量数据进行实多维度聚合统计分析
    • 表格存储 : 实时统计后的各类监控指标
    • 对象存储 : 日志打包压缩,供用户离线下载
    • 数据仓库 : 数据离线分析、用户行为分析、物业报表等场景

日志系统涉及的平台

image.png | left | 747x420

从整个架构上来说,整个CDN日志分析涉及的环节多,对服务质量也有严苛的要求,依赖的各系统也足够庞大,技术挑战大:

  • 日志采集系统 : 实时从全球多个区域、数万节点采集日志,数据产生后秒级延时内采集至日志中心,通常延时不能超过1分钟,否则日志的实时价值大打折扣。每天都有千亿、万亿的日志需要7*24小时不间断采集,同时也要考虑各类流量高峰等对系统产生的巨大冲击。
  • 流计算系统 : 为了满足报警等实时性要求高的场景,流计算系统在毫秒~秒级时间内,就需要对海量的日志进行实时、多维度的分析,同时对于部分数据,还有大量个性化定制的需求,数据处理组合维度大大增加,计算复杂度也响应增加。
  • 存储平台:为满足不同的应用场景,数据的读取特点也不同,如果保存metric指标的NoSql系统(TableStore),可保证各metric读取延时小于10ms;保存日志供用户下载的对象存储系统(Oss),则提供数据高吞吐下载能力;复杂的分析场景,可由数仓系统来支持。
  • 报警系统:在CDN场景下,对服务的可用性、性能要求苛刻,需要对于各类异常进行实时、准确的报警,这就需要依赖可靠的监控报警系统。

普通CDN用户面临的困境

从上面介绍的整套CDN日志分析流程中,使用依赖多套子系统,任意一个系统要做好都不是一件容易的事情,需要投入大量的时间和资源。而对于用户来说,对于CDN日志也有数据实时、离线的分析的需求,我们先看看普通CDN用户在满足这方面需求上有哪些困境:

image.png | left | 747x418

  • 用户无数据 : CDN的访问日志,在由各大CDN产商上产生,用户不可直接获取。现阶段,绝大部分的CDN产商都只提供离线日志下载,日志数据从产生,到用户可下载,需要几十分钟到数个小时不等。这样大的数据产生延时,大大削减了实时流处理、报警等高实时性要求场景的分析价值。
  • 多种分析需求:为了解决各类定制化的分析需求,通常的做法是搭建和运维开源系统,如,用于做数据通道的kafka、流式分析的storm或flink、做数据分析的spark、hadoop等。
  • 可视化需求: 对于最终的分析结果的展示,依赖数据库(结果集小)、HBase(结果集大)存储结果,再通过对接各可视化工具来完成。
    从上面的介绍来看,对于普通用户,要对CDN日志进行实时、离线分析真不是一件简单的事情,搭建、运维和管理哥依赖系统本身就不是一件容易的事情,为了完成需求,有时还需要编写不少代码,但最终并不一定能得到很好的效果(如数据延时问题不能解决)。那有没有更好的解决办法么?

CDN日志一站式解决方案

阿里云日志服务和CDN,将于9月推出CDN日志实时分析一站式解决方案,CDN日志产生后,在小于60秒的时间内,直接投递至阿里云日志服务,之后,直接使用日志服务提供的实时、交互式分析和报表展示功能,对CDN日志进行实时分析,大大简化整个流程。

image.png | left | 747x417

日志服务简介

在介绍该方案之前,先简单介绍一下日志服务,我们希望日志服务能够让用户远离日志分析中的各类繁杂“琐事”,更加专注于和业务更紧密、更有价值的数据“分析”上。日志服务提供主要3个功能:

  • 实时采集与消费(Log Hub) : 通过ECS、容器、移动端,开源软件,JS等接入实时日志数据(例如Metric、Event、BinLog、TextLog、Click等);提供实时消费接口,与实时计算及服务对接。
  • 投递数仓(Log Shipper):稳定可靠的日志投递。将日志中枢数据投递至存储类服务进行存储。支持压缩、自定义Partition、以及行列等各种存储方式。
  • 查询与实时分析(Search/Analytics): 实时索引、查询分析数据数据。

    • 查询:关键词、模糊、上下文、范围
    • 统计:SQL聚合等丰富查询手段
    • 可视化:Dashboard + 报表功能
    • 对接:Grafana,JDBC/SQL92

image.png | left | 747x420

接下来,我们介绍一下在直播场景下,CDN日志实时投递只日志服务之后,可以做哪些典型的实时分析:

典型场景:直播推流

直播推流数据非常重要,当有了直播推流的日志之后,可掌控推流端各种实时状态:

  • 推流概览 : 实时知道当前的推流数量、各个推流的流量和速度、从各省、运营商维度统计
  • 推流质量:多维度的推流质量统计、重点推流的实时质量监控
  • 错误根源追踪:快速定位错误产生的源头(直播源、服务端、客户端、运营商)

image.png | left | 747x419

下图是直播推流的各项监控统计,从整体的推流质量上来看,99%以上的推流都是正常的,说明推流的质量非常好。

image.png | left | 747x418

下表统计了各类错误的产生原因,可以看到最大的错误来源是客户端主动断开。

image.png | left | 747x297

典型场景:CDN下行

介绍完直播推流端,我们再看看播放端(CDN下行)。CDN下行是用户直接接触,其质量直接决定用户观看体验,在下行日志中,我也可以从多个维度进行分析:

  • 整体质量:

    • 健康度 : 在所有的访问中,有多少请求是成功的
    • Cache命中率 : 命中率越高,用户访问延时越低,体验越好
    • 下载速度 : 这也是关系到播放质量的重要因素
  • 多维度分析:

    • top域名访问次数、流量 : 重点域名的访问质量
    • 地域、运营商统计:各个链路的质量
    • 下载量、速度、延时:多项关键指标
  • 错误诊断:

    • 实时错误QPS、比例 : 整体错误情况
    • 错误Top 域名、URI : 错误是否和自身相关
    • 错误Top 地域、运营商 : 错误是否和外部因素相关
    • 错误客户端分别 : 是否是新发布版本引入的问题

image.png | left | 747x412

image.png | left | 747x418

在下图中,可以看到,绝大部分错误,都是发生在这个客户端版本,就需要怀疑是不是新的版本发布带来的呢?

image.png | left | 747x419

典型场景:用户行为分析

用户的访问行为,最终可体现在日志上,通过日志的分析,了解到用户是如何进行访问的,哪些资源是热门资源,通过用户的来源,更清楚了解用户来源,以后的运营推广也可以更具有针对性,除此之外,对异常IP进行监控,可更早发现异常,如高频访问的IP,是否存在爬取数据的嫌疑。

image.png | left | 747x405

image.png | left | 747x420

Demo演示:

当系统出现报警或有用户投诉的情况下,通用的处理流程往往是相似的:

  • 整体概述:整体访问是否正常?
  • 缩小范围:是局部错误么,是哪个域名,或是哪个区域,再或者只是某个用户?
  • 精准定位:缩小调查范围后,可对局部数据进行同比、环比的对比;观察更详细的日志;多个维度进行Adhoc的query分析。

image.png | left | 747x411

在这个过程中,我们可以发现,整个分析流程,是从上到下、从面到点、交互式的分析,涉及到Drill Down/Roll Up等多方面。因此,灵活和方便是系统必备的两项。在以下的视频中,展示如何在日志服务中,对CDN日志进行交互式的分析。


另外,我们也提供了一个Demo,可以实际体验一下Mock的CDN日志分析:Demo连接

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
跨境电商直播实时字幕,如何做到 “实时”?
2020 的双 11 狂潮已然提早,年度氪金剁手大会已吹响号角。
0 0
单日课程超10万节!VIPKID 如何解决在线教育实时直播互动的难题?
截止目前,仅付费学生规模超 70 万人 ,单日一对一课量超 10 万节,高峰时段课程并发最高达到 3.5 万节。拥有覆盖了全球 35 个国家的 5 条跨海专线,在 16 个国家、55 个城市完成数据中心传输节点布局,能够根据实时动态在一分钟内完成智能切换。
0 0
扫平日志分析路上障碍, 实时海量日志加工实践直播培训
日志服务数据加工功能提供托管的自动伸缩的实时可靠数据加工服务,本次系列培训从实战案例角度完整介绍数据加工的主要场景. 包括功能语法、数据分发、结构与非结构化数据清洗、外部资源关联、并发可靠性与排错等,解决实日志数据在接入、分析、投递、对接时存在各种数据加工需求与问题。
1817 0
云栖大会在线用户行为分析场分享:海量流式视频日志收集
本文介绍了不同平台、不同格式的日志采集、处理面临的挑战,详细介绍了阿里云日志服务的Loghub功能以及其丰富的上下游生态。
2450 0
淘宝直播“一猜到底”——移动端实时语音识别技术方案及应用
过去一年淘宝直播快速发展,截止2020年9月底,80个淘宝直播产业基地在全国落地开花,从农村走出10万农民主播,直播真正意义上成为帮助商家和消费者完成交易的利器,同时通过各种互动玩法让直播购物变得有趣好玩。在2020年双11开始阶段,淘宝直播App升级了18年直播答题「点题成金」的玩法,推出「一猜到底」新玩法。如果说传统的直播答题是「选择题」,一猜到底的玩法更像是几万人同时在线的「抢答题」,将答题方式从文字选择升级成语音抢答,给出猜中价格高低提示,让用户增加了更多的参与的乐趣。
0 0
双11就要来了,实时大屏准备好了吗?
以往大家做实时大屏,最常用的方法可能是将数据存在消息日志/数据库中,通过实时计算(Flink)去实时处理数据,将数据初步聚合后写入到数据库中,再对接实时大屏。整个链路中,数据存储和高并发的查询是最需要解决的问题,而市面上满足存储要求的产品并不能提供多元化的查询服务,满足查询要求的产品又需要维护多套存储系统,开发、运维的成本都只升不降.
1977 0
一对一直播平台源码开发的新思路,从直播开始分析
现如今科技发展飞速,一对一直播平台开发也没有想象中的那么困难,但是如果没有相对的开发经验,开发周期可能会相对较长,也比较容易踩坑。这时候可以选择靠谱的一对一直播平台源码,再进行二次开发,节省时间和成本,还可以保证一对一直播平台源码运行的稳定性。
0 0
我使用阿里云做直播,有什么手段保护直播安全?
准备工作 开通阿里云直播服务:阿里云直播服务接收直播流,并提供直播播放地址,完成一场直播需要先开通阿里云直播服务,在 直播官网详情页 中单击 立即开通 ,开通阿里云直播服务。 如您已经能够使用阿里云进行直播,但还没有进行过直播,可参考 如何使用 PC 推流。
14258 0
+关注
suntingtao
专注PB级日志实时收集、秒级查询和分析系统设计研发
文章
问答
来源圈子
更多
阿里云存储基于飞天盘古2.0分布式存储系统,产品包括对象存储OSS、块存储Block Storage、共享文件存储NAS、表格存储、日志存储与分析、归档存储及混合云存储等,充分满足用户数据存储和迁移上云需求,连续三年跻身全球云存储魔力象限四强。
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
阿里巴巴双十一千万级实时监控系统技术揭秘
立即下载
快手在大数据驱动下的直播体验优化
立即下载
海量消息的直播互动系统演进历程
立即下载