APM vs NPM

本文涉及的产品
应用实时监控服务ARMS - 应用监控,每月50GB免费额度
简介: APM vs NPM

概述

APM:Application Performance Monitoring 的简称,即应用性能监控。

NPM:Network Performance Monitoring 的简称,即网络性能监控。

技术实现

  • APM: 应用服务器上安装代理
  • NPM:交换机网络流量镜像

部署

  • APM:每台应用服务器都需安装代理
  • NPM:所关心的应用即 ip 加 port 所经过的交换机流量必须全部镜像

支持的技术

  • APM:全部应用 java .net php nodejs 各种框架
  • NPM:http,tcp 等各种网络协议

监控颗度

  • APM:应用服务器上应用内部的全部调用过程,内存对象和线程的全部解析。
  • NPM:则只涉及到协议的 request 例如 url,无法深入部调用。也无法对交易自动化完整串联跟踪;但是会有网络设备的网络性能。

缺点

NPM

  • 流量没有走交换机, 比如都是同一台宿主机上的虚拟机, 则无法监控
  • 监控只限于网络层面, 无法深入应用和代码
  • 如果网络协议加密, 则可能需要私钥进行解密, 或无法解密, 或解密过程性能消耗较大.
  • 无法监控数据中心以外的数据

APM

  • 主要支持 JAVA/.Net 等语言的监控, 特定语言(如:C)及特定应用服务器(如:Tuxedo)无法监控
  • 商业 APM 按节点计费, 较难做到全覆盖
  • 数据中心, 如果技术栈不支持, 则无法做到全监控
  • 侵入式部署

优点

NPM

  • 数据中心全覆盖(当然,也是有条件的,但是相对 APM 容易实现)
  • 通过相关的网络协议监控,可以更广泛地实现客户关注的效果
  • 针对银行交易有完整的成熟的解决方案(如:天旦 BPC)
  • 部署非侵入式

APM

  • 可以监控到数据中心以外的数据(其实需要 RUM 即 Real User Monitoring)
  • 应用性能问题深入追踪(具体到方法 / 线程快照 / 内存快照 / 异常 / 日志 / 同步异步调用等)
  • 用户体验管理(用户操作 / 手机 APP/ 浏览器)(也是通过 RUM 实现)

适用场景

APM

  • 更关注应用性能问题
  • 开发 / 中间件运维
  • 需要对应用 / 中间件关键指标进行监控和告警
  • 系统架构都是 JAVA/.NET/php/node.js… (无 C 无 tuxedo) , 则可以进行自动的交易关联, 且监控细粒度会很细.
  • 需要对数据中心外的用户体验 (如用户点击操作数据 / 手机 APP/ 浏览器端数据) 监控

NPM

  • 业务监控(典型如银行交易笔数)
  • 更关注网络性能问题
  • 系统架构中含有非 .net/JAVA 系统, 如 Tuxedo
  • 无法接受侵入式部署
  • 银行(有完整的解决方案, 如天旦 BPC)
相关实践学习
通过云拨测对指定服务器进行Ping/DNS监测
本实验将通过云拨测对指定服务器进行Ping/DNS监测,评估网站服务质量和用户体验。
相关文章
|
3月前
|
前端开发 JavaScript 项目管理
Poetry vs npm:两个包管理器的迷人相似性
我们知道 Python 有自己的生态链。Python 版本也非常多,为了处理这么多的版本造成的包问题,Python 有了虚拟环境。在开始之前本文默认对 Python 的生态有了基础的了解(pip 等等)。 本文全面介绍了 Python 包管理项目管理,虚拟环境管理工具的 Poetry 的基本用法。对比不同的编程语言对包的管理其实都是相似的,Peotry 的与 npm 极为相似,你掌握其中一个另一个基本也熟悉了。
下载node-gyp依赖包报错:gyp ERR! find VS msvs_version not set from command line or npm config
就是有一点需要注意,我这里安装vs的时候,可用里面没有vs社区版2017,只有2022,只能安装了2022
|
29天前
|
移动开发 监控 Android开发
Android & iOS 使用 ARMS 用户体验监控(RUM)的最佳实践
本文主要介绍了 ARMS 用户体验监控的基本功能特性,并介绍了在几种常见场景下的最佳实践。
|
3月前
|
运维 监控 数据可视化
ARMS的微服务监控
【8月更文挑战第23天】
67 6
|
6月前
|
监控 Java 索引
APM Server监控
APM Server监控
|
3月前
|
监控 前端开发 JavaScript
ARMS的Web应用监控
【8月更文挑战第23天】
60 8
|
3月前
|
监控 JavaScript 前端开发
ARMS的移动应用监控
【8月更文挑战第23天】
60 6
|
6月前
|
Kubernetes 监控 安全
Kustomize 生产实战 - 注入监控 APM Agent
Kustomize 生产实战 - 注入监控 APM Agent
|
3月前
|
Prometheus 监控 前端开发
ARMS设置监控规则
【8月更文挑战第24天】
100 9