日志服务(SLS)数据模拟器初体验
一、背景
日志服务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的日志查询分析、可视化以及数据加工等功能,却苦于无法接入测试日志数据。为了解决以上场景的数据接入痛点,SLS推出数据模拟器,助力用户更简单、快速地接入贴近真实场景模拟数据。
二、数据模拟器简介
SLS数据模拟器是SLS提供的一个专用于接入模拟数据的数据接入方式,用户可以利用数据模拟器在自己的Logstore中生成并接入模拟数据。
目前SLS数据模拟器支持21种不同的数据模拟场景,包含各类阿里云云产品日志(SLB七层日志、OSS访问日志等)、自建开源/商业软件日志(Nginx访问日志等)以及Metric日志(主机监控日志等)。除了生成不同场景的模拟数据之外,SLS数据模拟器还会每个数据场景配套生成一些内置报表,用于可视化展示生成的模拟数据。
SLS数据模拟器具体支持的数据场景以及对应的内置报表如下:
阿里云云产品日志
日志场景名称 | 所属云产品 | 内置报表 |
---|---|---|
SLB七层日志 | 负载均衡 SLB | SLB操作日志、SLB访问日志 |
RDS审计日志 | 云数据库RDS | RDS审计中心、RDS审计安全中心、RDS审计性能中心 |
WAF日志 | Web应用防火墙 | WAF安全中心、WAF运营中心、WAF访问中心 |
VPC流日志 | 专有网络VPC | VPC流日志概览 |
云防火墙日志 | 云防火墙 | 云防火墙统计中心 |
DRDS日志 | 云原生分布式数据库 | DRDS日志性能中心、DRDS日志运营中心、DRDS日志安全中心 |
NAS访问日志 | 文件存储NAS | NAS运营中心、NAS文件系统操作统计中心、NAS文件系统明细信息 |
CDN日志 | CDN | CDN错误分析、CDN基础数据、CDN热门资源、CDN用户分析 |
DDoS日志 | DDos防护 | DDoS访问中心、DDoS运营中心 |
API网关日志 | API网关 | API网关访问统计中心 |
函数计算消费日志 | 函数计算 | 无 |
Redis审计日志 | 云数据库Redis版 | Redis审计中心 |
OSS访问日志 | 对象存储OSS | OSS运维中心、OSS性能中心、OSS访问中心、OSS审计中心 |
OSS计量日志 | 对象存储OSS | 无 |
SAS主机进程日志 | 云安全中心 | 主机日志-进程中心 |
SAS主机登录日志 | 云安全中心 | 主机日志-登录中心 |
SAS主机网络日志 | 云安全中心 | 主机日志-网络中心 |
Kubernetes-Ingress日志 | 容器服务Kubernetes版 | Ingress异常检测中心、Ingress监控中心、Ingress访问中心、Ingress蓝绿发布监控、Ingress概览 |
自建开源/商业软件日志
日志场景名称 | 内置报表 |
---|---|
Nginx访问日志 | Nginx访问日志中心 |
Tomcat访问日志 | Tomcat访问日志中心 |
Metirc日志 (时序)
日志场景名称 | 内置报表 |
---|---|
主机监控日志 | 主机监控中心 |
三、开始使用数据模拟器
1. 使用入口
用户目前可以通过两种方式使用数据模拟器。第一种方式是在日志服务控制台首页的【接入数据】功能区中,选择【模拟接入】的接入方式(图1)。
图1 控制台首页【接入数据】功能区选择【模拟接入】
可通过点击查看更多数据源查看所有支持的模拟数据场景(图2)。
图2 目前支持的所有模拟数据场景
第二种方式是进入项目(Project)后,在Logstore的功能菜单上,点击数据接入->模拟接入侧边的“+”按钮(图3)
图3 Logstore功能菜单中的【模拟接入】功能
随后会弹出模拟接入的窗口,展示目前支持的所有模拟数据场景。
图4 点击【模拟接入】后展示所有支持的模拟数据场景
用户选择一个需要模拟的数据场景,点击【模拟】后(图5),便会进入模拟数据的配置流程。用户配置完成后,数据模拟器会根据用户的配置生成相应数据场景的模拟数据。
图5 点击【模拟】开始模拟数据
2. 数据模拟器配置流程
2.1 选择模拟数据场景
以SLB七层日志为例,在日志服务控制台首页【接入数据】功能区中,选择模拟数据类的接入方式后,找到【SLB七层日志】,并点击【模拟】(参考图6)**。
图6 选择SLB七层日志进行模拟
2.2 选择存储模拟数据的项目和日志库
在选择完数据场景并点击【模拟】后,根据提示选择相应的项目(Project)和日志库(Logstore),用于存储生成的模拟数据(参考图7)。如果没有现成的项目和日志库,用户也可以在这一步创建相应的项目和Logstore。如果是在Project内部的Logstore功能菜单上点击的【模拟接入】,则会自动跳过此步骤。
图7 选择或创建Project和Logstore
注:如果点击【正常接入】,则会引导用户使用SLS提供的数据采集或接入方式,接入对应场景的真实数据,而非模拟场景。
2.3 配置模拟任务
选择完存储模拟数据的Project和Logstore后,点击下一步,进入模拟任务的配置界面。配置界面包含两部分内容:【范围频率】配置与【日志字段】配置(图8)。
图8 模拟任务配置界面
在【范围频率】配置的标签页中可配置如下内容:
配置项 | 说明 |
---|---|
时间范围 | 指定模拟数据生成的起始时间与结束时间。如果不指定结束时间,会持续生成模拟数据。 |
分布模型 | 生成模拟数据的数据量分布模型,包括随机、周期与线性,用户可以自定义分布模型的相关参数。以周期分布为例,用户可以自定义变化周期、最小值、最大值和抖动值。 - 变化周期:数据量分布变化周期,支持秒、分钟、小时、天和周。 - 最小值:每秒最小数据量。 - 最大值:每秒最大数据量。 - 抖动值:例如设置抖动为0.1,模型数据量为count,则最终的数据量在[0.9count, 1.1count]之间随机。 |
异常点 | 在分布模型中所确定的数据量的基础上,随机选择某些时间点,在这些时间点上,数据量会出现异常变化,用户可以指定出现异常点的概率和异常点数据量变化的倍率。用户可以配置多个异常选项。 |
在【日志字段】配置的标签页中定义了字段名称、字段数据类型、字段随机参数和字段值等信息,用户可以根据需求,调整字段随机参数和字段值(图9)。
图9 配置日志字段
配置完范围频率与日志字段的信息后,点击【开始导入】,便会在Logstore中建立数据模拟任务并生成模拟数据(相应的日志索引也会自动创建),此过程大约需要一分钟左右的时间(图10)。
图10 创建模拟任务并生成模拟数据
上述过程完成后,点击【开始使用】,便可在Logstore中查询到对应的模拟日志数据(图11)。
图11 查看生成的模拟日志
3. 模拟数据的查询分析与可视化
在模拟数据生成之后,用户可以对模拟日志进行查询分析并创建对应的可视化图表与仪表盘。SLS数据模拟器除了生成模拟数据之外,还为每个模拟数据场景配备了一些内置报表,从不同维度对模拟数据进行可视化地展示。在模拟数据导入进Logstore后,会自动创建这两个仪表盘,来可视化地展示模拟日志的分析与统计情况。
对于云产品日志,以SLB七层日志为例,该模拟场景提供了【SLB访问日志】(图12)和【SLB操作日志】(图13)两个可视化仪表盘,可视化地展示了SLB的访问和操作统计。
图12 SLB七层日志内置仪表盘——SLB访问日志中心
图13 SLB七层日志内置仪表盘——SLB操作日志中心
对于自建/开源商业软件日志,以Nginx访问日志为例,该模拟场景提供了【Nginx访问日志】(图14)这个可视化仪表盘,可视化地展示了Nginx访问各项指标的统计情况。
图14 Nginx访问日志内置仪表盘——Nginx访问日志中心
对于Metric(时序)日志,以主机监控为例,该模拟场景提供了【主机监控】(图15)这个可视化仪表盘,可视化地展示了主机各项指标的统计情况。
图15 主机监控内置仪表盘——主机监控中心
4. 模拟数据的其他使用场景
除了对模拟日志进行查询分析与可视化外,用户还可以在自己的Logstore中,基于生成的模拟日志,使用SLS的全链路功能,如:
1)基于模拟日志创建告警;
2)使用SLS数据加工功能对模拟日志进行规整、富化、分发、汇总、重建索引等加工操作;
3)使用SLS数据投递功能将模拟日志实时投递至OSS、MaxCompute等阿里云产品中,对接数据仓库;
4)使用SLS提供的日志消费功能对模拟日志进行实时消费,用于流计算、实时计算或对接开源生态(Flink,Blink,Spark Streaming...)等;
5)...(更多功能参考日志服务官方文档)
四、结语
在很多测试或Demo场景下,模拟数据的接入是一个经常会遇到的痛点。SLS数据模拟器为用户提供了便捷的模拟数据接入方式,使用户能一键式生成贴近真实场景的模拟数据到SLS日志库中。用户可以利用SLS数据模拟器将20+场景的模拟数据接入到自己的Logstore中,进而使用SLS的全链路功能(查询分析、可视化、告警、数据加工...)。更进一步地,用户还可以使用SLS数据投递功能将模拟数据输出到其他数据仓库中,抑或是使用SLS日志消费功能,将模拟数据用于流计算、实时计算等,对接开源生态。
SLS数据模拟器将在未来提供更丰富的数据模拟场景的支持,如果您也有一些数据场景并且希望在SLS数据模拟器中集成这些场景,欢迎联系我们!
- 知乎专栏:aliyunlog
- 微信公众号:日志服务
- 邮箱:lc224725@alibaba-inc.com