一、什么是全观测?
1、传统运维的问题
要了解全观测,我们先看看传统运维存在哪些问题:
- 数据孤岛,分散在不同部门,分析排查故障困难;
- 多个厂商的多种工具,无法自动化统一分析;
- 故障是立体的,日志、指标等都只能看到一方面的可观察性;
- 只进行收集,没有真正深入分析,不能发挥大数据的价值。
2、全观测的定义
全观测是对传统运维的改进,它将日志、指标、APM数据,汇总在一个平台,让运维、开发、业务人员对所有的数据从统一视角进行观察分析。
3、全观测可以做什么
- 建立统一的可视化视图、对齐时间、过滤条件;
- 建立统一的基于规则的监控和告警;
- 建立统一的机器学习的智能监控和告警。
全观测架构图
二、全观测场景技术难点和解决方案
在全观测场景下会面临很多痛点,那么如何通过云上ELK+Flink能力,去解决全观测日志场景下的痛点呢?
1、痛点一:日志/指标获取难
机器、业务系统、网络链路、操作系统,诸多指标及日志获取手段不一,落地过程复杂;
解决方案:Beats/APM获取日志/指标
轻量化的提供各类metic、logs、APM数据采集能力;
2、痛点二:日志/指标规格化要求高
上下游链路配合衔接过程中,如何将有效信息从海量日志中获取;
解决方案:数据清洗SQL化更简易
支持各类网络格式的日志/指标采模板,实时计算Flink提供完整流式SQL能力;
3、痛点三:高并发写入、系统稳定性差
业务/流量抖动,日志写入峰值往往会很高,旁路系统稳定性受到很大的挑战;
解决方案:云上ES写入托管及超强稳定性
提供Indexing service自研ES写入托管服务,及跨机房部署、同城容灾、场景内核优化;
4、痛点四:海量数据存储成本高
日志场景涉及海量数据,TB级别起步,甚至PB级;
解决方案:低成本数据存储
阿里云ES提供冷热分离数据存储方式,及自研存储引擎Openstore优化存储压缩算法;
5、痛点五:日志分析和指标监控统一难
借助时序系统可以很好的完成监控,但异常分析困难相反,如何在统一平台完成;
解决方案:日志分析、指标监控、APM能力齐全
阿里云ElastiStack全托管,提供日志分析、监控、Tracing一站式能力,针对时序场景,针对性优化引擎,保证时序日志监控和分析的性能;
6、痛点6: 系统可扩展性要求高
业务调整带来的技术演进一直在发生,技术组件更新快,运维框架需要有强大的兼容性;
解决方案:开源生态具备强大的可扩展性
基于分布式架构,以及灵活开放的RestAPI和Plugin框架,支持各种扩展能力。
三、时序日志场景痛点分析
写多读少的日志场景下会遇到什么问题?
- 高峰期写入压力大弹性扩展难以有效实施;
- 海量计算+存储资源成本高低峰期资源闲置;
- 为保证系统稳定性集群运维管理复杂;
从下图我们可以看到在高峰和低峰期遇到的情况:
- 业务突发峰值写入TPS高达60K,无法准确预测和预估,峰值写入瓶颈明显;
- 高峰期写入TPS平均40K,需要准备至少8节点ES计算资源来满足高峰期写入能力;
- 低峰期写入TPS平均20K,仅需要4节点ES计算资源即可满足低峰写入流量。
四、全链路日志分析与监控ELK技术难点
1、高并发写入
a)日志场景往往面临业务/流量抖动;
b)日志写入峰值往往会很高;
c)ES集群容易被打爆;
2、存储成本高
a)日志场景涉及海量数据;
b)TB级别起步,甚至PB级;
c)部分场景(如:审计)长周期存储;
3、时序分析性能差
a)ES内核技术局限性;
b)日志场景中的时序查询性能差;
c)复杂聚合、Range等查询性能瓶颈明显;
4、可伸缩性及运维要求高
a)日志峰值/均值/谷值差异巨大;
b)集群规模大管理运维复杂;
五、全观测解决方案实现日志监控/运维/分析
1、方案选型:100%兼容开源,与各类开源生态组件无缝衔接;支持多云/跨云的日志监控、运维分析场景。
2、方案优势:云上Elasticsearch及实时计算Flink产品,提供面向海量数据的高性能读写、及高弹性低成本解决方案。
全观测解决方案数据架构图
六、FLink在方案应用中的优势
实时计算Flink版是新一代Serverless实时计算引擎,它在方案应用中具有以下优势:
1、流式SQL
100%兼容开源,一站式开发平台,提供更适合日志场景下海量数据清洗的流式SQL能力,核心算子性能优化达开源2倍以上。
2、Serverless服务
全托管免运维,用户无须关注集群运维和资源预留,100%投入业务开发。
3、Autopilot能力
根据数据流量自动重新分配算力,智能削峰填谷,弹性资源分配,有效应对数据的高峰低谷,如下图:
Autopilot自动分配算力
七、阿里云Elasticsearch日志增强特性
1、日志增强版Indexing Service写入托管
Indexing Service架构图
写入托管的核心功能是IndexingServerless服务,在ES集群之外,依托云端海量计算能力,打破本地集群的物理资源限制,通过读写分离架构,将ES集群的数据写入在云端服务进行托管加速,以满足高并发数据写入要求,并且基于海量的资源,支撑快速弹性的扩展能力。
写入能力和成本对比图
2、自研ES存储Openstore
阿里云自研ES存储Openstore具有以下优点:
a)低成本:
相较于本地SATA盘存储成本降低60%,相较于高效云盘存储成本降低70%;
b)海量存储:
数据存储按实际用量用多少付多少,存储Serverless按量付费;
c)高可用:
底层存储服务保证了集群的数据高可用,提供99.9999999999%的数据持久性。
综上,基于Elasticsearch+Flink的日志全观测解决方案在开源的基础上做了优化,解决了传统运维日志场景下的诸多痛点,满足高并发的写入要求,可以达到比开源更高的写入性能,全托管免运维,存储按量付费,用户无需预先购置或预留过多节点来预防集群高并发的写入要求。