一、背景
日志服务SLS((https://help.aliyun.com/document_detail/48869.html) 是阿里集团自研的一站式日志平台,它包含数据实时采集、数据加工、智能查询分析以及数据分发四大基础功能,用户无需开发就能能够开箱即用地使用它来提升运维、运营效率,建立 DT 时代海量日志处理能力。
日志服务SLS支持从40+渠道采集日志数据,涵盖客户端、网页、协议、SDK、API等多种日志采集方式(https://help.aliyun.com/document_detail/28981.html),为用户提供了强大的数据采集能力。然而在一些测试或Demo场景下,用户无法接入日志数据,或者SLS提供的数据采集方式会显得门槛过高。试想如下三种场景:
场景一:用户想体验SLS对OSS(阿里云对象存储服务)访问日志的查询分析和可视化能力,但是不想开通OSS服务。
场景二:用户想在SLS中接入主机监控日志来体验SLS的时序存储与分析能力,但是真实场景的数据由于敏感性原因无法接入。
场景三:用户想持续往SLS的日志库中接入Nginx访问日志,以用于测试SLS的数据加工功能,但是没有真实的Nginx日志用于持续采集。通过代码持续模拟Nginx访问日志,并通过SDK的方式写入的方式对于用户来说较为繁琐。
在以上三种场景下,用户想要使用SLS的日志查询分析、可视化以及数据加工等功能,却苦于无法接入测试日志数据。因此在类似的测试或者Demo场景下,为了使用SLS的各类功能,SLS提供的数据采集方式已不是接入数据的最佳选择,而SLS数据实验室和SLS数据模拟器将助力用户更简单、快速地接入贴近真实场景模拟数据。
二、SLS数据实验室
“SLS数据实验室”是SLS应用中心中的一款应用(APP),为用户提供各种场景的模拟日志数据及各种公共数据集数据,便于用户体验和熟悉日志服务的查询分析、可视化报表等各种操作。
1、使用SLS数据实验室
用户进入日志服务控制台后,在“日志应用”区域单击“数据实验室”进入应用。初次使用数据实验室的用户需要根据提示完成云资源访问授权。
数据实验室目前提供两种场景:模拟数据和数据集。
1.模拟数据:根据模拟配置生成的数据。用户可以根据需求修改部分字段值及时间范围等配置,数据实验室会根据用户的配置产生数据。目前提供网站访问日志、数据库审计日志和主机监控日志三种场景。
2.数据集:来自于各种场景的真实日志数据,目前提供新冠疫情数据集场景。
以网站访问日志为例,在数据实验室首页点击网站访问日志的初始化功能按钮,进入数据模拟任务的配置界面。配置界面包含两部分内容:范围频率配置与日志字段配置。
在范围频率配置的标签页中可配置如下内容:
配置项 | 说明 |
---|---|
时间范围 | 指定模拟数据生成的起始时间与结束时间。如果不指定结束时间,会持续生成模拟数据。 |
分布模型 | 生成模拟数据的数据量分布模型,包括随机、周期与线性,用户可以自定义分布模型的相关参数。以周期分布为例,用户可以自定义变化周期、最小值、最大值和抖动值。 - 变化周期:数据量分布变化周期,支持秒、分钟、小时、天和周。 - 最小值:每秒最小数据量。 - 最大值:每秒最大数据量。 - 抖动值:例如设置抖动为0.1,模型数据量为count,则最终的数据量在[0.9count, 1.1count]之间随机。 |
异常点 | 在分布模型中所确定的数据量的基础上,随机选择某些时间点,在这些时间点上,数据量会出现异常变化,用户可以指定出现异常点的概率和异常点数据量变化的倍率。用户可以配置多个异常选项。 |
在日志字段配置的标签页中定义了字段名称、字段数据类型、字段随机参数和字段值等信息,用户可以根据需求,调整字段随机参数和字段值。
在配置完范围频率与日志字段后,点击开始导入按钮,数据实验室自动完成创建项目和Logstore、创建模拟任务、创建数据场景与生成模拟数据等任务,整个过程需要一分钟左右的时间。
在模拟数据导入完成后,用户点击开始使用便可开始使用数据实验室了。在数据实验室首页的“网站访问日志”区域,用户可以执行:
1.查询日志:对生成的模拟数据进行查询与分析
2.查看报表:查看该模拟场景的内置报表
3.数据配置:修改模拟任务的配置,并根据新的配置重新导入模拟数据。
4.删除场景:删除当前模拟场景。
2、使用限制
目前数据实验室提供的网站访问日志、数据库审计日志、主机监控日志与新冠疫情数据集这四个场景,均免费使用。需要注意的是,数据实验室主要是便于用户体验和熟悉日志服务的查询分析与可视化的相关操作,因此在数据实验室中Logstore仅用于存储模拟数据,数据保留7天,shard数量为1,用户无法进行数据写入、编辑索引等操作。
三、SLS数据模拟器
SLS数据实验室提供了三种模拟数据场景和一个数据集场景,以便于用户体验日志服务的查询分析与可视化的相关操作。数据实验室用于存储模拟数据的项目和日志库(Logstore)由实验室自动创建,数据仅保留7天,shard数量为1,并且该Logstore仅用于存储模拟数据,用户无法进行数据写入、编辑索引等操作。因此如果用户想要在自建的Logstore中导入模拟数据,并基于此使用SLS的全链路功能时(数据采集、数据加工、智能查询分析、数据消费等),数据实验室便无法满足需求。
1、使用SLS数据模拟器
SLS数据模拟器是SLS提供的一个专用于接入模拟数据的数据接入方式,用户可以利用数据模拟器在自己的Logstore中生成并接入模拟数据。用户可以通过两种方式使用数据模拟器。第一种方式是在日志服务控制台首页的接入数据功能区中,选择模拟数据类的接入方式。
可通过点击查看更多数据源查看所有支持的模拟数据场景。
第二种方式是进入项目(Project)后,在Logstore的功能菜单上,点击数据接入->模拟接入侧边的“+”按钮,随后会弹出模拟接入的窗口。
目前SLS数据模拟器支持21种不同的数据模拟场景,包含各类阿里云云产品日志(SLB七层日志、OSS访问日志等)、自建开源/商业软件日志(Nginx访问日志、Kubernetes-Ingress日志等)以及Metric日志(主机监控日志等)。
以SLB七层日志为例,在日志服务控制台首页接入数据功能区中,选择模拟数据类的接入方式后,找到SLB七层日志,并点击模拟。
随后根据提示选择相应的项目和日志库(Logstore),用于存储生成的模拟数据。如果没有现成的项目和日志库,用户也可以在这一步创建相应的项目和Logstore。如果是在项目内部的Logstore功能菜单上点击的模拟接入,则会自动跳过此步骤。
注1: 如果点击正常接入,则会引导用户使用SLS提供的数据采集或接入方式,接入对应场景的真实数据,而非模拟场景。
注2: 目前数据模拟器暂时只支持成都区域(后续会逐步开放所有区域支持),因此用户只能选择或创建成都区域的项目和Logstore。
选择完存储模拟数据的项目和Logstore后,点击下一步,进入模拟任务的配置界面。本步骤与数据实验室中的模拟任务配置完全相同,允许用户配置模拟任务的范围频率与日志字段的相关信息,详情可参考数据实验室中相关配置步骤的介绍。
配置完范围频率与日志字段的信息后,点击开始导入,便会在Logstore中建立数据模拟任务并生成模拟数据(相应的日志索引也会自动创建),此过程大约需要一分钟左右的时间。
**
**
上述过程完成后,点击开始使用,便可在Logstore中查询到对应的模拟日志数据。
2、模拟数据的查询分析与可视化
除了在Logstore中生成模拟数据之外,每个模拟数据的场景还提供了一个或多个内置的可视化报表。以SLB七层日志为例,该模拟场景提供了SLB访问日志和SLB操作日志两个可视化仪表盘。在模拟数据导入进Logstore后,会自动创建这两个仪表盘,来可视化地展示模拟日志的分析与统计情况。
除了使用内置仪表盘之外,用户也可自定义地对模拟日志进行查询分析并创建对应的可视化图表与仪表盘。
3、模拟数据的其他使用场景
除了对模拟日志进行查询分析与可视化外,用户还可以在自己的Logstore中,基于生成的模拟日志,使用SLS的全链路功能,如:
1.基于模拟日志创建告警;
2.使用SLS数据加工功能对模拟日志进行规整、富化、分发、汇总、重建索引等加工操作;
3.使用SLS数据投递功能将模拟日志实时投递至OSS、MaxCompute等阿里云产品中,对接数据仓库;
4.使用SLS提供的日志消费功能对模拟日志进行实时消费,用于流计算、实时计算或对接开源生态(Flink,Blink,Spark Streaming...)等;
5....(更多功能参考日志服务官方文档)
4、使用限制
目前SLS数据模拟器只支持成都区域,用户可以在成都区域的Logstore中接入模拟数据。后续会逐步开放所有区域,敬请期待。
结语
在很多测试或Demo场景下,模拟数据的接入是一个经常会遇到的痛点。SLS数据实验室与数据模拟器为用户提供了便捷的模拟数据接入方式,使用户能快速、简单地生成贴近真实场景的模拟数据到SLS日志库中。用户可以基于SLS数据实验室体验日志服务的查询分析与可视化功能,也可以利用SLS数据模拟器将20+场景的模拟数据接入到自己的Logstore中,进而使用SLS的全链路功能(查询分析、可视化、告警、数据加工...)。更进一步地,用户还可以使用SLS数据投递功能将模拟数据输出到其他数据仓库中,抑或是使用SLS日志消费功能,将模拟数据用于流计算、实时计算等,对接开源生态。
最后预告一下,SLS数据模拟器将在未来提供更丰富完整的模拟场景支持,也将开放用户自定义模拟数据场景,敬请期待!