基于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可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
10天前
|
存储 SQL 监控
|
10天前
|
自然语言处理 监控 数据可视化
|
10天前
|
运维 监控 安全
|
14天前
|
存储 监控 安全
|
13天前
|
存储 数据采集 监控
开源日志分析Elasticsearch
【10月更文挑战第22天】
42 5
|
7天前
|
存储 安全 数据管理
如何在 Rocky Linux 8 上安装和配置 Elasticsearch
本文详细介绍了在 Rocky Linux 8 上安装和配置 Elasticsearch 的步骤,包括添加仓库、安装 Elasticsearch、配置文件修改、设置内存和文件描述符、启动和验证 Elasticsearch,以及常见问题的解决方法。通过这些步骤,你可以快速搭建起这个强大的分布式搜索和分析引擎。
20 5
|
1月前
|
存储 JSON Java
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
这篇文章是关于Elasticsearch的学习指南,包括了解Elasticsearch、版本对应、安装运行Elasticsearch和Kibana、安装head插件和elasticsearch-ik分词器的步骤。
109 0
elasticsearch学习一:了解 ES,版本之间的对应。安装elasticsearch,kibana,head插件、elasticsearch-ik分词器。
|
2月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
3月前
|
数据可视化 Docker 容器
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
这篇文章提供了通过Docker安装Elasticsearch和Kibana的详细过程和图解,包括下载镜像、创建和启动容器、处理可能遇到的启动失败情况(如权限不足和配置文件错误)、测试Elasticsearch和Kibana的连接,以及解决空间不足的问题。文章还特别指出了配置文件中空格的重要性以及环境变量中字母大小写的问题。
一文教会你如何通过Docker安装elasticsearch和kibana 【详细过程+图解】
|
3月前
|
JSON 自然语言处理 数据库
Elasticsearch从入门到项目部署 安装 分词器 索引库操作
这篇文章详细介绍了Elasticsearch的基本概念、倒排索引原理、安装部署、IK分词器的使用,以及如何在Elasticsearch中进行索引库的CRUD操作,旨在帮助读者从入门到项目部署全面掌握Elasticsearch的使用。

相关产品

  • 检索分析服务 Elasticsearch版