分页查询应用监控或前端监控的相关监控指标。
调试
您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。
授权信息
下表是API对应的授权信息,可以在RAM权限策略语句的Action
元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:
- 操作:是指具体的权限点。
- 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
- 资源类型:是指操作中支持授权的资源类型。具体说明如下:
- 对于必选的资源类型,用背景高亮的方式表示。
- 对于不支持资源级授权的操作,用
全部资源
表示。
- 条件关键字:是指云产品自身定义的条件关键字。
- 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作 | 访问级别 | 资源类型 | 条件关键字 | 关联操作 |
---|---|---|---|---|
arms:QueryMetricByPage | Read |
|
| 无 |
请求参数
名称 | 类型 | 必填 | 描述 | 示例值 |
---|---|---|---|---|
IntervalInSec | integer | 是 | 数据片的时间间隔,单位为毫秒,最小值为60000。 | 100000 |
StartTime | long | 是 | 起始时间的时间戳,精确到毫秒。 | 1667287695000 |
EndTime | long | 是 | 结束时间的时间戳,精确到毫秒。 | 1667546895000 |
OrderBy | string | 否 | 排序依据,可设为任一测量数据。 | pid |
Metric | string | 是 | 需要查询的指标,不可自定义输入,请参见下文补充说明。 | appstat.host |
Order | string | 否 | 排序标准。取值:
说明
不填则不排序。
| ASC |
CurrentPage | integer | 否 | 查询结果的页码,默认为 | 1 |
PageSize | integer | 否 | 此参数已不支持使用。查询结果的每页项目数量。 | 10 |
Filters | object [] | 否 | 筛选条件组合。 | |
Key | string | 否 | 筛选条件组合,必须添加 | pid |
Value | string | 否 | 筛选条件组合,必须添加 | xxx@74xxx |
Dimensions | array | 否 | 指标对应的维度。 | |
string | 否 | 指标对应的维度,请参见下文补充说明。最多可添加5个。 | pid | |
Measures | array | 否 | 指标对应的测量数据。 | |
string | 否 | 指标对应的测量数据,请参见下文补充说明。最多可添加5个。 | instanceCount | |
CustomFilters | array | 否 | 自定义过滤条件。 | |
string | 否 | 自定义过滤条件,多个过滤条件之间使用半角逗号(,)分隔。 | ["not rpcType:40","not rpcType:41"] |
如何获取应用pid
在ARMS控制台左侧导航栏选择应用监控 > 应用列表或前端监控 > 前端列表,然后单击目标应用名称,以进入应用的总览页面。
此时浏览器地址栏中的URL即包含前端应用的pid,格式为pid=xxx
。由于浏览器进行了编码,应用需要对xxx%40xxx
格式的pid稍作修改。例如,如果URL中包含的pid为eb4zdose6v%409781be0f44d****
,则需要将%40
替换为@
,即:eb4zdose6v@9781be0f44d****
。
可查询的应用监控指标
pid
和regionId
条件。已知具体的查询条件时,应将值传入Filters参数中,用于限定查询结果的范围。如果不知道具体的查询条件,可以将下表中的维度传入Dimensions参数,从而获得该维度所有可能值的列表。
指标(Metric) | 描述 | 维度(Dimensions) | 测量数据(Measures) |
---|---|---|---|
appstat.vm | 通用指标,对应应用详情下的JVM监控图表,包括GC指标、堆内存和非堆内存详情以及线程数。 | - pid - rootIp | GC指标: - youngGcCount:JVM监控Young GC次数 - oldGcCount:JVM监控Full GC次数 - youngGcTime:JVM监控Young GC耗时 - oldGcTime:JVM监控Full GC耗时 - youngGcCountInstant:JVM监控Young GC次数瞬时值 - oldGcCountInstant:JVM监控Full GC次数瞬时值 - youngGcTimeInstant:JVM监控Young GC耗时瞬时值 - oldGcTimeInstant:JVM监控Full GC耗时瞬时值 |
appstat.vm | 通用指标,对应应用详情下的JVM监控图表,包括GC指标、堆内存和非堆内存详情以及线程数。 | - pid - rootIp | 堆内存和非堆内存详情: - edenSpace:年轻代eden区 - oldGen:老年代 - survivorSpace:年轻代survivor区 - metaSpace:元空间 - nonHeapCommitted:非堆内存 - nonHeapInit:非堆内存初始值 - nonHeapMax:非堆内存最大值 - nonHeapUsed:非堆内存使用量 - directUsed:对外内存中direct_buffer已使用的大小 - directCapacity:对外内存中direct_buffer的总大小 |
appstat.vm | 通用指标,对应应用详情下的JVM监控图表,包括GC指标、堆内存和非堆内存详情以及线程数。 | - pid - rootIp | 线程数: - threadCount:线程总数 - threadNewCount:新建线程数 - threadDeadlockCount:JVM内死锁的个数 - threadRunnableCount:JVM处于Runnable的线程个数 - threadTerminatedCount:终结线程数 - threadTimedWaitCount:处于timed_waiting状态的线程个数 - threadWaitCount:处于waiting状态的线程个数 - threadBlockedCount:阻塞线程数 |
appstat.host | 主机监控,包括实例数、CPU、物理内存、磁盘、负载、网络流量(Bytes)和网络数据包数量。 | - pid - rootIp | instanceCount:实例数 |
appstat.host | 主机监控,包括实例数、CPU、物理内存、磁盘、负载、网络流量(Bytes)和网络数据包数量。 | - pid - rootIp | CPU: - systemCpuIdle:最近5s的空闲CPU使用率,控制台页面未展示 - systemCpuSystem:最近5s的系统CPU使用率 - systemCpuUser:最近5s的用户CPU使用率 - systemCpuIoWait:最近5s的等待IO完成的CPU使用率 |
appstat.host | 主机监控,包括实例数、CPU、物理内存、磁盘、负载、网络流量(Bytes)和网络数据包数量。 | - pid - rootIp | 物理内存: - systemMemFree:当前系统的空闲内存(KB) - systemMemUsed:当前系统的已经使用的内存(KB) - systemMemTotal:当前系统的总内存(KB),控制台页面未展示 - systemMemBuffers:当前系统的buffer cache的内存数 - systemMemCached:当前系统的page cache里的内存数 |
appstat.host | 主机监控,包括实例数、CPU、物理内存、磁盘、负载、网络流量(Bytes)和网络数据包数量。 | - pid - rootIp | 磁盘: - systemDiskFree:磁盘空闲字节数 - systemDiskUsedRatio:磁盘使用率 - systemDiskTotal:磁盘总字节数,公共云控制台页面未展示 |
appstat.host | 主机监控,包括实例数、CPU、物理内存、磁盘、负载、网络流量(Bytes)和网络数据包数量。 | - pid - rootIp | systemLoad:负载 |
appstat.host | 主机监控,包括实例数、CPU、物理内存、磁盘、负载、网络流量(Bytes)和网络数据包数量。 | - pid - rootIp | 网络: - systemNetInPackets:最近30秒平均每秒网络接收到的报文数 - systemNetOutPackets:最近30秒平均每秒网络发送的字节数 - systemNetInErrs:最近30秒平均每秒网络接收的错误数 - systemNetOutErrs:最近30秒平均每秒网络发送的错误数 - systemNetInBytes:最近30秒平均每秒网络接收到的字节数 - systemNetOutBytes:最近30秒平均每秒网络发送的字节数 |
appstat.database | 数据库调用。 | - pid - rpcType:调用类型 - endpoint:数据库地址为localhost: 3306 - destId:库名为arms | - rt:响应时间 - count:请求数 - error:错误数 - resultsize:仅支持Mysql 5.X版本 - slowcount:慢调用次数 |
appstat.incall | 应用详情。 | - pid - rpcType - rootIp - rpc - ppid | - rt:响应时间 - count:请求数 - error:错误数 - exception:异常 - errorrate:错误率 - qps:每秒查询数 |
appstat.exception | 异常。 | - pid - rpc - endpoint - excepType - excepInfo | - rt:响应时间 - count:请求数 - error:错误数 |
appstat.sql | 慢SQL。 | - pid - rpc - endpoint - sqlId | - rt:响应时间 - count:请求数 - error:错误数 - slowcount:慢调用次数 - resultsize:仅支持Mysql 5.X版本 说明:slow=true时,limit条件不生效。 |
appstat.mq.send | MQ发送。 | 无 | - rt:响应时间 - count:请求数 - error:错误数 - delay:调度延迟 |
appstat.mq.receive | MQ接收。 | 无 | - rt:响应时间 - count:请求数 - error:错误数 - delay:调度延迟 |
appstat.schedulerx | SchedulerX的调用量。 | - pid - rpcType - rootIp - rpc | count:请求数 |
appstat.elasticsearch | Elasticsearch的调用量。 | - rpc - endpoint - opType:操作类型。例如index、search等。仅使用Elasticsearch rest high level client时支持。 | count:请求数 |
appstat.redis | Redis的调用量。 | - pid - rpcType - endpoint - opType - rpc | count:请求数 |
appstat.status | 查询指定状态码下的调用次数(仅支持HTTP服务)。 | - pid - rootIp - rpc | - 200:HTTP状态码为200(即正常)的调用次数 - 2xx:HTTP状态码以2开头(即正常)的调用次数 - 3xx:HTTP状态码为3开头的调用次数 - 4xx:HTTP状态码以4开头(即客户端错误)的调用次数 - 5xx:HTTP状态码以5开头(即服务端错误)的调用次数 |
可查询的前端监控指标
您可以使用QueryMetric接口查询前端监控的以下指标。
pid
和regionId
条件。已知具体的查询条件时,应将值传入Filters参数中,用于限定查询结果的范围。如果不知道具体的查询条件,可以将下表中的维度传入Dimensions参数,从而获得该维度所有可能值的列表。
指标(Metric) | 描述 | 维度(Dimensions) | 测量数据(Measures) |
---|---|---|---|
webstat.api | API成功率 | - api(API请求地址,不带参数) - detector_app_version(客户端版本) - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - release(版本号) - sr(屏幕分辨率) | - count(请求次数) - rate(API成功率) - avg_time(平均耗时) |
webstat.api.detail | API详情 | - api(API请求地址,不带参数) - ct(网络制式) - detector_browser(浏览器) - detector_browser_version(浏览器版本) - detector_device(设备) - detector_os(操作系统) - detector_os_version(操作系统版本) - domain(域名) - ip_country_id(国家ID或区域ID) - ip_isp(运营商) - ip_region_id(中国省市ID) - msg(返回信息) - page(页面地址) - sr(屏幕分辨率) | - count(请求次数) - fail_count(失败次数) - fail_time(失败耗时) - fail_uv(失败影响用户数) - success_count(成功次数) - success_rate(成功率) - success_time(成功耗时) |
webstat.apicost | API成功耗时 | - api(API请求地址,不带参数) - code(返回状态码) - detector_app_version(客户端版本) - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - release(版本号) - sr(屏幕分辨率) | - count(成功次数) - avg_time(成功耗时均值) |
webstat.apifailtime | API失败耗时 | - api(API请求地址,不带参数) - code(返回状态码) - detector_app_version(客户端版本) - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - release(版本号) - sr(屏幕分辨率) | - count(错误次数) - avg_time(失败耗时均值) |
webstat.apimsg | API消息聚类 | - code(返回状态码) - detector_app_version(客户端版本) - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - msg(错误信息) - release(版本号) - sr(屏幕分辨率) - success(1表示请求成功,0表示请求失败) | count(请求次数) |
webstat.avg | 自定义统计:均值统计 | - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - key(自定义Key) - sr(屏幕分辨率) | - count(总次数) - pv(页面浏览量) - uv(用户访问量) - avg_val(平均值) |
webstat.errcate | 错误聚类排行 | - msg(错误信息) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - sr(屏幕分辨率) - release(版本号) - environment(环境) - detector_app_version(客户端版本) - detector_app(客户端App) | count(错误次数) |
webstat.index | 总览(访问量) | - ct(网络制式) - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_isp(运营商) - ip_region_id(中国省市ID) - page(页面地址) - sr(屏幕分辨率) | - pv(页面浏览量) - uv(独立访客) |
webstat.msg.top | 页面高频错误 | - msg(错误信息) - page(页面地址) | - count(错误次数) - error_uv(影响用户数) - 影响用户率(影响用户数÷总UV) |
webstat.perf.bucket | 对应ARMS前端监控控制台的访问速度页面上的性能样本分层图。 | - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - page(页面地址) - sr(屏幕分辨率) | - cfpt(自定义首屏) - ctti(自定义首次可交互) - dns(DNS查询耗时) - dom(DOM解析耗时) - fmp(首屏时间) - fpt(首次渲染时间) - load(页面完全加载时间) - ready(DOM Ready时间) - res(资源加载耗时) - ssl(SSL安全连接耗时) - t1~t10(自定义性能指标) - tcp(TCP连接耗时) - trans(内容传输耗时) - ttfb(请求响应耗时) - tti(首次可交互时间) |
webstat.perf.distribution | 对应ARMS前端监控控制台的访问速度页面上的性能分层图。 | - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - page(页面地址) - sr(屏幕分辨率) | - cfpt(自定义首屏) - ctti(自定义首次可交互) - dns(DNS查询耗时) - dom(DOM解析耗时) - fmp(首屏时间) - fpt(首次渲染时间) - load(页面完全加载时间) - ready(DOM Ready时间) - res(资源加载耗时) - ssl(SSL安全连接耗时) - t1~t10(自定义性能指标) - tcp(TCP连接耗时) - trans(内容传输耗时) - ttfb(请求响应耗时) - tti(首次可交互时间) |
webstat.resource | 资源错误排行 | - ct(网络制式) - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_isp(运营商) - ip_region_id(中国省市ID) - node_name(错误类型) - page(页面地址) - sr(屏幕分辨率) - src(资源信息) | count(资源错误数) |
webstat.resource | 对应ARMS前端监控控制台的总览页面的资源弹层。 | - ct(网络制式) - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_isp(运营商) - ip_region_id(中国省市ID) - node_name(错误类型) - page(页面地址) - sr(屏幕分辨率) - src(资源信息) | count(错误次数) |
webstat.satisfy | 满意度 | - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - page(页面地址) - sr(屏幕分辨率) | - bad(不满意:fpt>8000) - good(满意:fpt<2000) - neutral(可容忍:fpt>2000且fpt<8000) - satisfy(满意指数) |
webstat.session | 慢加载追踪 | 无 | - browser_version(浏览器版本) - browser(浏览器) - date(开始时间) - dom(DOM解析耗时) - ip_country_id(国家ID或区域ID) - ip_country(中国省市) - ip_region_id(中国省市ID) - ip_region(国家或区域) - load(页面完全加载) - page(页面地址) - sid(会话ID) |
webstat.speed | 访问速度 | - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - release(版本号) - sr(屏幕分辨率) - page(页面地址) - environment(环境) | - avg_cfpt(自定义首屏) - count(样本量) - avg_ctti(自定义首次可交互) - avg_dns(DNS查询耗时) - avg_dom(DOM解析耗时) - avg_fmp(首屏时间) - avg_fpt(首次渲染时间) - avg_load(页面完全加载时间) - avg_ready(DOM Ready时间) - avg_res(资源加载耗时) - avg_ssl(SSL安全连接耗时) - avg_t1~t10(自定义性能指标) - avg_tcp(TCP连接耗时) - avg_trans(内容传输耗时) - avg_ttfb(请求响应耗时) - avg_tti(首次可交互时间) |
webstat.stable | 错误率排行 | - page(页面地址) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - sr(屏幕分辨率) - msg(错误信息) - release(版本号) - environment(环境) - detector_app_version(客户端版本) - detector_app(客户端App) | - count(样本量) - error_pv(错误样本量) - rate(JS错误率) |
webstat.sum | 自定义统计:求和统计 | - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - key(自定义key) - sr(屏幕分辨率) | - count(总次数) - pv(页面浏览量) - sum_val(总和) - uv(独立访客) |
webstat.url | 访问的URL | - detector_browser(浏览器) - detector_device(设备) - detector_os(操作系统) - ip_country_id(国家ID或区域ID) - ip_region_id(中国省市ID) - sr(屏幕分辨率) - uid - username(用户名) | - pv(页面浏览量) - uv(独立访客) |
返回参数
返回示例
{
"RequestId": "687F9CB7-4798-57BF-A6EE-E6CC76******",
"Data": {
"PageSize": 1,
"Total": 87,
"Page": 1,
"Items": [
{
"date": 1667287680000,
"instanceCount": 17,
"rule": "query1",
"pid": "null"
},
{
"date": 1667290680000,
"instanceCount": 17,
"rule": "query1",
"pid": "null"
}
]
},
"Code": 200,
"Success": true
}
示例
正常返回示例
JSON
格式
{
"Code": "200",
"Message": "StartTime is mandatory for this action.",
"RequestId": "687F9CB7-4798-57BF-A6EE-E6CC76******",
"Success": true,
"Data": {
"PageSize": 1,
"Total": 2,
"Page": 1,
"Completed": false,
"Items": [
[]
]
}
}
错误码
HTTP status code | 错误码 | 错误信息 | 描述 |
---|---|---|---|
400 | ParameterMetricIllegal | The specified metric is invalid. | 参数metric非法 |
400 | ParameterMeasuresIllegal | The specified Measures is invalid. | Measures非法 |
400 | ParameterTimeStampIllegal | The specified timeStamp is invalid. | 时间参数非法 |
400 | ParameterOrderIllegal | The specified order is invalid. | 参数order非法 |
400 | ParameterZeroStrategyIllegal | The specified zeroStrategy is invalid. | 参数zeroStrategy非法 |
400 | ParameterPageSizeIllegal | The specified PageSize is invalid. | PageSize非法 |
400 | ParameterIntervalIllegal | The specified interval is invalid. | 参数Interval非法 |
400 | ParameterMeasuresMissing | You must specify measures. | 参数measures缺失 |
400 | ParameterDimensionsIllegal | The specified dimensions is invalid. | Dimensions非法 |
400 | ParameterPidMissing | You must specify pid. | 参数pid缺失 |
400 | ParameterRegionIdIllegal | The specified RegionId is invalid. | RegionId非法 |
400 | InternalError | Internal error. Please try again. Contact the DingTalk service account if the issue persists after multiple retries. | 内部错误,建议重试。如果多次重试报错请联系钉钉服务账号。 |
403 | APINotAuthorize | The current user is not authorized to access the interface. | 当前用户无权限访问该接口 |
404 | AppNotExist | The application does not exist. | 应用不存在 |
访问错误中心查看更多错误码。
变更历史
变更时间 | 变更内容概要 | 操作 | ||||||||
---|---|---|---|---|---|---|---|---|---|---|
2023-08-14 | OpenAPI 错误码发生变更 | 看变更集 | ||||||||
| ||||||||||
2023-06-09 | OpenAPI 返回结构发生变更 | 看变更集 | ||||||||
| ||||||||||
2021-10-09 | OpenAPI 入参发生变更 | 看变更集 | ||||||||
| ||||||||||
2021-10-09 | OpenAPI 入参发生变更 | 看变更集 | ||||||||
|
前端监控常见问题
- 调用时为什么会出现RAM的权限问题? 这可能是由于该RAM角色没有权限,您可以为用户添加权限,请参见借助RAM角色实现跨云账号访问资源。
- 怎么拉取列表数据(不考虑时间粒度)? 将intervalInSec设置为2147483647。
- 为什么返回的数据值都为0?
- 请检查时间间隔是否设置过小,intervalInSec需要大于或等于60,000。
- 请检查regionId是否设置正确,该regionId是根据日志接收的服务端划分的地域,而不是用户所在的地域,您可以根据项目的上报日志地址来区分regionId:
- 华东1(杭州)地域前端监控上报日志地址:
https://arms-retcode.aliyuncs.com/r.png?
。 - 新加坡地域前端监控上报日志地址:
https://arms-retcode-sg.aliyuncs.com/r.png?
。 - 美国(硅谷)地域前端监控上报日志地址:
https://retcode-us-west-1.arms.aliyuncs.com/r.png?
。
- 华东1(杭州)地域前端监控上报日志地址:
- 在调用模拟器或代码接口时为什么会报错?
- 请检查regionId是否已填写,filters中是否已添加pid。
- 查看对应指标的measures或dimensions是否正确,请参见上文可查询的前端监控指标。
- 报错信息以及对应解决方案
- Metric查询错误,请联系管理员。
- 请检查Metric字段是否正确。
- 请检查measures或dimensions是否正确。
- 请检查filters中是否已添加pid。
- InvalidIntervalInSec 请检查intervalInSec是否超过最大值(2147483647)。
- MissingMeasures 请检查measures是否已填写。
- NonsequenceParameter.Dimensions
- 请检查dimensions是否已填写正确。
- 请检查模拟器dimensions是否有多余的空格。
- ServiceUnavailable 请检查regionId是否正确。
- 前端监控地域不合法
请检查regionId是否设置正确,该regionId是根据日志接收的服务端划分的地域,而不是用户所在的地域,您可以根据项目的上报日志地址来区分regionId:
- 华东1(杭州)地域前端监控上报日志地址:
https://arms-retcode.aliyuncs.com/r.png?
。 - 新加坡地域前端监控上报日志地址:
https://arms-retcode-sg.aliyuncs.com/r.png?
。 - 美国(硅谷)地域前端监控上报日志地址:
https://retcode-us-west-1.arms.aliyuncs.com/r.png?
。
- 华东1(杭州)地域前端监控上报日志地址:
- Metric查询错误,请联系管理员。
- 为什么数据集中会缺失一些 measures或dimensions参数? 因为最多可设置5个measures和dimensions,如果超过5个,将导致参数无法返回。
- 为什么一些指标的总数在聚合后明显少于未聚合时?例如:webstat.index聚合后求和的pv总数比未聚合时得到的pv总数少。 因为POP网关的限制,超出10,000条的数据将被去除,所以当聚合造成数据量超过限制时,返回的数据量比实际的量小,因此指标求和的总数会明显减少。您需要将每次请求后返回的数据量控制在10,000条以内,以获得准确的数据。