APM资料整理

背景

NewRelic工作上使用、到Sentry接入所有应用,是时候需要对这些资料进行系统化的梳理。随着深入了解这些工具,APM出现在视线里,究竟什么是APM,它的来龙去脉是怎样的呢, 它解决了什么问题(或者目的是什么)?这篇文章根据自己检索到资料,对这些问题进行阐述

名词解释

  • 管理模型

APM

Application Performance Management的缩写, “应用性能管理”,由Gartner归纳抽象出的一个管理模型。
APM模型中一共分五个层次:

End User Experience

首先关注的是终端用户对应用性能的真实体验。目的是帮助管理者准备、详尽地了解真实用户体验是什么样子。

Runtime Application Architecture

应用架构映射,目的是解决企业应用架构黑盒或灰盒的现状。

  • 应用的完整架构
  • 单词请求的应用架构

Business Transactions

应用事务分析
GA大量的埋点,怎么做到不需要修改任何一行代码,我们并可以对应用取得的数据分析应用事务

  • 确定上下文的事务操作,是同一个用户
  • 确定所有事务操作的每一个步骤,是唯一一个动作

Deep Dive Component Monitoring

深度应用诊断,

  • 在不修改用户代码的前提下,取得代码运行时性能数据
  • 终端用户数据、运行时性能数据、数据指标数据、服务运行指标数据,有效关联
  • 有太多的关注点,怎么方便的部署采集端
  • 不影响原应用的性能。

Analytics / Reporting

  • 处理数据要及时,必要时要做到实时的处理,问题可能随时都会发生;
  • 数据的分析报告要准确 ,大量的数据本身无价值的,按照无业务模型进行分析、预测才能有其价值体现。

VS Sentry

“错误日志监控”也可称为“业务逻辑监控”,旨在对业务系统运行过程中产生的错误日志进行收集归纳和监控告警。
就是“APM应用性能监控”。 但又与APM不同,APM系统主要注重应用层的行为分析, 收集到更多是运营方向的数据。
而 Sentry所做是收集应用底层代码的奔溃信息,便于排查代码异常。简单来说,排障工具!
Sentry解决的问题:

  • 无法第一时间感知错误
  • 错误信息的获取相对低效
  • 日志的处理方式不灵活
  • 监控覆盖面有限

Sentry 是一个现代化的错误日志记录和聚合平台,支持所有的主流开发语言和平台,并提供了现代化UI。

参考

什么是真正的APM
运维开发实践——基于Sentry搭建错误日志监控系统


·End·
最后修改 August 14, 2021 : add team\tool (933e0bd)