基于 Elasticsearch+Flink 的日志全观测最佳实践(二)|学习笔记

本文涉及的产品
检索分析服务 Elasticsearch 版,2核4GB开发者规格 1个月
实时计算 Flink 版,5000CU*H 3个月
日志服务 SLS,月写入数据量 50GB 1个月
简介: 快速学习基于 Elasticsearch+Flink 的日志全观测最佳实践(二)

开发者学堂课程【大数据知识图谱系列—基于ELK+Flink日志全观测最佳实践基于 Elasticsearch+Flink 的日志全观测最佳实践(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/900/detail/14322


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


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

相应的数据,包括外部的数据,外部的日志,APP 的日志,用户的行为数据,以及埋点的指标等,这些数据会通过日志采集器,包括像 log stash 、frame 这些采集到kafka里做一层的汇聚。汇聚之后日志数据数据可以用 flink 做相应的轻量级的计算,把数据做相应的规划。

规划好的数据可以存储到云上的 ES 中。在 ES 上可以搭建自己的 kibana,做相应报表的可视化,以及做规则监控号监控告警以及关联分析,在云上将整套全观测的方案实现。

■方案选型: 100%兼容开源,与各类开源生态组件无缝衔接;支持多云/跨云的日志监控、运维分析场景
■方案优势:云上 Elasticsearch 及实时计算Flink产品,提供面向海量数据的高性能读写、高弹性、低成本解决方案

 image.png

一、实时计算 Flink 版

1)、新一代 Serverless 实时计算引擎
●流式 SQL, 100%兼容开源,-站式开发平台,提供更适合日志场景下海量数据清洗的流式 SQL 能力,核心算子性能优化达开源2倍以上
●Serverless 服务, 全托管免运维,用户无须关注集群运维和资源预留,100%投入业务开发
●Autopilot 能力,根据数据流量自动重新分配算力,智能削峰填谷,弹性资源分配,有效应对数据的高峰低谷

image.png


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

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

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

image.png

IndexingServerless ,可以通过日志写入的托管和日志增强的能力,很强的写入能力,在完成了高并发的的能力扩展之外,对原来开源自建20个高配节点,可以根据流量去满足一个写入流量的计付费方式。在本地只需要去保留将近10个节点以下的ES 节点规格来保证整个集群的存储数据。

在整个数据的写入是按高峰和低峰实际流量去做计费。

■自研 ES 存储 Openstore      

1、低成本
相较于本地 SATA 盘存储成本降低60%
相较于高效云盘存储成本降低70%
2、海量存储
数据存储按实际用量用多少村多少

存储 Serverless 接量付费
3、高可用
底展存储服务保证了集群的数据高可用

提供99.999999999%的数据持久性

 

七、日志监控运维应用案例

一)、好未来(前身"学而思")是一个以智慧教育和开放平台为主体,以素质教育和课外辅导为载体,在全球范围内服务公办教育,助力民办教育,探索未来教育新模式的科技教育公司。好未来旗下多个 C 端产品基于 Elasticsearch 实现日志查询和指标监控。

1)、使用阿里云 Elasticsearch vs 客户自建服务 效果对比

●ms 级别的数据时效性
●支撑数百个企业级客户权限分配管理

●流量激增,监控及日志平台平滑扩容

●峰/谷集群灵活配置,节约100%成本

image.png

2)、日志及监控平台数据流程示意图

image.png 

二)、米哈游止努主要集中在国六劫漫文化下的移劫游伐、漫画等領域.作カ研友商,米哈游畦銕推出了《崩坏学园》、《崩坏学园2》、《崩坏3》等国产动漫移动游戏领域的代秀产品,广受用户喜爰。并以游戏和漫画、动画、周边等领域齐动,成功打造了中国知名的原创国产动漫IP-崩坏系列,相关游戏产品已登陆海外市场并取得了代秀的成绩。

1)、业务效果及指标

·冷热分离架构,低成本高性能

·服务高可用 SLA 99.99%,数据高可用99.999999%
·支撑 3PB+日志存储
·支持峰值每秒100W docs 并发写入
·日志链路亚秒数据时效性
·支持秒级日志查询响应、支持聚合条件及模糊查询
·秒级别弹性扩缩容

image.png

对于很多游戏公司,他们会有大量的游戏数据,包括很多游戏内的用户行为日志,底层服务器等数据及整个系统链路中的一些日志数据,需要对这样的繁杂的日志数据进行采集和格式化,最终存到阿里云 Elasticsearch 里面。
这会用到日志增强版的一些日志场景的特性,即能够通过冷热数据的分离架构,实现整体低成本和高性能的存储和查询要求,又可以通过实时计算 Flink 版和 ES 来提供整个系统稳定性保障和 SLA  的支持。

目前企业的这套日志全检测方案已经存储了将近几 PB 的日志数据。弹性的写入和弹性流式计算能力,能够支撑企业比如新游戏上线产生、游戏开服的时候产生的峰值数据,可以给游戏用户带来更好的服务保障。

随着企业后续的业务扩展,一套基于 ELK+Flink 的开源方案,能够更好的跟上下游的业务实现对接,同时也能够在业务的不断发展过程中,带来更多的业务后续上层的查询能力,包括时效性的保障和扩展的支持。

相关实践学习
使用阿里云Elasticsearch体验信息检索加速
通过创建登录阿里云Elasticsearch集群,使用DataWorks将MySQL数据同步至Elasticsearch,体验多条件检索效果,简单展示数据同步和信息检索加速的过程和操作。
ElasticSearch 入门精讲
ElasticSearch是一个开源的、基于Lucene的、分布式、高扩展、高实时的搜索与数据分析引擎。根据DB-Engines的排名显示,Elasticsearch是最受欢迎的企业搜索引擎,其次是Apache Solr(也是基于Lucene)。 ElasticSearch的实现原理主要分为以下几个步骤: 用户将数据提交到Elastic Search 数据库中 通过分词控制器去将对应的语句分词,将其权重和分词结果一并存入数据 当用户搜索数据时候,再根据权重将结果排名、打分 将返回结果呈现给用户 Elasticsearch可以用于搜索各种文档。它提供可扩展的搜索,具有接近实时的搜索,并支持多租户。
相关文章
|
3月前
|
存储 消息中间件 Java
Apache Flink 实践问题之原生TM UI日志问题如何解决
Apache Flink 实践问题之原生TM UI日志问题如何解决
44 1
|
26天前
|
PyTorch 算法框架/工具
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
本文介绍了PyTorch中的F.softmax()和F.log_softmax()函数的语法、参数和使用示例,解释了它们在进行归一化处理时的作用和区别。
273 1
Pytorch学习笔记(七):F.softmax()和F.log_softmax函数详解
|
14天前
|
XML JSON 监控
告别简陋:Java日志系统的最佳实践
【10月更文挑战第19天】 在Java开发中,`System.out.println()` 是最基本的输出方法,但它在实际项目中往往被认为是不专业和不足够的。本文将探讨为什么在现代Java应用中应该避免使用 `System.out.println()`,并介绍几种更先进的日志解决方案。
39 1
|
2月前
|
设计模式 SQL 安全
PHP中的设计模式:单例模式的深入探索与实践在PHP的编程实践中,设计模式是解决常见软件设计问题的最佳实践。单例模式作为设计模式中的一种,确保一个类只有一个实例,并提供全局访问点,广泛应用于配置管理、日志记录和测试框架等场景。本文将深入探讨单例模式的原理、实现方式及其在PHP中的应用,帮助开发者更好地理解和运用这一设计模式。
在PHP开发中,单例模式通过确保类仅有一个实例并提供一个全局访问点,有效管理和访问共享资源。本文详细介绍了单例模式的概念、PHP实现方式及应用场景,并通过具体代码示例展示如何在PHP中实现单例模式以及如何在实际项目中正确使用它来优化代码结构和性能。
43 2
|
26天前
|
数据可视化
Tensorboard可视化学习笔记(一):如何可视化通过网页查看log日志
关于如何使用TensorBoard进行数据可视化的教程,包括TensorBoard的安装、配置环境变量、将数据写入TensorBoard、启动TensorBoard以及如何通过网页查看日志文件。
145 0
|
3月前
|
jenkins 持续交付
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
jenkins学习笔记之三:使用jenkins共享库实现日志格式化输出
|
2月前
|
开发者 Python
基于Python的日志管理与最佳实践
日志是开发和调试过程中的重要工具,然而,如何高效地管理和利用日志常常被忽略。本文通过Python中的logging模块,探讨如何使用日志来进行调试、分析与问题排查,并提出了一些实际应用中的优化建议和最佳实践。
|
3月前
|
JSON Java fastjson
Java日志通关(五) - 最佳实践
作者日常在与其他同学合作时,经常发现不合理的日志配置以及五花八门的日志记录方式,后续作者打算在团队内做一次Java日志的分享,本文是整理出的系列文章第五篇。
|
3月前
|
运维 监控 数据可视化
Elasticsearch全观测技术解析问题之面对客户不同的场景化如何解决
Elasticsearch全观测技术解析问题之面对客户不同的场景化如何解决
|
3月前
|
SQL 数据库 Java
Hibernate 日志记录竟藏着这些秘密?快来一探究竟,解锁调试与监控最佳实践
【8月更文挑战第31天】在软件开发中,日志记录对调试和监控至关重要。使用持久化框架 Hibernate 时,合理配置日志可帮助理解其内部机制并优化性能。首先,需选择合适的日志框架,如 Log4j 或 Logback,并配置日志级别;理解 Hibernate 的多级日志,如 DEBUG 和 ERROR,以适应不同开发阶段需求;利用 Hibernate 统计功能监测数据库交互情况;记录自定义日志以跟踪业务逻辑;定期审查和清理日志避免占用过多磁盘空间。综上,有效日志记录能显著提升 Hibernate 应用的性能和稳定性。
49 0