1

【全观测系列】Elasticsearch应用性能监控最佳实践

 2 years ago
source link: https://segmentfault.com/a/1190000041358206
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

简介:本文介绍了应用性能监控的应用价值以及解决方案等。

1、什么是全观测?

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

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

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

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

在整个全观测中包括日志、指标,APM这三要素中,大家相对比较陌生的可能是APM。

2、什么是应用性能监测APM

APM定义:企业应用APM对自身复杂的软件及应用程序的运行状态进行监测、诊断和分析,从而缩短故障定位时间和提升故障的定位准确度,进而提升应用运行效益和优化用户的使用体验。

APM涉及的技术类型包括人工智能、大数据、云计算,它的核心是用户体验,提升应用可靠性性,提升应用质量,降低IT总拥有成本。

随着当今应用的多元化和复杂化,我们需要通过APM这样一个应用性能监测,实现端到端业务性能的分析,同时帮助了解我们的服务,比如说时间都花在了什么上面,服务崩溃的原因是什么,整个服务的瓶颈在哪里,从而使我们更好的去跟踪、优化终端用户的体验。

3、应用性能监测APM场景

3.1 APM应用场景及痛点

• 应用异常诊断

— 分布式微服务架构的应用进行故障排查时存在问题定位难的现象;

— 业务逻辑复杂化使企业对应用架构梳理和治理难度增加。

• 应用体验管理

— 用户体验直接影响应用服务发展前景,但获取用户访问系统时的真是和具体情况难。需要及时且快速定位新故障或复现用户反馈的问题场景,高效解决故障,防止客户流失

• 应用异常诊断

— 多视角分析关联指标和告警数据,并生成故障根因分析报告

— 结合历史数据与运维经验,实时分析异常事务的发生原因

3.2 APM能力及业务价值

• 主动监测与被动监测,注重终端用户体验优化

• 实时、可视化应用架构,协助用户全面了解复杂的基础设施

• 应用数据积累及实时更新,为解决不同平台问题提供数据支撑

• 路径跟踪与及时预警,降低故障损失

• 深入监控应用组件,侧重监控工具之间运作的成效,助力用户快速定位和处理问题

4、阿里云Elasticsearch应用性能监测功能发布

基于开源Elastic APM构建,提供云上一键托管的阿里云Elasticsearch应用性能监控Server节点服务拉起,支持使用阿里云Elasticsearch作为其数据存储,并允许实时监控数千个应用程序的性能。

用户可通过Agent收集包含传入请求、数据库查询、缓存调用、外部HTTP请求、错误及异常等多种详细的性能信息,并通过Elasticsearch进行存储及可视化分析,为企业及开发者提供高效的应用程序性能优化与监控能力。

image.png

4.1 用户根据默认提供的代理Agent及数据采集模板进行数据收集
用户可使用与服务相同的语言编写的开源库,代理程序会挂钩应用程序并收集性能指标和错误,所有数据都会收集并发送到Server端。

4.2 云上托管阿里云ES应用性能监控Server实例创建与管理
一键拉起Server节点并进行灵活的扩缩及配置,Server通过JSON HTTP API从代理接收数据,单个节点通常可以处理来自数百个代理的数据。

4.3 配置关联阿里云ES实例,结合Kibana进行性能指标数据存储及分析
结合阿里云ES自研日志Indexing Service以及海量存储Openstore,可以达到高并发的写入能力,以及低成本、近实时地存储搜索海量数据。云上免费托管拉起的Kibana节点提供丰富的数据分析及可视化能力。

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

如何通过云上Elastic Stack能力去解决全观测-日志场景下的痛点。

5.1 全观测场景面临哪些痛点

  • 日志/指标获取难

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

  • 日志/指标规格化要求高

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

  • 高并发写入、系统稳定性差

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

  • 海量数据存储成本高

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

  • 日志分析和指标监控统一难

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

  • 系统可扩展性要求高

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

5.2 云上ELK全观测解决方案能力

  • Beats/APM获取日志/指标

轻量化的提供各类metic、logs、APM数据采集能力;

  • 数据清洗SQL化更简易

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

  • 云上ES写入托管及超强稳定性

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

  • 低成本数据存储

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

  • 日志分析、指标监控、APM能力齐全

阿里云ElastiStack全托管,提供日志分析、监控、Tracing一站式能力;

针对时序场景,针对性优化引擎,保证时序日志监控和分析的性能;

  • 开源生态具备强大的可扩展性

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

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

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

image.png

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

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

(1)高峰期写入压力大弹性扩展难以有效实施

(2)海量计算+存储资源成本高低峰期资源闲置

(3)为保证系统稳定性集群运维管理复杂

image.png

8、阿里云Elasticsearch日志增强版

基于云原生自研引擎技术的全观测数据写入托管及海量存储能力

  • 日志写入Serverless

自研写入加速Indexing Service,支持ES日志场景海量数据写入,写入按实际流量计费,提供极致的弹性和强大的业务系统洪峰应对能力,客户无须预留资源并维护大规模集群;

  • 海量存储Openstore

可根据实际数据的存储量按量计费,无须提前预留集群存储容量,数据兼容ES原生查询。单据节点可存储百TB数据并通过灵活易用的数据生命周期策略进行数据管理

  • 云端10倍写入弹性扩缩

云端海量算例突破写入瓶颈,无须提前预留资源,无低峰闲置浪费

  • 成本降低50%以上

按需使用,按实际写入流量付费,云端按量写入,优化资源成本

  • 存储超低成本

相较于高效云盘存储成本降低70%,无须提前预留资源,无低峰闲置浪费

  • 海量数据可查询

相较于高效云盘存储成本降低70%,存储Serverless按实际用量用多少付多少

image.png

9、应用服务数据链路追踪与分析

某汽车品牌案例(SLA/KPI指标跟踪、销售支撑系统链路追踪与日志分析),基于阿里云Elasticsearch的“汽车行业应用服务数据链路追踪和日志分析”介绍。

(1)场景需求

在整体汽车行业推动业务全流程数字化转型的背景下,内部支撑系统,以及依赖的IT组件(如:移动网关),快速上云后,内部系统产生大量的Metric、TraceLog、Log等数据,需要在云上快速落地。

某汽车品牌企业IT部门下,有多个内容管理系统(CMS)、分销商经营办公系统(DMO)、运营质量监控系统(QIS)、营销经营分析系统(MMP)、BI系统等内部支撑系统。

•IT业务系统复杂,既要满足持续的业务需求,又要整体上云,需要有快速平迁、对接原有云上/云下的IT系统的产品,并能保证技术架构的灵活、开放性,支持后续的自由拓展;

• 预期未来的日志数据规模超PB级(180天),底层技术架构需要兼备低成本存储、快速获取、按需检索和分析的能力;

(2)方案价值点

  • 极低迁移/改造成本:外资/合资背景的车企IT架构借鉴外资方海外的IT架构,ES是非常普及的技术架构方案,阿里云ES完全兼容开源,客户运维系统上云的迁移/改造成本极低,最快一周内完成系统上线;
  • 低存储成本:存储的数据量很大(客户单个日志集群240TB存储量)。提供分级存储的存储介质。例:OSS中存储的1 PB日志12.6W/月,每月多付3W元/月,日志即可获得秒级模糊检索、聚合分析查询等能力(比自建ELK直接使用高效云盘便宜了20.9W/月);
  • 真正的弹性伸缩:提供Serverless(服务化)存算分离架构,按流量收取写入费用,没有流量不收钱,真正意义上的“瞬时弹性伸缩”;

image.png
整体方案架构

10、ES应用性能APM Server创建

3min快速拉起APM Server进行数据传输,最低仅需180元/月

image.png

在APM server控制台列表,可以查看有多少个APM server在运行。

我们可以看到APM server的访问地址,将这个访问地址配到APM agent里面。APM agent采集过程中,可以支持多种客户端语言,可以快速的实现数据采集的配置。

image.png

当数据采集之后,我们就可以来到Kibana的界面,通过Dev tools进行一些索引的创建。

image.png

Kibana界面可以查看所有的APM服务数据,如平均响应时长,P95值,异常发生的时间等等。

image.png

进入查看某个服务的详细数据:

image.png

点击查看某个具体的请求数据的瀑布视图:

image.png

查看瀑布视图的详情:

image.png

比如发现有很多select正在进行,可以点击查看具体详情:

image.png

查看全链路数据:

image.png

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


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK