【CDS技术揭秘系列 02】阿里云CDS-SLS大揭秘

本文涉及的产品
对象存储 OSS,20GB 3个月
日志服务 SLS,月写入数据量 50GB 1个月
对象存储 OSS,恶意文件检测 1000次 1年
简介: CDS-SLS 作为云化的日志平台,将组件进行高内聚低耦合,线下用户最低可以在6台规模的机器上将上述所有的功能自动化部署,在运维、运营、财务管理、数据分析报表等大数据场景领域以低代码模式有效解决传统软件中的痛点。本文主要进行 CDS-SLS 各功能点概览性的介绍。

前言

本文作为即将发布的混合云产品 CDS-SLS(Cloud Defined Storage-Simple Log Service)一系列文章中的第二篇,主要进行 CDS-SLS 各功能点概览性的介绍。日志作为数字化的载体,里面包含了后台程序的运行信息,业务运营等信息。

日志的查询分析从最早的几台机器的手工 pssh+grep 发展到每个业务的小规模 ELK 或者 EFK(Elasticsearch, Logstash/Filebeat/Fluentd, Kibana),量大的再加上 Kafka,如果有采集 Metric的需求还需要加 Collectd,如果有可视化需求还需要增加 Grafana,对存储备份有需求的还会引入 Ceph,对于基础配置的一致性管理引入 Salt 等,每增加一个组件在高并发场景下硬件成本和运维成本迅速增加。

CDS-SLS 作为云化的日志平台,把这些组件进行了高内聚和低耦合,线下用户最低可以在6台规模的机器上将上述所有的功能自动化部署,在运维、运营、财务管理、数据分析报表等大数据场景领域以低代码模式有效解决传统软件中的痛点。

术语&背景

CDS

CDS(Cloud Defined Storage)云定义存储。属于软件定义存储SDS(Software Defined Storage)的一种输出形式,CDS 具备与公共云统一的存储架构和统一的用户体验,减小底座,提供灵活的部署规模和部署形态,融合多个存储产品,提供企业级存储的运维和管理。

CDS支持各种存储产品的混部组合,例如 CDS-OSS + CDS-SLS ,CDS-EBS + CDS-SLS 等。产品方面会有敏捷版(SLS 最小规模六台,计划推出缩减到四台的更精简版本)和企业版(SLS 6台到数百台)两种输出形式。CDS 一方面提高专有云企业版和敏捷版的产品竞争力和产品成熟度;另一方面,在端、边缘和客户数据中心等环境实现各类数据的接入、备份、分析。

SLS

SLS(Simple Log Service) 阿里云日志服务。SLS 起源于阿里云早期飞天底座中的神农监控服务目前已发展为集采集、查询分析、可视化一体的面向云原生可观测性的 *Ops(DevOps、SecOps、 FinOps) 整体解决方案。

SLS的主要功能概览

SLS 中的日志数据是 AppendOnly,写多读少,对时间敏感但并非要求严格保序,查询频率和热度随时间迅速递减。CDS-SLS 版本继承自阿里云上的 SLS,目前 SLS 已经连续多年支撑阿里双十一/双十二活动,同时支撑众多如新春红包、周年大促等重大活动,在稳定性、功能性以及性能方面得到了充分的验证。

本文着重从运维相关的角度来展开 SLS 的各个功能点。SLS 的主链路包含数据采集-数据查询分析-可视化-智能应用,作为计算和存储并重的产品,为了进一步降低线下用户的硬件成本,会进行一些非通用性的功能的裁剪,将硬件本身的计算资源和存储资源发挥到极致。


上图是公共云用户视角下的 SLS 功能,对于 CDS-SLS 线下用户,可以在天基平台看到 SLS 服务对应的各个子模块,也能完整看到各进程对应的 CPU 和内存占用。从服务的角度分为数据类和调度类两个大类,前者拆分为 34 个服务角色,后者拆分为 10 个服务角色。拆分后服务的升级和扩缩容将会变得更加容易。


SLS内部服务拆分

sls-service-master 主要进行调度相关的服务,它的每个服务角色有多个实例确保高可用。主要的服务功能集中在 sls-backend-server 中,大致的分层结构如下:

CDS-SLS 目前默认底层分布式存储是盘古 2.0 系统。盘古 2.0 作为阿里云的存储底座具备高性能高稳定性的特征。SLS 的内部业务模块也进行了很好的微服务的拆分,底层使用C++自研,以实现极致的性能。

SLS的各模块中有大量的后台参数可以调节,只是我们为了方便客户使用,默认值往往能满足绝大多数客户的需求。很多设计都秉承"提供机制而不是策略(Separation of mechanism and policy)"和“单一职责(Do one thing and do it well)”的经典UNIX思想。

  • 用户关心的流控,后台提供多种维度的精确控制,默认的参数可以覆盖绝大部分场景。
  • 数据采集Agent(Logtail)经过多年百万机器大规模验证,在性能、稳定性上都有很好保证,相比开源软件,可以大幅降低对机器资源的占用(最高可降低90%)。
  • "查询|分析"的管道式的设计就很好的贯彻了单一职责,查询和分析分别对应不同的后台服务。

混合云场景的特殊设计

集群形态

目前的天基中的SLS相关的集群有两个:

  • 底座中的 sls-common 集群共享底座的盘古,提供最基本的查询分析,供阿里云底座中各服务进行自运维,限于底座资源保存时间 7 天。在混合云网络隔离不可达的场景下显著提升运维的效率,开发人员通过几个关键词让现场人员查询即可很快定位问题。
  • 用户单独购买的 CDS-SLS 集群,独占一套盘古,集群中只运行SLS相关的进程,有效缓解了底座共享资源紧张的问题,所以日志的 TTL 可以永久保存,并且有体验更好的控制台。

本文提到的绝大多数功能都是针对用户单独购买的 CDS-SLS 集群。

国产化信创支持

目前 CDS-SLS 会支持海光,鲲鹏,飞腾等CPU的架构,并会有严格的和 Intel X86 相同的验收测试。之后还会针对线下输出场景更多异构 CPU 和混合场景的测试支持。

针对HTTPS的访问会支持国密 TLS 信道传输,让一些金融或者政企行业的数据访问更合规。

开源ELK方案对比和迁移

ELK的背景

Elastic主要基于Lucene实现,2012 年 Elastic 基于 Lucene 基础库包成了一个更好用的软件,并且在 2015 年推出 ELK Stack(Elastic Logstash Kibana)解决集中式日志采集、存储和查询问题。但是 Lucene 设计场景是 Information Retrial,面对是 Document 类型,因此对于可观测分析(Log/Trace/Metric)数据有一定限制,例如规模、查询能力、以及一些定制化功能(例如智能聚类 LogReduce)。

Elasticsearch

日志服务

说明

index

logstore

允许用户将多个 index 上的数据迁移至一个 logstore。

type

logItem 中的字段 __tag__:_type

document

logItem

Elasticsearch 的文档和日志服务中的日志一一对应。

mapping

logstore 的索引

工具默认情况下会为您自动创建好索引。

field datatypes

logItem 数据类型

具体映射关系参考数据类型映射


日志采集端功能对比

目前主流开源社区的日志采集端一般是 Logstash 和 Fluentd,早期版本会进行一些功能和性能的比较,测试结果数据参考

功能项

Logstash

Fluentd

Logtail

日志读取

轮询

轮询

事件触发

文件轮转

支持

支持

支持

Failover处理 (本地checkpoint)

支持

支持

支持

通用日志解析

支持grok(基于正则表达式)解析

支持正则表达式解析

支持正则表达式解析

特定日志类型

支持delimiter、key-value、json等主流格式

支持delimiter、key-value、json等主流格式

支持key-value格式

数据发送压缩

插件支持

插件支持

LZ4

数据过滤

支持

支持

支持

数据buffer发送

插件支持

插件支持

支持

发送异常处理

插件支持

插件支持

支持

运行环境

JRuby实现,依赖JVM环境

CRuby、C实现,依赖Ruby环境

C++实现,无特殊要求

线程支持

支持多线程

多线程受GIL限制

支持多线程

热升级

不支持

不支持

支持

中心化配置管理

不支持

不支持

支持

运行状态自检

不支持

不支持

支持cpu/内存阈值保护

用户如果之前是 logstash 采集,也可以很容易迁移到 SLS,可以参考:Logstash数据源接入SLS

Logstash支持所有主流日志类型,插件支持最丰富,可以灵活 DIY,但性能较差,JVM 容易导致内存使用量高,作为最重要的插件之一的 Grok 性能问题导致很多用户从 ELK 变为 EFK。

Fluentd 支持所有主流日志类型,插件支持较多,性能表现较 Logstash 有提升但受限于 Ruby 的 GIL 大锁,性能还需要进一步提高,官方文档也明确了这个缺陷。
Ruby has GIL (Global Interpreter Lock), which allows only one thread to execute at a time. While I/O tasks can be multiplexed, CPU-intensive tasks will block other jobs. One of the CPU-intensive tasks in Fluentd is compression.

Logtail 占用机器 CPU、内存资源最少,结合阿里云日志服务的 E2E 体验良好,目前经过几年的迭代,功能已经比较完善,尤其是针对容器场景进行了大量的性能优化和用户体验的优化,对于 Daemonset 和 Sidecar 模式的支持比较成熟。

查询分析对比


•低门槛:完整 SQL92 标准,JDBC 完整协议,支持 Join

•高性能:查询延迟相比 ES 低、

•智能:支持机器学习AI算法、支持场景化聚合函数


  • 场景化函数:通过十余年实战经验沉淀针对数据分析场景的 30+ 聚合计算函数
  • 机器学习函数:大数据与机器学习相结合,丰富的机器学习函数
  • 多渠道数据源:发挥阿里云平台优势联动更多数据源,如IP地理位置库数据、威胁情报数据、白帽子安全资产库


ELK到SLS的数据一键迁移

目前的很多用户都是在被多个分散的小的 ES 集群水位和消息队列高并发的时候难以运维选择了 SLS,所以从 ES 到SLS 的迁移就变得非常关键,如何能优雅而且容易的把数据迁移到 SLS,目前 SLS 已经给出了比较成熟易用的方案。ELK到SLS的数据一键迁移方案详情

重要特征

  • 支持断点续传:调用参数中 cache_path 指定 checkpoint 的存放位置,当迁移程序中断后,重新打开时指定相同的 cache_path 便可以继续迁移任务。
  • 迁移速率快:单个 SLS shard, 单个 ES shard,pool_size 为1,可实现接近5M/s的迁移速度。可通过调整 SLS shard 和 pool_size 大小来达到提速。

常用的迁移命令模式

  • 将 hosts 为 localhost:9200 的 Elasticsearch 中的所有文档导入日志服务的项目 project1 中。

aliyunlog log es_migration --cache_path=/path/to/cache --hosts=localhost:9200 --project_name=project1

  • 指定将 Elasticsearch 中索引名以myindex_开头的数据写入日志库logstore1,将索引index1,index2中的数据写入日志库logstore2中。

aliyunlog log es_migration --cache_path=/path/to/cache --hosts=localhost:9200,other_host:9200 --project_name=project1 --logstore_index_mappings='{"logstore1": "myindex_*", "logstore2": "index1,index2"}}'

后续

在保证稳定性的前提下为了追求极致性能会持续进行新版本的迭代升级和更多新功能的引入,客户的通用类需求会放在更高的优先级。例如用户比较直观能感受到的硬件机型 SLS 在线下会从单一款计划增加到三款来满足更多类客户的精细化需求,在常规基础上会引入计算门槛相对低一点的硬件和对于日志保存时长有特殊长时间要求的的金融类客户的存储高密机型。

软件层面更快更智能的查询分析作为核心功能会让 CDS-SLS 在一站式的日志平台中给客户更好的体验,SLS 起于日志,不止于日志,其他更多功能后续会持续分享。


原创作品:阿里云存储 禅车


系列文章传递门:

  1. 【CDS技术揭秘系列 总篇】阿里云的云定义存储来了https://developer.aliyun.com/article/792044?spm=a2c6h.13148508.0.0.3eef4f0ecyZOjQ
  2. 【CDS技术揭秘系列 01】阿里云CDS-OSS容灾大揭秘https://developer.aliyun.com/article/792000?spm=a2c6h.13148508.0.0.3eef4f0ecyZOjQ
相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
2月前
|
存储 消息中间件 人工智能
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
早期 MiniMax 基于 Grafana Loki 构建了日志系统,在资源消耗、写入性能及系统稳定性上都面临巨大的挑战。为此 MiniMax 开始寻找全新的日志系统方案,并基于阿里云数据库 SelectDB 版内核 Apache Doris 升级了日志系统,新系统已接入 MiniMax 内部所有业务线日志数据,数据规模为 PB 级, 整体可用性达到 99.9% 以上,10 亿级日志数据的检索速度可实现秒级响应。
AI大模型独角兽 MiniMax 基于阿里云数据库 SelectDB 版内核 Apache Doris 升级日志系统,PB 数据秒级查询响应
|
28天前
|
SQL 人工智能 运维
在阿里云日志服务轻松落地您的AI模型服务——让您的数据更容易产生洞见和实现价值
您有大量的数据,数据的存储和管理消耗您大量的成本,您知道这些数据隐藏着巨大的价值,但是您总觉得还没有把数据的价值变现出来,对吗?来吧,我们用一系列的案例帮您轻松落地AI模型服务,实现数据价值的变现......
128 3
|
3月前
|
监控 数据管理 关系型数据库
数据管理DMS使用问题之是否支持将操作日志导出至阿里云日志服务(SLS)
阿里云数据管理DMS提供了全面的数据管理、数据库运维、数据安全、数据迁移与同步等功能,助力企业高效、安全地进行数据库管理和运维工作。以下是DMS产品使用合集的详细介绍。
|
2月前
|
敏捷开发 前端开发 测试技术
阿里云云效产品使用合集之如何将云效构建执行过程中产生的日志通过邮件发送
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
2月前
|
敏捷开发 测试技术 持续交付
阿里云云效产品使用合集之appStack部署时没有日志是什么原因
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
SQL 分布式计算 监控
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
本文演示了使用 EMR Serverless Spark 产品搭建一个日志分析应用的全流程,包括数据开发和生产调度以及交互式查询等场景。
56580 7
基于阿里云 EMR Serverless Spark 版快速搭建OSS日志分析应用
|
5月前
|
存储 监控 Apache
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
网易的灵犀办公和云信利用 Apache Doris 改进了大规模日志和时序数据处理,取代了 Elasticsearch 和 InfluxDB。Doris 实现了更低的服务器资源消耗和更高的查询性能,相比 Elasticsearch,查询速度提升至少 11 倍,存储资源节省达 70%。Doris 的列式存储、高压缩比和倒排索引等功能,优化了日志和时序数据的存储与分析,降低了存储成本并提高了查询效率。在灵犀办公和云信的实际应用中,Doris 显示出显著的性能优势,成功应对了数据增长带来的挑战。
查询提速11倍、资源节省70%,阿里云数据库内核版 Apache Doris 在网易日志和时序场景的实践
|
5月前
|
弹性计算 前端开发 Serverless
Serverless 应用引擎操作报错合集之在阿里云函数计算中,调用了FC函数但是没有执行或者报错,并且在FC函数后台也看不到调用记录日志如何解决
Serverless 应用引擎(SAE)是阿里云提供的Serverless PaaS平台,支持Spring Cloud、Dubbo、HSF等主流微服务框架,简化应用的部署、运维和弹性伸缩。在使用SAE过程中,可能会遇到各种操作报错。以下是一些常见的报错情况及其可能的原因和解决方法。
|
5月前
|
敏捷开发 Devops 测试技术
云效产品使用常见问题之不知道每次登录是否会记录在阿里云账号的登录日志中如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
5月前
|
域名解析 缓存 网络协议
阿里云DNS常见问题之阿里云DNS的操作日志查不到如何解决
阿里云DNS(Domain Name System)服务是一个高可用和可扩展的云端DNS服务,用于将域名转换为IP地址,从而让用户能够通过域名访问云端资源。以下是一些关于阿里云DNS服务的常见问题合集:

热门文章

最新文章

相关产品

  • 日志服务
  • 下一篇
    无影云桌面