为什么要做这个功能?

作为一款应用性能监控产品,我们通常会给用户展示两类数据:

  • 第一种是统计数据:用户通过使用统计数据设置报警(比如应用响应时间大于2s),缩小问题范围(比如报警时间范围内,是哪一个接口响应时间最长)。
  • 第二种是明细数据:用户通过统计值确认了特征以后,可以具体查看一个缓慢请求的执行过程,确认具体缓慢的方法或者慢SQL.

在用户实际使用过程中,我们发现实际上用户并不会按照我们预想的情况使用,常常是如下两种情况:

  • 由于ARMS提供了相当丰富的指标和维度,且用户对于产品不熟悉,当出现应用响应时长等性能问题时,用户不知道如何继续分析问题。
  • 基于性能开销的考虑,我们的明细数据不是全量上报的(默认10%采样,可调),有可能用户最缓慢的请求我们没有上报。

为了解决这两个问题,我们经过两个月的迭代,隆重推出了 智能和实时诊断功能。

智能诊断:

通过以应用的响应时间突增作为抓手,我们会帮助用户,依次做六项体检:

  • 导致的本次响应时间突增的服务器
  • 应用 SQL 耗时分析。
  • 检测应用的 FullGC 的次数、耗时是否有突增。
  • 是否存在内存泄露。
  • 检测异常日志。
  • 检测下游应用的响应时间是否出现同样的趋势。

经过“三堂会审”,主动的把与这次性能问题相关的 所有检查结果 呈现给您,让您一分钟内发现系统中发生了什么事情。

举个例子:
某应用发现RT突增到4s多

通过主动诊断,准确的抓到了本次异常,主动诊断发现java.util.concurrent.TimeoutException异常的统计指标和RT异常类似。

点击异常,直接跳转到异常诊断界面,发现异常在同一时刻突增,并且把异常栈和上下文给打印出来了。

实时诊断:

当您需要密切监控一小段时间内的应用性能时,例如发布应用时,或者应用出现问题时,您可以使用 ARMS 应用监控的实时诊断功能。开启实时诊断后,ARMS 应用监控会持续监控应用 5 分钟,并在此期间通过来一条上报一条的方式(延时在秒级),实时全量的上报调用链数据。接下来,您就能以出现性能问题的调用链路为抓手,通过方法栈瀑布图和线程剖析等功能定位问题原因。

接下来来我们还会继续补足智能分析的场景和数据源,希望当 响应时间/错误率 出现问题时,能让用户通过ARMS尽可能的缩短定位和解决问题的时间,让天下没有难解的性能问题。

产品链接:应用实时监控服务ARMS

本文作者:中间件小哥

原文链接

本文为云栖社区原创内容,未经允许不得转载。

告别诊断烦恼 | 应用实时监控 ARMS 上线智能和实时诊断功能的更多相关文章

  1. 全景还原报错现场 | 应用实时监控 ARMS 上线用户行为回溯功能

    随着前端技术日新月异迅猛发展,为了实现更好的前端性能,最大程度提高用户体验,支持单页应用的框架逐渐占领市场,如众所周知的React,Vue等等.但是在单页应用的趋势下,快速定位并解决JS错误却成为一大 ...

  2. 阿里云应用实时监控 ARMS 再升级,支持 Prometheus 开源生态

    摘要: 应用实时监控服务 (ARMS) 是一款APM类的监控产品. 用户可基于 ARMS 的前端.应用.自定义监控,快速构建实时的应用性能和业务监控能力.ARMS 让所有性能问题“一屏了然”,不遗余力 ...

  3. 如何做实时监控?—— 参考 Spring Boot 实现

    随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向于把大型应用程序切分成多个微服务,服务之间通过 RPC 调用.微服务架构的好处非常多,例如稳定的服务变化较少,不会被非稳定服 ...

  4. 虎牙数万主播同时在线直播的秘密,CDN推流日志上行实时监控

    6 月 10 日,又拍云 Open Talk | 2018 音视频技术沙龙·深圳站 顺利落幕,来自虎牙的直播运维研发架构师张波在沙龙上做了<基于CDN推流日志的主播上行实时监控及其自动化解密&g ...

  5. 如何做实时监控?—— 参考 Spring Boot 实现(转)

    转自:http://blog.csdn.net/xiaoyu411502/article/details/48129057 随着 微服务 的流行,相比较以前一个大型应用程序搞定所有需求,我们现在更倾向 ...

  6. 服务器性能测试实时监控Linux命令

    实时监控 top -h : 查看帮助 -p : 监控指定进程,当监控多个进程时,进程ID以逗号隔开,这个选项只能在命令行下使用 top 任务区命令 M: 按内存使用率排序(大写) P:按CPU使用率排 ...

  7. 大众点评cat实时监控简介及部署

    简介 背景 CAT(Central Application Tracking)是由吴其敏(前大众点评首席架构师,现携程架构负责人)主导设计基于Java开发打造的实时应用监控平台,为大众点评网提供了全面 ...

  8. Tomcat集群 Nginx负载均衡 shell脚本实时监控Nginx

    第一步,安装Tomcat 系统环境:Centos7 第1步:下载tomcat安装包 tomcat官网:https://tomcat.apache.org/ 第2步:安装包上传至linux中 第3步:下 ...

  9. 安装 log.io 实时监控 php_error 日志

    Log.io 实时监控 php_error.log 日志 开启 php_error 实时监控日志的第一步,要首先开启 php_error 的功能. vi php.ini 修改 PHP 配置文件,将 ; ...

随机推荐

  1. neo4j算法(1)-介绍

    neo4j为图数据库,其中涉及的也就为图算法,图算法被用来度量图形,节点及关系. 在neo4j中,通过call algo.list() 可查看neo4j中的算法列表. 在neo4j官方文档中,主要记录 ...

  2. Eclipse 连接MySql数据库总结

    Eclipse 连接MySql数据库总结 一.在MySql中创建数据库,并创建表,向表中插入数据 1.创建数据库 create database select_test 2.创建表 create ta ...

  3. godaddy账号以及域名被盗找回经历以及网络信息安全的思考

    本案涉及到公司的一些机密信息,因此涉及到机密信息,我都将会用一些其他的代号进行替代.不影响读者理解本案.我会按照时间顺序讲述本案经过,是如何一步步找回godaddy账号的. 我供职的公司是一家网络科技 ...

  4. 记录openSUSE 源码安装node.js

    openSUSE版本: 42.2 目标:安装好 Node.js v6.10.3 在终端中可以使用 "su" 命令,切换到root用户. 1. 安装 gcc,gcc-c++ zypp ...

  5. B/S架构及其运行原理

    一. B/S的概念 B/S(Brower/Server,浏览器/服务器)模式又称B/S结构,是Web兴起后的一种网络结构模式.Web浏览器是客户端最主要的应用软件. 这种模式统一了客户端,将系统功能实 ...

  6. light oj 1095 组合数学

    #include <stdio.h> #include <string.h> #include <stdlib.h> #include <math.h> ...

  7. 使用python和tableau对数据进行抓取及可视化

    使用python和tableau对数据进行抓取及可视化 本篇文章介绍使用python抓取贷款及理财平台的数据,并将数据拼接和汇总.最终通过tableau进行可视化.与之前的python爬虫文章 不同之 ...

  8. 模板——Treap

    不得不说平衡树博大精深,除了Treap,还有splay,非旋Treap和可持久化数据结构,今天先讲讲Treap,也很感谢这位大佬的博客给予我帮助:http://www.360doc.com/conte ...

  9. 让ASPX页面可以提交html标签代码的配置

    1:打开web.config文件,在system.web节点里,添加<httpRuntime requestValidationMode="2.0" /> 2:在asp ...

  10. 更新CM版本

    照着这个文章搭建的 https://blog.csdn.net/sinat_32176947/article/details/79597073 需要注意问题有 离线需要自己配置yum 地址base地址 ...