ACP互联网架构认证笔记-ARMS业务实时监控服务

2021-10-12 17:56:04 浏览数 (1)

ARMS是一款阿里云应用性能管理(APM)类监控产品一共提供三种监控,应用监控,前端监控,自定义监控。

服务开通,免费开通 ARMS 基础版后,可在 ARMS 控制台开通按量付费的监控服务。开通按量付费后,才可购买应用监控资源包。

应用监控是一款针对 Java 应用的性能管理(Application Performance Management,简称 APM)软件。无需修改任何代码,只需要在 Java 应用的启动脚本中挂载一个探针(ECS Agent),该探针就能够对 应用进行全方位监控,快速地定位出错接口和慢接口、重现调用参数、检测内存泄漏、发现系统瓶颈,从而大幅提升线上问题诊断问题的效率。

应用监控探针能够自动发现应用的上下游依赖关系。具体而言,该探针能够有效捕获、智能计算、自动展示不同应用之间通过RPC 框架(例如 Dubbo、HTTP、HSF 等协议)组成的调用链

应用/实例调用信息

上报字段

描述

响应时间

应用、实例调用的平均响应时间,或数据库操作的平均执行响应时间

请求数

应用、实例调用的请求调用次数,或数据库操作的执行次数

错误数

应用、实例调用的错误调用次数,或数据库操作中异常执行次数

概览

上报字段

描述

请求数

应用、实例调用的请求调用次数,或数据库操作的执行次数

响应时间

应用、实例调用的平均响应时间,或数据库操作的平均执行响应时间

错误率

(应用、实例调用的异常调用次数,或数据库操作的异常次数)/请求数

性能一览

柱状图与左 Y 轴为请求数统计,折线图与右 Y 轴为响应时间

SQL 分析

上报字段

描述

SQL 调用统计

柱状图与左 Y 轴为数据库请求数统计,折线图与右 Y 轴为数据库响应时间

平均耗时

本次数据库调用的平均耗时

调用次数

该应用此类型数据库调用次数

异常分析

上报字段

描述

异常统计

柱状图为该应用、实例、数据库的异常次数

异常类型

采集到的抛错类型

异常详细信息

抛错的详细信息

平均耗时

本次错误调用的平均耗时

错误数

该异常类型的错误出现的次数

接口快照

上报字段

描述

耗时

应用、实例的接口的调用耗时

状态

应用、实例的接口的调用返回状态,正常返回为绿色,抛异常为红色

TraceId

应用、实例调用的索引 ID,点击可以跳转到该调用链详情

前端监控专注于 Web 端体验数据监控,从页面打开速度(测速)、页面稳定性(JS Error)和外部服务调用成功率(API)这三个方面监测 Web 页面的健康度。

前端监控需要按照提示在应用设置页面上按提示复制代码,并粘贴在<body>第一行,然后重启应用即可。

统计指标:JS 稳定性、访问速度、API成功率

JS 稳定性,在 ARMS 中是指页面的 JS 错误率。在一个 PV 周期内,如果发生过错误(JS Error),则此 PV 周期为错误样本。错误率 = 错误样本量 / 总样本量

访问速度,在 ARMS 中,访问速度是指页面的首次渲染时间。

字段含义

阶段耗时

上报字段

描述

计算方式

备注

dns

DNS 解析耗时

domainLookupEnd - domainLookupStart

tcp

TCP 连接耗时

connectEnd - connectStart

ssl

SSL 安全连接耗时

connectEnd - secureConnectionStart

只在 HTTPS 下有效

ttfb

Time to First Byte(TTFB),网络请求耗时

responseStart - requestStart

TTFB 有多种计算方式,ARMS 以 Google Development 定义为准

trans

数据传输耗时

responseEnd - responseStart

dom

DOM 解析耗时

domInteractive - responseEnd

res

资源加载耗时

loadEventStart - domContentLoadedEventEnd

表示页面中的同步加载资源

关键性能指标

上报字段

描述

计算方式

备注

firstbyte

首包时间

responseStart - domainLookupStart

fpt

First Paint Time, 首次渲染时间 / 白屏时间

responseEnd - fetchStart

从请求开始到浏览器开始解析第一批 HTML 文档字节的时间差

tti

Time to Interact,首次可交互时间

domInteractive - fetchStart

浏览器完成所有 HTML 解析并且完成 DOM 构建,此时浏览器开始加载资源

ready

HTML 加载完成时间, 即 DOM Ready 时间

domContentLoadEventEnd - fetchStart

如果页面有同步执行的 JS,则同步 JS 执行时间 = ready - tti

load

页面完全加载时间

loadEventStart - fetchStart

load = 首次渲染时间 DOM 解析耗时 同步 JS 执行 资源加载耗时

API 成功率,API成功率 = 接口调用成功的样本量 / 总样本量

自定义配置标签页上可以配置调用链采样率、Agent 开关、慢 SQL 查询阈值、接口响应时间阈值、限流阈值、无效接口调用、方法栈最大长度、异常白名单、线程剖析开关、慢调用监听触发阈值等。

采样率.png采样率.png

探针总开关和日志级别的修改即时生效,无需重启应用。如果关闭探针总开关,则系统将无法监控您的应用,请谨慎操作!

在调用链查询页面,您可以通过TraceId精确查询调用链详细情况,或结合多种条件筛选查询调用链。

数据源(日志源)为 ARMS 提供数据流入,您可以通过各种方式将数据推送到 ARMS 实时计算引擎。

云服务器 ECS,通过 Logtail Agent 完成在 ECS 上的增量推送,例如日志文件。适用场景包括应用运行在阿里云 ECS 上的所有业务监控场景。

LogHub 数据源,将阿里云日志服务(SLS LogHub)作为 AMRS 的数据源输入。如果 ECS 上的日志已经被阿里云 LogHub 收集,那么可以用此方法让 ARMS 复用 LogHub上的数据。

API 数据源,通过 API SDK 向 ARMS 直接推送日志。适用于不适合装 Agent 但是可以通过 API 集成来直接推送数据收集场景,例如移动终端。

MQ 数据源,通过对接 MQ 直接拉取 Topic 内消息并基于其内容进行实时统计,进行业务监控。适用于已用 MQ 处理业务的用户,包括电商、物联网等领域。

ARMS 的内置切分器,包括单分隔符、多分隔符、顺序、KV、JSON 等多种切分器。您可以针对不同的场景单独或组合使用这些切分器。

0 人点赞