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

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进行存储及可视化分析,为企业及开发者提供高效的应用程序性能优化与监控能力。

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端到端的采集传输及分析能力,提供面向海量数据的高性能读写、高弹性、低成本解决方案

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

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

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

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

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

8、阿里云Elasticsearch日志增强版

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

  • 日志写入Serverless

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

  • 海量存储Openstore

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

  • 云端10倍写入弹性扩缩

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

  • 成本降低50%以上

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

  • 存储超低成本

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

  • 海量数据可查询

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

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

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

(1)场景需求

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

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

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

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

(2)方案价值点

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

整体方案架构

10、ES应用性能APM Server创建

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

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

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

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

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

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

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

查看瀑布视图的详情:

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

查看全链路数据:

原文链接

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

【全观测系列】Elasticsearch应用性能监控实践相关推荐

  1. 云原生分布式应用性能监控实践-天眼全流程调用链

    一.概述 天眼是中国联通IT生产运营支撑平台,对生产运营领域提供端到端.云化架构全层级的运维工具支撑,融合人工智能与大数据技术,实现传统运维向自动化生产.智慧化运营的转变,保障4亿级用户规模系统稳定运 ...

  2. Sharding-Sphere的应用性能监控实践

    Sharding-Sphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它为分布式数据存储提供了多种形式的解决方案.其中的Sharding-JDBC产品在甜橙金融的技术架构中得到了广泛应用, ...

  3. Sharding-Sphere 的应用性能监控实践

    1. Sharding-Opentracing简介 Sharding-Opentracing是Sharding-Sphere为大家提供的基于Opentracing规范的APM工具包.它采用发布 - 订 ...

  4. android 监控app 读写,Android端 APP性能监控实践

    如今大部分的APP测试工作关注点主要集中在功能的逻辑与交互上,由于各种原因(比如测试时间不够,测试手段有限等等),对APP客户端的性能数据往往比较忽视,然而经过移动互联网爆发式发展后,许多App功能差 ...

  5. 360移动端性能监控实践QDAS-APM(iOS篇)

    一.背景 360是一家注重用户体验的公司,公司的口号是用户至上.在这么一个注重用户体验的氛围里,app的性能问题无疑是被重点关注的,同样也是造成用户流失的罪魁祸首之一.性能问题主要包含:崩溃.网络请求 ...

  6. 深入字节版atop: 线上系统的性能监控实践

    背景 atop 是一款开源的单机性能监测工具,支持实时观测的同时.也支持读取历史文件排查问题.另外一个优点是除提供 CPU.MEM.DISK 等全局指标外,还提供进程.线程级别的各项指标监控数据.鉴于 ...

  7. ORACLE常用性能监控SQL【一】

    目录(?)[+] 系列 ORACLE常用性能监控SQL[一] ORACLE常用性能监控SQL[二] Oracle-动态性能视图解读 系列 死锁后的解决办法 生成Kill Session语句 查看导致死 ...

  8. 【前端性能优化实践】手把手教你实现webpack图片压缩插件

    前言 我想写一个系列:前端性能优化实践方案.网上虽然一搜一大把这样的文章,但大多缺乏体系化.也有很多讲性能优化的书籍,但其实想照着书上的知识进行实践,还是挺难的一件事. 这是该系列的第一篇文章 由于自 ...

  9. 【技术分享】Go 工程化-前端性能监控接入层 Layout 设计实践

    作者:黎志航&张翔,腾讯监控高级工程师 前言 本文主要介绍 腾讯云前端性能监控(RUM)在全新接入层上的 Go 工程化实践,介绍 Go 项目布局(下文称 Project Layout)的设计理 ...

最新文章

  1. 这家公司不要求996,但照样市值万亿!
  2. python视窗版_Python GUI tkinter窗口视窗学习3
  3. 135. Leetcode 46. 全排列 (回溯算法-排列问题)
  4. 表单提交,以及标注。
  5. [密码学基础][每个信息安全博士生应该知道的52件事][Bristol Cryptography][第51篇]什么是基于ID的加密的安全模型,描述一个IBE方案
  6. .NET 指南:捕获并且抛出标准的异常类型
  7. mybatis常用方法总结
  8. 如何对一个对象进行深拷贝
  9. 转载 lemontrees(lemontree) 的计算机系考研攻略 (游戏版)
  10. 【转载】AssetBundle资源打包加载管理
  11. SpringCloud七:配置中心Eureka+Config+Bus+RabbitMQ
  12. 小说网站源码+采集器+App端
  13. OpenCV:轮廓检测、查找轮廓、绘制轮廓、凸包、图像的矩特征
  14. 微信小程序发布版本之后自动更新功能
  15. ZKT门禁机标准联接线(按键开关经过卡机)
  16. atcoder abc242 c题 1111gal password
  17. python彩色蟒蛇绘制方向_python绘制蟒蛇,绘制五彩蟒蛇
  18. 阿里云服务器CentOS7装机配置之路(JDK1.8,MySql8.0,MongoDb4.0.3,Openfire4.2.3,Redis)
  19. 《编程之美——微软技术面试心得》一摞烙饼的排序初体验
  20. 蓄电池与超级电容混合储能并网matlab simulink仿真模型

热门文章

  1. 修订模式怎么彻底关闭_电脑玩游戏卡顿怎么办?
  2. 未结束的字符文字_PAT B1042:字符统计
  3. linux unix域socket_python3从零学习-5.8.1、socket—底层网络接口
  4. java开发,年薪15W的和年薪50W的差距
  5. java beanutil 工具类_实现BeanFactoryAware来达到Spring静态方法获取Bean对象的BeanUtil工具类...
  6. 【总结记录】《MySQL必知必会》读后笔记,结合 leetcode 例题理解
  7. python车牌识别系统开源代码_天津谁做车牌识别系统供应商,伸缩栅栏门_郑州荣锋科技有限公司...
  8. amd插帧技术如何开启_联想ThinkPad笔记本电脑如何开启CPU的虚拟化技术图文教程...
  9. 已通过os信号请求关闭服务器,redis(一)内部机制的介绍和启动过程
  10. python手机话费_查询话费订单详情示例代码