何为SLS
日志服务顾名思义就是专为日志信息提供服务的一套系统平台,官方的定义:SLS是云原生观测分析平台,为Log/Metric/Trace等数据提供大规模、低成本、实时平台化服务。一站式提供数据采集、加工、分析、告警可视化与投递功能,全面提升研发、运维、运营和安全等场景数字化能力。相比其他日志产品,它拥有如下功能特性,如下图:
快速入手
官网对SLS体验提供了非常详细的文档和实例,让用户能在短时间内全方位快速上手。有关文档和实例罗列如下(点击可达哟):
官网文档提供的还是蛮多的蛮全的,唯一不足的就是学习的课程录制的时间太久远,不能很好的让新用户直观了解学习产品;在线实验类型单一,当前仅提供了ECS和OSS相关的在线实验,不能让用户全面了解云产品,SLS功能强大,全面支持阿里云产品,如单纯让用户依靠一两个基础视频和在线文档就能很好的了解掌握,怕是难度不小,非常建议加入其他云产品的在线实验。
快速体验
在体验开始之前,有必要先了解SLS的两个重要的基本概念。项目(Project)是日志服务的资源管理单元,日志库(Logstore)是日志服务中日志数据的采集、存储和查询单元。有了这个了解后,我们便可以开始体验之旅了。日志服务提供50多种数据接入方案,不单有阿里云产品,还有物联网设备、移动端、还支持各种开源软件和标准协议的支持,如下图:
这里我将从接入ECS主机日志和接入OSS文件日志两个点展开。
接入ECS主机日志
点击控制台,找到已经试用开通的SLS服务的控制台,点击进入,如下图:
我们开始创建一个项目(Project)和一个日志库(Logstore),在上图中的底部找到Project列表,点击创建Project,如下图:
在所属区域这里要明确接入日志的服务在那个区域运行,因为Project一旦创建后是无法修改地域的,且日志服务不支持跨地域迁移。Project名称也是阿里云地域内全局唯一且创建后不可修改的。完成信息填写后,点击创建即可完成项目的建立,接着创建日志库,如下图:
Logstore属性这里需要注意,默认是关闭的,如果你接入的是业务运行的日志,比如Nginx、Tomcat,建议开启,这里我采集的是主机的hadoop集群运行日志,所以这里保持默认,点击确定完成创建。创建完成后弹出提示接入数据,这里我选择单行-文本日志,如下图:
接下来就进入了日志主机的选择界面,如下图:
眼尖的同学可能发现了上图中的红字(Logtail客户端是日志服务提供的日志采集客户端,请先在机器上进行安装),接入ECS主机日志是通过Logtail来实现的,所以接下来就需要在选择的主机中自动安装该程序。点击页面的创建,稍等片刻即可完成安装。
为了更方便的管理大量主机,接下来需要针对该项日志采集创建一个机器组,这里会自动将之前步骤中的主机IP带过来,如下图:
选中刚才创建的机器组,将其移动到应用服务组中,如下图:
这时你会发现机器心跳是FAIL,也就是检测失败,可以点击自动重试,如下图:
接着可以选择主机中的日志文件路径和日志模式,如下图:
至此一个简单的ECS主机日志采集就将要完成了,点击下一步,可以看到采集的效果,如下图:
点击查询日志,即可进入日志库,如下图:
在这里你可以对采集的日志进行查询与分析、数据加工、消费与投递、可视化、告警、日志审计等操作。接下来我们依次体验下查询与分析、数据加工、可视化。
查询与分析
例如我需要过滤INFO的信息,如下图:
数据加工
在日志库可以发现,日志的所有内容都被放在了单一的 content 字段中,在这种情况下,我们很难对日志的内容进行进一步地分析,比如有哪些应用输出了系统日志、服务启动是否正常、发生次数等等。通过SLS的数据加工,我们可以非常简单地完成上述需求。通过点击上图中的数据加工按钮,便可来到数据加工页面,如下图:
这里我简单的写了个处理逻辑,通过数据加工 DSL 中的正则来完成字段的抽取,点击预览数据便能看到是否满足需求,通过加工结果可以很直观的看到提取的情况。如下图:
可视化
SLS 控制台提供了非常丰富的可视化能力,默认都是灰色的,当需要点击应用那个可视化能力时才会呈现出彩色,这里为了方便展示采用了官网文档中的全彩图。如下所示:
接入OSS日志文件
ECS日志文件的接入体验就到此,接下来我将接入对象存储OSS的日志文件。打开OSS的控制台,创建一个Bucket,并新建一个目录sls用来存储日志文件并设置为公共读,完成日志文件的上传。如下图:
接下来在SLS控制台找到接入数据中的OSS-数据导入,如下图:
这里我就利用同一个项目(Project),新建一个日志库ossfile以区分,并开始导入配置。如下图:
OSS区域尽量选择和SLS在同一个区域,避免跨区域费用的产生及采集效果不佳。点击页面的预览,可以看到采集效果,如下图:
完成接入,来到日志库,看下效果,如下图:
通过两个云产品日志的接入体验,发现真的太好用了,产品功能完全超预期,非常好的解决了传统业务日志孤岛问题,打通了业务日志之间的联系,真正做到了数据的统一接入,并提供了高效弹性一站式的数据功能。
可观测分析
前面在何为SLS中有提到它是云原生观测分析平台,目前支持的仅为阿里云的部分产品。目前支持的云产品可观测,有存储类:SLS\OSS\EBS;网络类:ALB/CLB;数据库类:Redis/RDS/PolarDB。如下图:
这里我选择了CloudLens for SLS,选择需要接入的Project,点击开启即可。如下图:
释放资源
体验完成后,资源一定要记得及时释放,不然会产生不必要的扣费,尤其是体验了日志审计和可观测,一定要按照提示进行清理。下图就是未按时清理导致的扣费。
清理完成后务必检查是否还有遗留的Project未清理,达到如下图效果,说明清理完毕。
体验小结
日志服务SLS基本涵盖了企业服务的全周期全产品线的日志管理,它不但支持多种数据源的接入,而且提供了高效弹性的一站式数据管理功能,可服务于运营、运维、研发、安全等多种场景,支持按需付费,真正做到了降本的同时能够高效提供服务。但有一点不友好的地方是,如果体验了日志审计功能,是无法手动删除的,需要通过Cloud Shell来清理。
新版SLS支持多种产品的云观测,但对于阿里云产品业态来说,云观测需要支持的还很多的,非常期待不久的往后全产品业态都可以支持云观测。
当前的业务场景实战不仅局限与阿里云的产品形态,还涵盖了如何将传统IDC业务日志上传到SLS进行加工分析,非常契合企业发展需求,解决了企业数据散落、无法集中管理的痛点。
SLS是否能与大数据产品联动,例如数仓、实时计算,并实现可观测,解决当前大数据运维门槛高、异常排错周期长的痛点。