云栖大会Serverless场分享:日志处理挑战与展望

简介: Serverless由于本身的优势,其使用越来越广,在Serverless场景下的日志分析和处理也有其自身的特点。本文通过介绍Serverless场景下日志处理的挑战,结合阿里云日志服务,举例说明日志在Devops、运营等多个场景下的使用,来展示如何从容应对Serverless下日志处理的挑战。
+关注继续查看

本文PPT来自于2017年云栖大会TI Serverless专场阿里云龙悟分享的《Serverless下日志处理的挑战和展望》整理而成。

image

由于Serverless的诸多优点,现在越来越多的应用采用Serverless的架构,如上图所示,一个典型的Serverless架构 :

  • Api网关作为用户访问的入口,是各类web、手机等客户端的访问入口
  • 应用的静态资源如图片、视频等可放在对象存储OSS上
  • 表格存储保存各类meta信息
  • 函数服务FC承载应用的核心处理逻辑

在应用采用Serverless架构的情况下,已经没有应用服务器,应用逻辑以事件为驱动进行触发,这样的改动对于应用的开发、运维、运营、客服都提出了更高的要求和不小的挑战。通常来说,日志数据对于一个应用来说至关重要,关系到应用的稳定,以及能否持续、健康发展。那么在Serverless场景下,日志数据处理又有哪些挑战呢?

image
我们先看看搭建一个日志处理平台有哪些挑战:

  • 采集多源:是否能够足够高效地从各类数据源(web、手机客户端,api网关、函数服务等)快速、方便、实时进行数据采集;
  • 运营管理成本:维护这样一个日志平台需要投入多少人力、时间、机器资源;
  • 响应速度: 对于开发、运维、运营、客服等人员,是否都可以方便、便捷地使用这个日志平台来满足各自多样的需求

通常,构建一个完整的日志平台,需要使用多种开源系统,其中典型的代表有kafka,elk,hadoop,spark,storm等,以及用于数据采集的各类agent(logstash,fluentd,beats等),这些软件和系统用于解决特定的问题,只有有机地把这些系统组合才来才能最终达到业务目标,但要能够稳定运行好这些系统,可不是一件容易的事情。

image

阿里云的日志服务提供了另外一种解决思路,以云服务的形式,提供一站式日志解决方案,集合日志多源采集、存储、实时分析和dashboard展示、数仓对接等丰富功能,来满足多种人员的各类需求。这样在即满足需求的情况下,又免去了维护多个复杂系统的代价,大大降低了日志分析的时间成本。

image
通过简单的配置,一个日志服务平台可以非常便捷地进行创建,按照我们的经验,一个人1小时足够了。
首先,我们看一下serverless应用下日志如何进行采集:

  • 通过嵌入web tracking js代码,可方便地采集客户端的行为日志;
  • 通过SDK,API网关的日志、应用APP中的日志实时将日志写入logstore中;
  • 产生在函数服务的日志,通过一行配置,FC会自动将stdout的日志采集至日志服务中;

当日志写入用户project的logstore之后,可以根据数据流量,进行秒级动态扩容、缩容。配置索引之后,各类人员可以直接使用。

接下来,我们以日志处理中几个通用场景为例,来说明如何方便地使用日志服务解决实际问题。
image
在DevOps场景下,基于阿里巴巴内部的使用经验,我们将ops的时间进行划分,其中最耗时的部分是问题调查,而问题调查往往需要从多个维度进行综合的分析,才能准确定位问题的根源:

  • Metric : 各类系统、应用指标,常见的如cpu、mem指标,应用访问延时等
  • AdHoc Query :各类条件组合进行的查询,如查询来之某个用户的访问正确率,某个页面的延时等
  • Tracing :对于单次访问的一个完整调用路径,通常可通过访问request id在各个系统中进行关联
  • Log、上下文 :详细的日志数据,以及和关键日志有关联的上下文日志

以下,我们以DevOps下的AdHoc query和tracing、上下文为例来演示如何使用日志服务:
image

首先,这个查询样例是, 某个用户对某个特定页面进行访问,出现错误或者延时超过1秒的请求情况。我们可以看到,这样的查询方式非常的灵活,可以对各种条件进行自由组合,通常会使用关键词查询、数值比较、模糊查询来进行组合。使用阿里云日志服务,日志写入1秒和即可查询,每次查询,在1秒内,可处理数亿的日志,从容应对海量日志。

接下来,如果当有用户反馈有访问异常的情况下,就可以通过Tracing + 上下午的方式,快速进行定位。
image

演示视频:

在这个视频中,首先通过用户的id找到错误的访问请求(1);再根据这个request id快速在应用日志中找到核心日志(2),发现错误根本原因是后端缓存队列已经满了,不能请求进行更多的请求;通过核心日志的上下文查询功能,快浏览在出核心错误日志上下文日志(3),用于快速定位问题。

image
在介绍DevOps场景之后,我们再看一下运营分析的场景。在这个场景下,我们希望运营同学也能很方便地直接使用日志平台进行问题的分析。比如,在进行一个推广活动的时候,该主推哪些产品、主要面向的用户群体又是哪些等的这类问题,都需要从用户浏览、购买等行为日志中进行分析。在日志服务平台上,通过简单的sql分析配合多种模式的视图展示,能非常直观将展示分析的结果。

image
演示视频:

在以上视频样例中,我们快速分析在一个网站上,售卖价格超过100元的商品中,访问次数最高的top 10的商品,分析的结果以饼图的形式来表示。日志服务的sql查询,支持了sql 92绝大部分语法功能,可在1秒内,对1亿条日志进行多个维度统计分析。

image
对于我们经常需要关注的核心指标,可将sql视图保存至dashboard做整体展示,下次打开的时候,直接看到结果。同时,在这个dashboard的上,也可以调整任意视图的时间段。

image
日志服务平台,除了以上所展示的日志实时query和sql分析功能外,也能直接和多个云产品和开源系统对接,比如将数据导入对象存储OSS或MaxCompute中进行归档和超大规模计算,通过Storm/Jstorm等流式系统可直接实时读取写入Logstore中的日志数据。这样可以更方便满足多种个性化的日志处理需求。

image
最后,我们对比一下,使用日志服务一站式平台和自建方案之间的差异。使用日志服务,可以极大降低硬件持有、系统运维、开发资源等多方面的成本,同时,使用日志服务的另一个好处是,在资源的弹性扩容、安全、权限管理上也有很大的优势。整体来说,可以使用更低的费用,享受更好的服务。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
目录
相关文章
|
11天前
|
运维 Cloud Native Java
课时3:阿里云 Serverless 助力企业全面拥抱云原生(四)
阿里云 Serverless 助力企业全面拥抱云原生
78 0
|
11天前
|
Cloud Native Java Serverless
课时3:阿里云 Serverless 助力企业全面拥抱云原生(三)
阿里云 Serverless 助力企业全面拥抱云原生
88 0
|
14天前
|
运维 负载均衡 Java
重温童年的“五子棋”,赢取专属阿里云Serverless证书
当古老的“五子棋”遇上最新最火热的Serverless,会擦出什么样的火花?一起来动手体验,赢取你的专属阿里云Serverless证书,更有众多好礼等你来抽
39 0
|
16天前
|
DataWorks 大数据 Serverless
杭州站|阿里云 Serverless 技术实践营(Serverless + 大数据)开启报名!
立即报名杭州站|阿里云 Serverless 实践营(Serverless + 大数据)专场!
|
12月前
|
Cloud Native 专有云 Serverless
|
弹性计算 运维 Kubernetes
走!去云栖大会看 Serverless
10 月 19 - 22 日,一年一度的科技盛会 “云栖大会” 即将启幕!阿里云 Serverless 即将在云栖大会通过直播、论坛、展区、实战营等形式,与各位技术人一起探讨,一起玩,共同感受 Serverless 带给世界的改变。
走!去云栖大会看 Serverless
|
机器学习/深度学习 人工智能 监控
10月30日云栖精选夜读:云栖大会Serverless场分享:日志处理挑战与展望
Serverless由于本身的优势,其使用越来越广,在Serverless场景下的日志分析和处理也有其自身的特点。本文通过介绍Serverless场景下日志处理的挑战,结合阿里云日志服务,举例说明日志在Devops、运营等多个场景下的使用,来展示如何从容应对Serverless下日志处理的挑战。
2926 0
|
监控 大数据 Serverless
#云栖大会门票限时赠送# 10.11云栖大会Clouder Lab “十分钟搭建共享应用”,手把手教你Serverless架构下的应用实现
10.11日下午杭州云栖大会 阿里云大学Clouder Lab专场,通过现场动手实验课的形式,教您如何利用阿里云函数计算、表格存储以及日志服务来搭建无服务器框架,实现“共享电单车”的主要应用场景。
2441 0
|
监控 Serverless 索引
Serverless日志处理挑战与方案
本文PPT来自阿里云的简志于10月16日在2016年杭州云栖大会上发表的《Serverless日志处理挑战与方案》。
2713 0
|
弹性计算 Serverless API
【云栖大会】Serverless专场:无服务器架构设计之道
Serverless是当今架构领域最火的话题之一,因为它又一次大幅提升了用户的资源效用效率,降低了管理成本,让devOps成为真正的事实。本次Serverless专场揭晓阿里云在Serverless方面提供了哪些能力,未来会怎么发展。
4752 0
热门文章
最新文章
相关产品
函数计算
推荐文章
更多