云原生架构下日志服务数据预处理

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 本篇实践将以某家国际教育机构为例,为大家详细介绍云原生架构下日志服务数据预处理以及对应的解决方案和最佳实践操作手册,方便用户快速对号入座,解决云原生架构下的常见日志难题。
直达最佳实践:【 https://bp.aliyun.com/detail/207
观看视频:【 https://yqh.aliyun.com/live/detail/23950
阿里云最佳实践目前已覆盖23类常用场景,有200多篇最佳实践,这其中涉及110款以上阿里云产品的最佳使用场景。目前,最佳实践已成功帮助大量客户实现自助上云。

分享人

  • 解决方案架构师-七凌
  • 日志服务产品经理-谷奈

本篇实践将从3个部分为大家介绍云原生架构下日志服务数据预处理,希望可以让大家对其有更深入的了解,并可以将其应用到项目中,达到降本提效的目的。本文主要内容分为以下三个方面:

  • 最佳实践方案讲解
  • 核心产品能力介绍
  • 基于场景的demo演示

一、最佳实践方案讲解

1. 云原生下的数据加工

云原生的定义各种各样,有来自CNCF社区的“微服务+容器+持续交付+DevOps”,也有来自不同云厂商的说法“生于云,长于云”。比如我们常常听到的云原生数据库、云原生大数据、云原生容器、云原生中间件、云原生安全等等概念,这都是在云上可以获取到的服务化云原生产品,是传统线下没有的服务,能够在线上获取极致的弹性。这里,我们提到的数据加工,它是阿里云提供的云原生日志服务SLS所具备的能力之一。我相信大家都非常熟悉日志服务的数据存储、数据查询能力,而对于它提供的数据加工和告警通知,可能不太了解。SLS内置的数据加工能力,能够将各类日志处理为结构化数据,具备全托管、实时、高吞吐的特点。它面向日志分析领域,提供非常丰富的算子、支持开箱即用的场景化UDF(比如Syslog、非标准json、accessLog解析等等)。同时与阿里云的大数据产品(OSS、MC、EMR、ADB等)以及开源生态(Flink、Spark)进行了深度集成,降低了数据分析的门槛。
image.png

2. 云原生数据加工的典型能力

下图所示为数据加工服务的几个典型能力,包括数据复制、过滤、转换,富化、补漏、分裂等。整体优势简单来说可以归纳为以下四点:

  • 开箱即用,免运维
  • 开放灵活,支持200+DSL
  • 稳定可靠
  • 能做到秒级延迟

image.png

3. 云原生数据加工的典型应用场景

以向全球提供分布式在线教育的某家国际教育机构为例,为大家介绍几个典型应用场景,供大家参考和借鉴。

  • 典型场景一:跨地域、跨账号的数据汇集
    假设该在线教育的主要用户集中在美国硅谷和中国上海两地,为了更好的为用户提供个性化服务,系统会通过多端(Android/IOS/Web)进行收集用户行为日志和设备元数据(端设备的信息、软件版本)。出于网络就近原则和稳定性考虑,美国硅谷的客户端日志都上传到美国硅谷region,中国上海的客户端日志都都上传到中国上海region,为了方面客服中心或者运维团队进行集中查询和管理,会将两地的数据通过数据加工汇聚到一起。正如下图上层所示,将跨账号跨区域的服务日志和操作日志通过数据加工汇聚到了一起。值得注意的是,跨地域数据汇集,默认会走公网,稳定性无法保证,所以推荐采用DCDN的方式进行全球加速。
    image.png
  • 典型场景二:数据统一的采集,按业务分发,进行数据的归类
    该客户的业务系统部署在阿里云容器服务ACK上,系统日志通过DaemonSet方式采集到Logstore。便于后续业务分析的目的,需要通过日志服务SLS将不同Service的日志分发到不同的Logstore,然后各个团队再进行进一步分析。比如,运维团队更关心5XX服务端报错;业务团队更在乎2XX正常的业务日志。正如下图下层所示:

    image.png

  • 典型场景三:数据内容富化(join维表)
    日常工作中,客服中心的工作人员尝尝需要通过检索账号ID的方式,快速获取该用户相关的移动端操作记录,但是移动端的数据和用户账号信息分别采集与存放的,无法直接进行关联。所以系统层面上,需要将多端日志与维表(例如用户信息Mysql表)进行字段join,为原日志信息添加更多维度信息供分析或者问题解答。

    image.png

  • 典型场景四:数据投递/归档、入湖分析以及监控告警
    运营部门希望对于用户行为数据进行进一步的离线分析,需要将数据归档到OSS便于后续使用,比如通过DLA进行进一步的数据挖掘。但是由于不同客户端日志格式不统一,需要使用日志服务进行数据规整后再做投递,便于后续分析。比如,将移动端上报的json格式进行展开,做格式化的规整,然后将规整后的数据投递到OSS后,再使用DLA进行分析。并且在这个过程中,我们可以对加工任务的延迟情况进行监控,当加工任务延迟时间超过所设置的阈值后,触发告警,执行相关行动策略。比如根据延迟时间的长短,设置不同的告警严重程度,并设置对应的告警形式: 严重为短信告警,中等为邮箱告警。通知到相应的运维人员,并且通过设置降噪策略,可以对类似告警进行归并,避免告警风暴的影响。其实下面这幅架构图也是这篇最佳实践的架构示意图,里面包括了方案涉及到的核心组件,后续将通过云速搭CADT进行一键部署,完成基础资源的创建。
    image.png

4. 使用云原生数据加工方案的优势

通过这篇最佳实践,我们可以知道如何进行数据规整、如何进行数据富化、数据分发/汇聚、如何做监控告警的配置。

image.png

二、核心产品能力介绍

什么是SLS?

SLS这个产品用一句话描述即SLS是云原生观测分析平台,为LOG/METRIC/TRACE等数据提供大规模、低成本、实时平台化服务。能够一站式提供数据采集、加工、分析、告警可视化与投递功能,能够全面提升研发、运维、运营和安全等场景的数字化分析能力。通俗一点说的话,相关日志数据包括log日志、trace日志、metric日志都可以通过SLS采集之后,在SLS里面经过加工分析等处理,最终应用到客户的业务场景里,主要场景包括:业务监控、异常诊断、网络分析、应用监控、增长黑客等。
image.png
SLS是从阿里云飞天监控系统中孵化的产品,是一款阿里自研,在阿里内外部得到广泛使用的《日志+监控数据平台》,同时经历了集团多年双十一和外部客户新春红包的考验,是国内公有云TOP1的日志分析产品。
image.png

SLS的应用场景

SLS作为一款日志产品,有着开放的产品理念和丰富的生态交叉。对目前用户数据比较大的云产品业务日志,以及审计日志,均可接入到SLS。同时SLS与大数据产品的投递和消费的功能,有很强的的解决方案组合能力。那么接下来我们就细看下SLS主要的应用场景,作为日志平台、业务监控、数据管道是目前使用最多的三个场景。
image.png

  • 日志平台

    日志平台比较好理解,只要是有一定规模的用户,就肯定会有业务运维和系统运维的需求,也就衍生了日志平台的需求。在SLS产品化之前,大部分用户都是使用开源的服务进行组合,比较主流的比如ELK的使用,而日志服务相比于这些自建的平台,在免运维、低成本、功能丰富等方面的优势是自建系统所无法比拟的。

  • 业务监控
    业务监控和智能运维其实也是运维领域通用场景的需求,SLS拥有秒级处理十亿级数据的分析能力,同时可以满足各种异构数据提取、聚合、可视化需求。同时另外结合我们的告警以及AI异常检测能力,可以帮助客户快速搭建起来一套完善的监控告警系统,最后结合日志服务提供的异常巡检、时序预测、根因分析等能力,能够帮助用户提高问题发现以及分析定位效率。
  • 数据管道
    由于SLS具有极强的统一数据采集的能力,目前已经支持40+种数据源的接入,同时数据加工能力通过灵活的ETL能够对数据进行清洗富化,最终通过投递消费的功能,与主流流式及离线平台大数据分析平台对接。因此作为数据管道在大数据等解决方案中使用也是主要的场景之一。

SLS的主要功能

功能包括数据采集、数据加工、查询分析、业务监控、日志审计、投递与消费。

image.png

  • 日志采集

    日志采集是SLS的一个核心功能,是帮助客户进行日志存储分析等的前提,在日志采集这一方面,SLS基本上是往极致的思路上在做。无论是LOG/TRACE/METRIC的日志,用户的服务器与应用日志,移动端的数据日志,IoT设备的日志,阿里云的各个云产品日志,还是其他场景,只要是满足标准协议的传输的日志,都可以通过SLS的采集平台进行统一采集。

    image.png

  • 数据加工

    完成了数据采集的工作之后,多样化的数据在投入使用之前,往往需要进行格式规整的工作,这时候就需要使用到数据加工的功能。SLS提供的数据加工是一款开箱即用的功能,支持数据过滤、转化、富化、分裂等处理。为了实现这样的能力,数据加工提供了200+的内置函数,400+的Grok,丰富的文本处理,搜索算子,可以通过简单的代码自由编排组合操作,实现所需要的的数据加工能力。

    image.png
    同时数据加工具备的秒级处理性能,大吞吐性能和水平拓展能力可以保障客户任务的可靠执行。

  • 查询分析

    通过数据加工,客户可以将原始的日志加工成结构化的数据,接下去就可以做查询和分析。SLS的查询分析提供了关键词、标准的SQL92\ALOPS函数等多种多样的查询方式,支持面向文本+结构化数据实时查询分析,异常巡检与智能分析,同时SLS拥有极致的查询性能,十亿数据能够在秒级进行返回。
    image.png

  • 业务监控

    通过这些分析后得到的查询的数据,就可以使用SLS的可视化能力,形成报表方便二次查询。一次SQL长期使用,所见即所得。同时SLS支持下钻分析和上卷分析,客户可以根据实际的业务需求设置对应的报表组合。另外SLS支持灵活的告警策略,支持多数据源的联合告警监控,也支持通过归并、抑制、静默等智能设置有效降低告警风暴,以便于能够将真正有效有价值的数据通知到用户,方便用户随时随地掌握业务动向。
    image.png

  • 日志审计

    日志审计主要应对客户的安全需求,能够帮助客户快速接入审计数据,以符合等保/网安法/GDPR协议,同时与第三方SOC完整对接,可以对数据进行二次使用。目前日志审计已覆盖所有日志相关产品日志自动化采集,可以实现跨多主账号、自动实时发现新资源并实时采集。我们在日志审计中内置了近百个CIS、最佳实践等场景监控规则,可以一键开启,及时发现不合规的行为。

    image.png

  • 投递功能
    投递功能是在当客户有数据归档或者复杂数据分析需求时,可以从日志服务投递(和消费对应的日志)到第三方服务。目前已经对接了主流流计算引擎和数据仓库存储。消费功能是指用户的ECS\容器、移动端、开源软件、JS等数据,通过采集接入到SLS后,可以通过SDK/API来自定义消费组,从SLS实时消费数据。

    image.png

三、基于场景的demo演示

本最佳实践采用云速搭CADT对需要使用的资源进行部署,它是一款为上云应用提供自助式云架构管理的产品,显著地降低应用云上管理的难度和时间成本。本产品提供大量预制的应用架构模板,同时也支持自助拖拽方式定义应用云上架构,支持大量阿里云服务的配置和管理,可以方便地对云上架构方案的成本、部署、运维、回收进行全生命周期的管理。下面简单演示下架构部署环境的搭建过程。

  1. 登录云速搭CADT控制台。
  2. 单击新建 > 官方模板库新建

    image.png

  3. 在搜索框中搜索“云原生架构下日志服务数据预处理”,找到目标模板,单击基于方案新建

    image.png
    系统基于模板生成应用架构图:

    image.png

  4. 双击OSS,需要重命名,保证全局唯一,其他资源配置根据实际情况修改。
    image.png
  5. 完成配置后,单击右上角的保存,设置应用名称,并单击确认

    image.png

  6. 接着单击部署应用

    image.png

  7. 按界面提示,依次完成资源验证、订单确认和下单创建等过程。等待资源部署成功后,可以单击资源名称列下的各个资源查看。
    image.png

关于完整的搭建演示过程,大家可以通过下面这个链接或访问二维码来访问本篇最佳实践文档内容,里面包含最佳实践场景和完整的搭建过程。

直达最佳实践 》》https://bp.aliyun.com/detail/207

207.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
6天前
|
Cloud Native API 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第21天】 随着企业加速其数字化转型的步伐,云原生技术已迅速成为推动创新和实现敏捷性的基石。本文深入探讨了云原生架构的核心组件,包括容器化、微服务、持续集成/持续部署(CI/CD)以及声明式API。通过分析这些技术的协同效应,揭示了它们如何共同促进系统的可伸缩性、弹性和维护性,进而支持企业在不断变化的市场环境中保持竞争力。
10 1
|
6天前
|
敏捷开发 Cloud Native 持续交付
构建未来:云原生架构的进化之路
【4月更文挑战第21天】随着数字化转型的深入,企业对IT基础设施的要求日益提高。云原生技术以其灵活性、可扩展性和敏捷性成为推动创新的重要力量。本文将探讨云原生架构的核心组件,分析其如何助力企业实现快速迭代和高效运营,并预测云原生技术的发展趋势。
|
9天前
|
Cloud Native 持续交付 云计算
构建未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第18天】 随着企业加速迈向数字化,云原生架构成为推动创新与效率的催化剂。本文深入探讨了云原生技术如何助力企业实现敏捷开发、自动化运维和无缝可扩展性,以及它如何塑造着云计算的未来。我们将通过具体案例分析,揭示云原生架构在处理复杂系统时的灵活性和可靠性,并展望其对业务连续性和安全性的积极影响。
14 1
|
11天前
|
Cloud Native 持续交付 API
构建未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第15天】 随着企业加速其数字化转型的步伐,云原生架构已经成为推动创新和实现敏捷性的关键技术。本文深入探讨了云原生技术如何助力企业在竞争激烈的市场中保持领先地位,包括它的核心组件、实施策略以及面临的挑战。通过实际案例分析,我们揭示了企业如何利用云原生架构来优化资源使用、提高开发效率和加强系统的稳定性与安全性。
|
12天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第14天】 随着企业加速迈向数字化,云原生架构成为支撑其转型战略的核心技术之一。该文章深入探讨了云原生技术如何通过提供灵活、可扩展的解决方案来满足现代业务需求。分析了容器化、微服务、持续集成和持续部署(CI/CD)以及DevOps文化对于构建和维护高效、可靠的云基础设施的重要性。同时,讨论了企业在采用云原生架构时可能面临的挑战,并提出相应的策略以克服这些障碍。
|
17天前
|
运维 Cloud Native 持续交付
构建未来:云原生架构在现代企业中的应用与挑战
【4月更文挑战第10天】 随着数字化转型的不断深入,企业对信息技术基础设施的要求日益提高。云原生架构作为一种新兴的设计理念和技术集合,以其灵活性、可扩展性和容错性,正在成为推动企业技术革新的关键力量。本文将探讨云原生技术的核心组件、实施策略以及面临的主要挑战,并分析如何通过采纳云原生架构来优化业务流程和提升服务效率。
|
19天前
|
Cloud Native Devops 持续交付
构建未来:云原生架构在企业数字化转型中的关键作用
【4月更文挑战第7天】 随着企业加速其数字化转型的步伐,云原生架构已经成为支持敏捷开发、自动化运维和微服务的关键平台。本文深入探讨了云原生技术如何赋予企业灵活性与创新能力,以及这些技术如何帮助组织更有效地响应市场变化和客户需求。通过分析容器化、微服务、DevOps和持续集成/持续部署(CI/CD)等核心技术,我们将揭示它们如何共同塑造着云计算的未来,并为企业提供竞争优势。
13 1
|
6天前
|
敏捷开发 监控 数据管理
构建高效微服务架构的五大关键策略
【4月更文挑战第20天】在当今软件开发领域,微服务架构已经成为一种流行的设计模式,它允许开发团队以灵活、可扩展的方式构建应用程序。本文将探讨构建高效微服务架构的五大关键策略,包括服务划分、通信机制、数据管理、安全性考虑以及监控与日志。这些策略对于确保系统的可靠性、可维护性和性能至关重要。
|
6天前
|
消息中间件 监控 持续交付
构建高效微服务架构:后端开发的进阶之路
【4月更文挑战第20天】 随着现代软件开发的复杂性日益增加,传统的单体应用已难以满足快速迭代和灵活部署的需求。微服务架构作为一种新兴的分布式系统设计方式,以其独立部署、易于扩展和维护的特点,成为解决这一问题的关键。本文将深入探讨微服务的核心概念、设计原则以及在后端开发实践中如何构建一个高效的微服务架构。我们将从服务划分、通信机制、数据一致性、服务发现与注册等方面入手,提供一系列实用的策略和建议,帮助开发者优化后端系统的性能和可维护性。
|
1天前
|
监控 测试技术 持续交付
探索现代微服务架构的最佳实践
【4月更文挑战第25天】 随着软件开发领域不断演进,微服务架构已成为设计灵活、可扩展且高度可维护系统的首选方案。本文将深入探讨构建和部署微服务时的关键最佳实践,涵盖从服务划分原则到持续集成/持续部署(CI/CD)的流程,再到监控与日志记录的策略。我们的目标是为开发者提供一套实用的指南,帮助他们在构建未来的应用程序时做出明智的架构选择,并确保这些系统能够快速响应市场和技术的变化。

热门文章

最新文章