阿里云监控:SLS的使用

目录

一、背景知识

[1.1 概念](#1.1 概念)

[1.2 核心功能](#1.2 核心功能)

[1.3 典型应用场景](#1.3 典型应用场景)

[1.4 与ELK对比](#1.4 与ELK对比)

[1.5 选型与迁移建议](#1.5 选型与迁移建议)

二、SLS的使用

[2.1 创建ECS实例并安装nginx](#2.1 创建ECS实例并安装nginx)

[2.2 创建日志服务Project和Logstore](#2.2 创建日志服务Project和Logstore)

[2.3 配置接入日志库(含安装Logtail日志采集客户端)](#2.3 配置接入日志库(含安装Logtail日志采集客户端))

[2.4 通过日志服务仪表盘进行可视化分析](#2.4 通过日志服务仪表盘进行可视化分析)

[2.5 配置告警规则及查看告警信息](#2.5 配置告警规则及查看告警信息)


一、背景知识

1.1 概念

阿里云日志服务(SLS)不仅仅是一个日志存储和检索工具 ,更是一个功能强大的可观测数据平台。它通过统一处理日志、指标、追踪等多种数据,并借助高性能引擎、灵活的数据加工和智能分析能力,帮助企业实现从被动监控到主动洞察、直至智能决策的运维进阶。

1.2 核心功能

功能模块 核心能力 主要特点
数据采集 支持50多种数据源,包括服务器/应用日志、物联网数据、阿里云产品日志、移动端数据及多种开源软件数据。 提供Logtail代理、多种语言SDK、WebTracking等方式;支持HTTP/S、Syslog、Kafka等标准协议。
存储与分析 提供统一存储 ,支持日志、指标、追踪等数据。具备高性能查询分析引擎 ,支持SLS DSL (数据加工专用语言,兼容Python)和SQL(融合了PromQL和机器学习函数)进行查询分析。 高性能 :支持千亿级数据的秒级查询与分析。 智能分析:内置大量AI算法,支持变点检测、异常预测、根因分析等。
数据加工 提供数据加工服务,可用于海量数据的规整、富化、流转、脱敏和过滤。 提供200多个内置函数和算子,支持动态分发灵活富化
消费与投递 支持通过SDK/API实时消费数据,并可投递至阿里云OSS、MaxCompute等数据仓库,或对接Grafana等可视化工具。 构建灵活的数据管道,满足归档、深度分析或监控展示等不同需求。
监控告警 提供智能告警系统,支持对日志、时序等数据设置监控规则。 支持丰富的通知渠道(短信、钉钉、企业微信等)和告警降噪策略(如指纹去重、静默)。
可视化 提供内置仪表盘,并可对接Grafana等第三方工具。支持通过SPL(Search Processing Language)进行跨数据源(日志、指标、链路)的交互式分析。 快速构建监控大盘,清晰呈现全局态势。

说明:

  • 强大的查询分析引擎 :SLS的查询分析引擎是其大脑,不仅支持标准的SQL-92语法,还融合了专为日志搜索设计的SPL (Search Processing Language),以及用于时序数据查询的PromQL ,并内置了大量机器学习函数。这意味着可以在一次查询中,轻松关联分析日志内容、用户画像和服务性能。

  • 灵活高效的数据加工 :SLS DSL(Domain Specific Language)是一个与Python兼容的脚本语言,专门用于数据加工。它提供了两百多个内置函数,可以自由编排各种复杂的数据处理逻辑,实现数据的动态分发 (根据逻辑将数据分发到不同的目标)和灵活富化(例如从外部OSS或RDS获取维表信息来丰富日志字段)。

  • 智能运维与成本优化

    • 智能监控:SLS告警不止于基于静态阈值的监控,还融合了动态基线、趋势预测与异常评分,能实现更具前瞻性和精准度的主动干预。

    • 成本控制 :SLS支持冷热分层存储归档存储 ,并可通过Scheduled SQL 对数据进行持续的特征抽取和压缩,在保留有效数据特征的基础上显著降低存储成本。同时,新的按写入数据量计费模式,相比原计费方式,全索引场景降价高达32%。

1.3 典型应用场景

  • IT运维稳定性保障 (ITOps):从基础设施(主机、K8s)到中间件(MySQL、Redis、Kafka等),再到应用层(JVM监控、全链路追踪),SLS可以提供全栈监控能力,帮助快速定位故障,显著降低平均修复时间(MTTR)。

  • 智能安全运营 (SecOps):SLS可以作为Cloud SIEM(安全信息与事件管理)的数据底座。通过日志审计服务集中采集多账号下的云产品日志,并利用威胁情报和内置的安全规则,有效识别潜在威胁,实现安全事件的实时告警和响应。

  • 业务运营分析 (BusinessOps):可以通过分析NLB/ALB的访问日志,了解用户行为、分析API性能、统计热门请求等,为业务决策和运营活动提供数据支持。

1.4 与ELK对比

阿里云日志服务(SLS)和开源的ELK Stack(Elasticsearch, Logstash, Kibana)都是目前主流的日志处理解决方案。

对比维度 阿里云 SLS 开源 ELK Stack
核心定位 云原生的一站式可观测数据平台 开源的日志解决方案,后扩展至可观测领域
性能表现 高性能高并发低延迟 随数据量和并发增加,性能下降明显
成本构成 按量计费,无运维人力成本 机器成本 +运维人力成本,可能还需商业许可费
功能特性 功能集成:内置查询、告警、加工等 生态组装:依赖组合多个组件,告警需额外配置
可运维性 全托管服务,无需运维 需自行运维,包括容量规划、调优、故障处理等
架构特点 存储计算分离 的云原生架构,Serverless 存储计算耦合的集群架构

核心差异解读:

  • 性能与扩展 :SLS在处理大规模数据(如10亿级以上)高并发查询时,性能表现通常优于自建ELK,且延迟稳定。在写入性能上,SLS单Shard的写入能力也更强。自建ELK在数据量增大(例如超过10TB)后,容易遇到性能瓶颈。

  • 总拥有成本(TCO) :SLS是按实际写入的数据量计费 的,这意味着初期数据量不大时成本较低。更重要的是,它省去了运维人力的投入。有分析指出,在百TB规模下,SLS的综合成本可达自建ELK的44%。自建ELK则需要预先规划和支付服务器、磁盘等费用,并且需要专门的团队进行日常维护、优化和故障排除,这部分隐性成本很高。

  • 开源性与灵活性 :ELK作为开源方案,提供了更高的灵活性和可控性,可以根据特定需求进行深度定制。SLS虽然在底层是托管服务,但通过开源兼容能力(如兼容Elasticsearch API和Kafka协议),在一定程度上保留了对开源生态的友好性,方便用户迁移和使用现有工具(如Kibana、Grafana)。

  • 告警与AI能力 :SLS内置了强大的告警系统智能运维(AIOps) 功能,支持告警管理、降噪、事务跟踪以及异常检测、根因分析等。而为ELK配置完善的告警通常需要借助X-Pack商业插件或集成第三方工具,其内置的AI能力也相对有限。

1.5 选型与迁移建议

  • 选择SLS,如果 :团队希望降低运维复杂度 ,专注于业务逻辑;处理的数据量巨大或增长迅速 ;对日志处理的性能和稳定性有高要求;或者希望快速拥有开箱即用的告警和智能分析功能。

  • 选择自建ELK,如果 :团队拥有深厚的ELK技术储备 和运维能力;对集群有极高的定制化需求 ;IT环境主要位于线下或混合云,且倾向于使用开源方案。

  • 关于迁移 :从自建ELK迁移到SLS在技术上是可行的。SLS提供了Elasticsearch兼容接口数据迁移工具 (如aliyun-log-cli),支持断点续传,可以平滑地将历史数据迁移至SLS。

二、SLS的使用

2.1 创建ECS实例并安装nginx

参考:创建阿里云ECS实例操作

安装nginx:

bash 复制代码
yum install nginx -y

启动nginx:

bash 复制代码
systemctl restart nginx

查看是否启动:

实时查看nginx日志:

bash 复制代码
tail -f /var/log/nginx/access.log

访问页面观察nginx日志(多访问几次产生日志数据):

2.2 创建日志服务Project和Logstore

登陆官网:https://www.aliyun.com/

注意:地域选择与ECS保持一致

2.3 配置接入日志库(含安装Logtail日志采集客户端)

日志样例:

bash 复制代码
120.244.191.173 - - [15/Oct/2025:17:57:07 +0800] "GET /img/html-background.png HTTP/1.1" 200 1801 "http://8.140.216.78/" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36" "-"

各部分的解释:

  • 匹配IP地址

  • 固定的客户端标识和用户ID(通常为-)

  • 匹配时间戳

  • 匹配HTTP请求(方法、路径、协议版本)

  • 匹配HTTP状态码

  • 匹配响应大小(字节)

  • 匹配引用来源

  • 匹配User-Agent

2.4 通过日志服务仪表盘进行可视化分析

2.5 配置告警规则及查看告警信息

相关推荐
Do_GH34 分钟前
【Linux】07.Ubuntu开发环境部署
linux·运维·ubuntu
勤源科技1 小时前
全链路智能运维中的实时流处理架构与状态管理技术
运维·架构
tryCbest1 小时前
Linux使用Docker部署项目后期更新
linux·运维·docker
早睡冠军候选人3 小时前
Ansible学习----Ansible Playbook
运维·服务器·学习·云原生·容器·ansible
sulikey3 小时前
从实验出发深入理解Linux目录权限:r、w、x分别控制什么?能否进入目录到底由谁决定?
linux·运维·服务器·ubuntu·centos
li3714908904 小时前
nginx报400bad request 请求头过大异常处理
java·运维·nginx
久曲健的测试窝4 小时前
Jenkins Share Library教程 —— 开发入门
运维·servlet·jenkins
三坛海会大神5555 小时前
k8s(六)Pod的资源控制器
云原生·容器·kubernetes
游戏开发爱好者85 小时前
FTP 抓包分析实战,命令、被动主动模式要点、FTPS 与 SFTP 区别及真机取证流程
运维·服务器·网络·ios·小程序·uni-app·iphone
默 语5 小时前
AI驱动软件测试全流程自动化:从理论到实践的深度探索
运维·人工智能·驱动开发·ai·自动化·ai技术·测试全流程