乐趣区

关于云服务:开放普惠高性能SLS时序存储助力打造企业级全方位监控方案

无所不在的时序数据

工夫带走所有,长年累月会把你的名字、外貌、性情、命运都扭转。— 柏拉图

随着工夫的推移,万事万物都在不停的变动,而咱们也会用各种数字去掂量这些变动信息,比方年龄、分量、速度、温度、金钱 … 在数字化时代中,咱们会把这些随着工夫变动的数据保存起来,开掘这些数据的价值。通常咱们会称这类数据为 — 时序数据。

时序数据用于形容物体在工夫维度上的状态变动信息。

时序数据在各行各业都失去了十分宽泛的利用,例如股票走势、交易趋势、服务器指标、脉搏心跳、定位坐标、能耗趋势等等,而这些数据简直在所有的场景中都失去了利用,例如:

  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 生命周期的数据接入、荡涤、加工、提取、存储、可视化、监控、问题剖析等过程,咱们专门推出了时序存储的性能,与日志存储一道为大家解决各类机器数据的存储问题。

时序存储整体架构如上图所示,接入层能够对接各类开源的采集软件以及 SLS 本人开发的高性能 Logtail,同时反对各种语言 SDK 间接写入,也反对 Kafka、Syslog 等开放性协定;存储层是齐全分布式架构,每个时序库可通过 Sharding 形式程度扩大,数据默认 3 正本高牢靠存储;计算层与存储层拆散,提供 SQL、PromQL 纯剖析型语法,同时提供智能剖析能力。基于 SLS 提供的采集、存储、剖析等性能可疾速构建企业本人的业务监控、微服务监控等计划。

性能特点

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

  1. 丰盛上下游:数据接入上 SLS 反对泛滥采集形式,包含各类开源 Agent 以及阿里云外部的监控数据通道;同时存储的时序数据反对对接各类的流计算、离线计算引擎,数据齐全凋谢;
  2. 高性能:SLS 存储计算拆散架构充分发挥集群能力,尤其在大量数据下端对端的速度晋升显著;
  3. 免运维:SLS 的时序存储齐全是服务化,无需用户本人去运维实例,而且所有数据都是 3 正本高牢靠存储,不必放心数据的可靠性问题;
  4. 开源敌对:SLS 的时序存储原生反对 Prometheus 的写入和查问,并反对 SQL92 的分析方法,能够原生对接 Grafana 等可视化计划;
  5. 智能:SLS 提供了各种 AIOps 算法,例如多周期估算、预测、异样检测、时序分类等各类时序算法,能够基于这些算法疾速构建适应于公司业务的智能报警、诊断平台。

典型利用场景

利用 / 业务监控

利用 / 业务监控是公司层面重要的工作之一,在阿里外部始终作为最重要的监控项在建设。通过 SLS 提供的各类数据采集性能将所有利用 / 业务数据对立、实时采集,利用数据加工把各个不同期间、不同格调的数据做结构化解决,基于结构化的数据就能够做肯定的剖析,但通常业务数据量级较大,咱们还会应用 SQL 的聚合性能对数据进行肯定的降维,应用降维后的聚合时序数据来做告警以及长期的监控指标回溯。

云原生监控

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

拜访日志剖析

拜访日志作为网站、APP 的入口流量记录,可能间接反映出以后利用是否失常,因而运维畛域的必备监控项。通过 Logtail 采集原始的拜访日志,可用来剖析 / 考察每个用户的申请,也可用作归档 / 审计需要;但原始拜访日志量较大,不太适宜间接的监控,通常会通过预聚合的形式对数据进行降维,基于聚合后的时序数据进行实时监控,并可利用 SLS 提供的智能巡检性能对每个业务站点进行独立的智能监控。

本文作者:元乙

原文链接:https://developer.aliyun.com/…_content=g_1000161276

本文为阿里云原创内容,未经容许不得转载。

退出移动版