开放、普惠、高性能-SLS时序存储助力打造企业级全方位监控方案

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,内容安全 1000次 1年
对象存储 OSS,恶意文件检测 1000次 1年
简介: SLS新增时序存储,面向时序类数据提供一站式接入、存储、可视化、告警、智能运维等功能。方案完整支持各主流开源监控平台,提供低成本、免运维的监控数据存储与服务能力。

无所不在的时序数据

时间带走一切,长年累月会把你的名字、外貌、性格、命运都改变。 ---柏拉图


随着时间的推移,万事万物都在不停的变化,而我们也会用各种数字去衡量这些变化信息,比如年龄、重量、速度、温度、金钱...在数字化时代中,我们会把这些随着时间变化的数据保存起来,挖掘这些数据的价值。通常我们会称这类数据为---时序数据。

时序数据用于描述物体在时间维度上的状态变化信息。

image.png

时序数据在各行各业都得到了非常广泛的应用,例如股票走势、交易趋势、服务器指标、脉搏心跳、定位坐标、能耗趋势等等,而这些数据几乎在所有的场景中都得到了应用,例如:

  1. 各类炒股软件提供众多不同维度的股票K线图,为广大股民提供参考标准;
  2. Apple Watch通过监控佩戴者的心率信息,帮助人们提早发现严重的心脏疾病;
  3. 国家电网通过分析各个小区、住户的用电量曲线,来判断是否有偷电漏电情况;
  4. 电商类的公司会监控平台的下单、交易、退货、评价等关键流程的变化趋势,用来快速发现各类异常;
  5. 各个游戏平台通过分析每个用户角色的操作、位置等变化规律,来判断是否使用了作弊辅助工具...

我们需要一个什么样的时序存储

为了能够支撑各种场景的时序分析、监控等需求,近几年在开源和商业领域均出现了一些时序存储的引擎,例如TimescaleDB、CrateDB、InfluxDB、OpenTSDB、Prometheus等,这些存储引擎分别有自己的生态和适用场景,在某些场景下具有较高的优势,例如TimescaleDB基于PostgreSQL,如果是PG的用户可以快速上手;InfluxDB具有非常完善的生态,TICK(Telegraf、 InfluxDB、Chronograf、Kapacitor)可以快速上手;Prometheus对于云原生场景支持非常友好,PromQL也非常便捷灵活,已经成为Kubernetes上监控的实事标准。


然而从实际公司的业务场景出发,对于时序数据会有更多的要求:

  1. 高性能:时序数据通常流量大、保存周期长且需要长时间的范围查询,能够支撑大规模的写入与快速查询是必备条件;
  2. 开放:通常公司内部会有多个部门对不同系统的时序数据进行不同类型的分析、监控等需求,因此时序存储需具备足够的开放能力,支持各种数据的接入以及下游消费;
  3. 低成本:这里的成本主要包括两方面:资源成本和人力运维成本。有摩尔定律的存在,单位资源成本越来越低,而单位人力成本每年都在提升,因此低成本的核心在于运维这套时序存储的人力成本;
  4. 智能化:尤其在海量监控对象的场景中,纯粹的静态规则很难发现某个监控对象的异常,因此时序存储上层需要附加智能化的算法,提升监控的准确率。

SLS时序存储发布

SLS的日志存储引擎在2016年对外发布,目前承接阿里内部以及众多企业的日志数据存储,每天有数十PB的日志类数据写入。其中有很大一部分属于时序类数据或者用来计算时序指标,为了让用户能够一站式完成整个DevOps生命周期的数据接入、清洗、加工、提取、存储、可视化、监控、问题分析等过程,我们专门推出了时序存储的功能,与日志存储一道为大家解决各类机器数据的存储问题。


image.png

时序存储整体架构如上图所示,接入层可以对接各类开源的采集软件以及SLS自己开发的高性能Logtail,同时支持各种语言SDK直接写入,也支持Kafka、Syslog等开放性协议;存储层是完全分布式架构,每个时序库可通过Sharding方式水平扩展,数据默认3副本高可靠存储;计算层与存储层分离,提供SQL、PromQL纯分析型语法,同时提供智能分析能力。基于SLS提供的采集、存储、分析等功能可快速构建企业自己的业务监控、微服务监控等方案。

功能特点

image.png

SLS时序存储从设计之初就是为了解决阿里内部与众多头部企业客户的时序存储需求,并借助于阿里内部多年的技术积累,使之可以适应绝大部分企业级时序监控/分析诉求。SLS时序存储的特点主要有:

  1. 丰富上下游:数据接入上SLS支持众多采集方式,包括各类开源Agent以及阿里云内部的监控数据通道;同时存储的时序数据支持对接各类的流计算、离线计算引擎,数据完全开放;
  2. 高性能:SLS存储计算分离架构充分发挥集群能力,尤其在大量数据下端对端的速度提升显著;
  3. 免运维:SLS的时序存储完全是服务化,无需用户自己去运维实例,而且所有数据都是3副本高可靠存储,不用担心数据的可靠性问题;
  4. 开源友好:SLS的时序存储原生支持Prometheus的写入和查询,并支持SQL92的分析方法,可以原生对接Grafana等可视化方案;
  5. 智能:SLS提供了各种AIOps算法,例如多周期估算、预测、异常检测、时序分类等各类时序算法,可以基于这些算法快速构建适应于公司业务的智能报警、诊断平台。

典型应用场景

应用/业务监控

image.png

应用/业务监控是公司层面重要的工作之一,在阿里内部一直作为最重要的监控项在建设。通过SLS提供的各类数据采集功能将所有应用/业务数据统一、实时采集,利用数据加工把各个不同时期、不同风格的数据做结构化处理,基于结构化的数据就可以做一定的分析,但通常业务数据量级较大,我们还会使用SQL的聚合功能对数据进行一定的降维,使用降维后的聚合时序数据来做告警以及长期的监控指标回溯。

云原生监控

image.png

随着云原生技术的普及,越来越多的公司开始技术转型到云原生架构,借助于Prometheus、OpenTelemetry等CNCF的开源Project可以快速采集到Kubernetes以及各类中间件、应用的监控信息,阿里云上的云监控获取到所有云产品的监控数据。利用SLS时序存储以及日志/Trace存储的能力,可以支持各类监控数据的统一存储,数据可无缝对接Grafana的可视化,在Grafana上构建基础设施、云产品、中间件、应用软件的全方位监控大盘。

访问日志分析

image.png

访问日志作为网站、APP的入口流量记录,能够直接反映出当前应用是否正常,因此运维领域的必备监控项。通过Logtail采集原始的访问日志,可用来分析/调查每个用户的请求,也可用作归档/审计需求;但原始访问日志量较大,不太适合直接的监控,通常会通过预聚合的方式对数据进行降维,基于聚合后的时序数据进行实时监控,并可应用SLS提供的智能巡检功能对每个业务站点进行独立的智能监控。


大家在使用SLS中遇到的任何问题,请加钉钉群,我们有专门的日志女仆24小时在线答疑,还有火锅哥和烧烤哥专业支持!~ SLS微信公众号定期会发布各类日志、监控领域的技术分享文章并定期举行抽奖,欢迎小伙伴们关注~


另外欢迎对大数据、分布式、机器学习等有兴趣的同学加入,转岗、内推,来者不拒,请用简历狠狠的砸我,联系邮箱 davidzhang.zc@alibaba-inc.com !~
image.png


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
6天前
|
Kubernetes API Docker
跟着iLogtail学习容器运行时与K8s下日志采集方案
iLogtail 作为开源可观测数据采集器,对 Kubernetes 环境下日志采集有着非常好的支持,本文跟随 iLogtail 的脚步,了解容器运行时与 K8s 下日志数据采集原理。
|
10天前
|
存储 SQL 专有云
支持配置审计日志的存储数据库
审计日志作为企业监管平台的重要依据,同时也是“等保三级”认证的必要考察项之一。Dataphin V4.3版本支持设置平台日志的存储数据源,帮助用户快速获取审计日志,同时介绍了不同部署模式的Dataphin如何查看审计日志的方法。
|
1月前
|
存储 监控 数据可视化
SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
【9月更文挑战第2天】SLS 虽然不是直接使用 OSS 作为底层存储,但它凭借自身独特的存储架构和功能,为用户提供了一种专业、高效的日志服务解决方案。
63 9
|
1月前
|
存储 分布式计算 资源调度
通过日志聚合将作业日志存储在HDFS中
如何通过配置Hadoop的日志聚合功能,将作业日志存储在HDFS中以实现长期保留,并详细说明了相关配置参数和访问日志的方法。
19 0
通过日志聚合将作业日志存储在HDFS中
|
29天前
|
运维 Kubernetes 监控
Loki+Promtail+Grafana监控K8s日志
综上,Loki+Promtail+Grafana 监控组合对于在 K8s 环境中优化日志管理至关重要,它不仅提供了强大且易于扩展的日志收集与汇总工具,还有可视化这些日志的能力。通过有效地使用这套工具,可以显著地提高对应用的运维监控能力和故障诊断效率。
66 0
|
2月前
|
SQL 数据库 Java
Hibernate 日志记录竟藏着这些秘密?快来一探究竟,解锁调试与监控最佳实践
【8月更文挑战第31天】在软件开发中,日志记录对调试和监控至关重要。使用持久化框架 Hibernate 时,合理配置日志可帮助理解其内部机制并优化性能。首先,需选择合适的日志框架,如 Log4j 或 Logback,并配置日志级别;理解 Hibernate 的多级日志,如 DEBUG 和 ERROR,以适应不同开发阶段需求;利用 Hibernate 统计功能监测数据库交互情况;记录自定义日志以跟踪业务逻辑;定期审查和清理日志避免占用过多磁盘空间。综上,有效日志记录能显著提升 Hibernate 应用的性能和稳定性。
38 0
|
2月前
|
开发者 前端开发 编解码
Vaadin解锁移动适配新境界:一招制胜,让你的应用征服所有屏幕!
【8月更文挑战第31天】在移动互联网时代,跨平台应用开发备受青睐。作为一款基于Java的Web应用框架,Vaadin凭借其组件化设计和强大的服务器端渲染能力,助力开发者轻松构建多设备适应的Web应用。本文探讨Vaadin与移动设备的适配策略,包括响应式布局、CSS媒体查询、TouchKit插件及服务器端优化,帮助开发者打造美观且实用的移动端体验。通过这些工具和策略的应用,可有效应对屏幕尺寸、分辨率及操作系统的多样性挑战,满足广大移动用户的使用需求。
35 0
|
2月前
|
存储 JSON 监控
FastAPI日志之谜:如何揭开Web应用监控与调试的面纱?
【8月更文挑战第31天】在现代Web开发中,日志记录对于监控应用状态、诊断问题和了解用户行为至关重要。FastAPI框架提供了强大的日志功能,使开发者能轻松集成日志记录。本文将详细介绍如何在FastAPI中设置和利用日志,包括基础配置、请求响应日志、错误处理和结构化日志等内容,帮助提升应用的可维护性和性能。
56 0
|
2月前
|
消息中间件 Prometheus 监控
Producer的监控与日志记录最佳实践
【8月更文第29天】在分布式系统中,消息队列作为关键组件之一,其稳定性和性能至关重要。生产者(Producer)负责生成并发送消息到消息队列中,因此确保生产者的健康运行是非常重要的。本文将探讨如何为生产者设置监控和日志记录,以跟踪其健康状况和性能指标。
34 0
|
2月前
|
Kubernetes Ubuntu Windows
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)
【Azure K8S | AKS】分享从AKS集群的Node中查看日志的方法(/var/log)

相关产品

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