基于Elasticsearch+Flink的日志全观测最佳实践

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
简介: 本文介绍了怎样利用 Elasticsearch+Flink 搭建日志全观测平台

一、什么是全观测?

1、传统运维的问题

要了解全观测,我们先看看传统运维存在哪些问题:

  1. 数据孤岛,分散在不同部门,分析排查故障困难;
  2. 多个厂商的多种工具,无法自动化统一分析;
  3. 故障是立体的,日志、指标等都只能看到一方面的可观察性;
  4. 只进行收集,没有真正深入分析,不能发挥大数据的价值。


2、全观测的定义

全观测是对传统运维的改进,它将日志、指标、APM数据,汇总在一个平台,让运维、开发、业务人员对所有的数据从统一视角进行观察分析。

 

3、全观测可以做什么

  1. 建立统一的可视化视图、对齐时间、过滤条件;
  2. 建立统一的基于规则的监控和告警;
  3. 建立统一的机器学习的智能监控和告警。

图片 1.png

全观测架构图

 

二、全观测场景技术难点和解决方案

在全观测场景下会面临很多痛点,那么如何通过云上ELK+Flink能力,去解决全观测日志场景下的痛点呢?


1、痛点一:日志/指标获取难

机器、业务系统、网络链路、操作系统,诸多指标及日志获取手段不一,落地过程复杂;


解决方案:Beats/APM获取日志/指标

轻量化的提供各类meticlogsAPM数据采集能力;

 

2、痛点二:日志/指标规格化要求高

上下游链路配合衔接过程中,如何将有效信息从海量日志中获取;


解决方案:数据清洗SQL化更简易

支持各类网络格式的日志/指标采模板,实时计算Flink提供完整流式SQL能力;


3、痛点三:高并发写入、系统稳定性差

业务/流量抖动,日志写入峰值往往会很高,旁路系统稳定性受到很大的挑战;


解决方案:云上ES写入托管及超强稳定性

提供Indexing service自研ES写入托管服务,及跨机房部署、同城容灾、场景内核优化;

 

4、痛点四:海量数据存储成本高

日志场景涉及海量数据,TB级别起步,甚至PB级;


解决方案:低成本数据存储

阿里云ES提供冷热分离数据存储方式,及自研存储引擎Openstore优化存储压缩算法;

 

5、痛点五:日志分析和指标监控统一难

借助时序系统可以很好的完成监控,但异常分析困难相反,如何在统一平台完成;


解决方案:日志分析、指标监控、APM能力齐全

阿里云ElastiStack全托管,提供日志分析、监控、Tracing一站式能力,针对时序场景,针对性优化引擎,保证时序日志监控和分析的性能;

 

6、痛点6: 系统可扩展性要求高

业务调整带来的技术演进一直在发生,技术组件更新快,运维框架需要有强大的兼容性;


解决方案:开源生态具备强大的可扩展性

基于分布式架构,以及灵活开放的RestAPIPlugin框架,支持各种扩展能力。

 

三、时序日志场景痛点分析

写多读少的日志场景下会遇到什么问题?

  1. 高峰期写入压力大弹性扩展难以有效实施;
  2. 海量计算+存储资源成本高低峰期资源闲置;
  3. 为保证系统稳定性集群运维管理复杂;


从下图我们可以看到在高峰和低峰期遇到的情况:

  1. 业务突发峰值写入TPS高达60K,无法准确预测和预估,峰值写入瓶颈明显;
  2. 高峰期写入TPS平均40K,需要准备至少8节点ES计算资源来满足高峰期写入能力;
  3. 低峰期写入TPS平均20K,仅需要4节点ES计算资源即可满足低峰写入流量。

图片 2.png

 

四、全链路日志分析与监控ELK技术难点

1、高并发写入

a)日志场景往往面临业务/流量抖动;

b)日志写入峰值往往会很高;

c)ES集群容易被打爆;


2、存储成本高

a)日志场景涉及海量数据;

bTB级别起步,甚至PB级;

c)部分场景(如:审计)长周期存储;


3、时序分析性能差

aES内核技术局限性;

b)日志场景中的时序查询性能差;

c)复杂聚合、Range等查询性能瓶颈明显;

 

4、可伸缩性及运维要求高

a)日志峰值/均值/谷值差异巨大;

b)集群规模大管理运维复杂;

 

五、全观测解决方案实现日志监控/运维/分析

1、方案选型:100%兼容开源,与各类开源生态组件无缝衔接;支持多云/跨云的日志监控、运维分析场景。


2、方案优势:云上Elasticsearch及实时计算Flink产品,提供面向海量数据的高性能读写、及高弹性低成本解决方案。

图片 3.png

全观测解决方案数据架构图

 

六、FLink在方案应用中的优势

实时计算Flink版是新一代Serverless实时计算引擎,它在方案应用中具有以下优势:

1、流式SQL

100%兼容开源,一站式开发平台,提供更适合日志场景下海量数据清洗的流式SQL能力,核心算子性能优化达开源2倍以上。

2、Serverless服务

全托管免运维,用户无须关注集群运维和资源预留,100%投入业务开发。

3、Autopilot能力

根据数据流量自动重新分配算力,智能削峰填谷,弹性资源分配,有效应对数据的高峰低谷,如下图:

图片 4.png

Autopilot自动分配算力

 

七、阿里云Elasticsearch日志增强特性

1、日志增强版Indexing Service写入托管

图片 5.png

Indexing Service架构图

 

写入托管的核心功能是IndexingServerless服务,在ES集群之外,依托云端海量计算能力,打破本地集群的物理资源限制,通过读写分离架构,将ES集群的数据写入在云端服务进行托管加速,以满足高并发数据写入要求,并且基于海量的资源,支撑快速弹性的扩展能力。

图片 6.png

写入能力和成本对比图

 

 

2、自研ES存储Openstore

图片 7.png

 

阿里云自研ES存储Openstore具有以下优点:

a)低成本:

相较于本地SATA盘存储成本降低60%,相较于高效云盘存储成本降低70%

b)海量存储:

数据存储按实际用量用多少付多少,存储Serverless按量付费;

c)高可用:

底层存储服务保证了集群的数据高可用,提供99.9999999999%的数据持久性。

综上,基于Elasticsearch+Flink的日志全观测解决方案在开源的基础上做了优化,解决了传统运维日志场景下的诸多痛点,满足高并发的写入要求,可以达到比开源更高的写入性能,全托管免运维,存储按量付费,用户无需预先购置或预留过多节点来预防集群高并发的写入要求。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
3月前
|
存储 监控 搜索推荐
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
在生产环境中部署Elasticsearch:最佳实践和故障排除技巧——安装篇(一)
|
3月前
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
电子书阅读分享《Elasticsearch全观测技术解析与应用(构建日志、指标、APM统一观测平台)》
236 1
|
3月前
|
JSON Prometheus Cloud Native
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
Grafana 系列 - 统一展示 -8-ElasticSearch 日志快速搜索仪表板
|
1月前
|
Unix Linux iOS开发
Elasticsearch如何配置日志
Elasticsearch如何配置日志
|
7天前
|
存储 监控 Java
视频 | Elasticsearch 8.X 企业内训之最佳实践10 讲
视频 | Elasticsearch 8.X 企业内训之最佳实践10 讲
18 0
|
4月前
|
SQL 存储 数据库
Flink + Paimon 数据 CDC 入湖最佳实践
Flink + Paimon 数据 CDC 入湖最佳实践
452 1
|
7天前
|
API 数据安全/隐私保护 开发者
用 Python 优雅地玩转 Elasticsearch:实用技巧与最佳实践
用 Python 优雅地玩转 Elasticsearch:实用技巧与最佳实践
20 6
|
2月前
|
SQL 关系型数据库 MySQL
Flink CDC + Hudi + Hive + Presto构建实时数据湖最佳实践
Flink CDC + Hudi + Hive + Presto构建实时数据湖最佳实践
160 0
|
2月前
|
存储 分布式计算 Apache
万字长文:基于Apache Hudi + Flink多流拼接(大宽表)最佳实践
万字长文:基于Apache Hudi + Flink多流拼接(大宽表)最佳实践
166 3
|
3月前
|
JSON 流计算 数据格式
【天衍系列 04】深入理解Flink的ElasticsearchSink组件:实时数据流如何无缝地流向Elasticsearch
【天衍系列 04】深入理解Flink的ElasticsearchSink组件:实时数据流如何无缝地流向Elasticsearch

相关产品

  • 检索分析服务 Elasticsearch版