调用QueryMetricByPage接口分页查询应用监控或前端监控的相关监控指标。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String QueryMetricByPage

系统规定参数。取值:QueryMetricByPage

IntervalInSec Integer 60000

数据片的时间间隔,单位为毫秒,最小值为60000。

StartTime Long 1595319532000

起始时间的时间戳,精确到毫秒。

EndTime Long 1596183532000

结束时间的时间戳,精确到毫秒。

OrderBy String rpc

排序依据,可设为任一测量数据。

Metric String webstat.index

需要查询的指标,不可自定义输入,请参见下文补充说明。

Order String ASC

排序标准。取值:

  • ASC:升序。
  • DESC:降序。
说明 不填则不排序。
CurrentPage Integer 1

查询结果的页码,默认为1

PageSize Integer 10

此参数已不支持使用。查询结果的每页项目数量。

Filters.N.Key String pid

筛选条件组合,必须添加pidregionId条件。

Filters.N.Value String xxx@74xxx

筛选条件组合,必须添加pidregionId值,pid获取方式,请参见下文补充说明。

Dimensions.N String ["detector_browser","detector_device"]

指标对应的维度,请参见下文补充说明。最多可添加5个。

Measures.N String pv

指标对应的测量数据,请参见下文补充说明。最多可添加5个。

CustomFilters.N String ["not rpcType:40","not rpcType:41"]

自定义过滤条件,多个过滤条件之间使用半角逗号(,)分隔。

如何获取应用pid

在ARMS控制台左侧导航栏选择应用监控 > 应用列表前端监控 > 前端列表,然后单击目标应用名称,以进入应用的总览页面。

此时浏览器地址栏中的URL即包含前端应用的pid,格式为pid=xxx。由于浏览器进行了编码,应用需要对xxx%40xxx格式的pid稍作修改。例如,如果URL中包含的pid为eb4zdose6v%409781be0f44d****,则需要将%40替换为@,即:eb4zdose6v@9781be0f44d****

可查询的应用监控指标

说明 请求参数Filters必须添加pidregionId条件。已知具体的查询条件时,应将值传入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:错误数
  • slow:慢调用次数
  • 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:请求数

可查询的前端监控指标

您可以使用QueryMetric接口查询前端监控的以下指标。

说明 请求参数Filters必须添加pidregionId条件。已知具体的查询条件时,应将值传入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(独立访客)

返回数据

名称 类型 示例值 描述
Code String 200

接口状态,取值说明如下:

  • 2XX:成功。
  • 3XX:重定向。
  • 4XX:请求错误。
  • 5XX:服务器错误。
Message String StartTime is mandatory for this action.

调用失败时返回的信息。

RequestId String 626037F5-FDEB-45B0-804C-B3C92797****

请求ID。

Success Boolean true

查询是否成功:

  • true:成功。
  • false:失败。
Data Object

返回结构体。

PageSize Integer 10

查询结果的每页项目数量。

Total Integer 0

查询结果的总项目数量。

Page Integer 1

查询结果的页码。

Items Array of Object []

返回数据的数据结构体列表。

示例

请求示例

http(s)://[Endpoint]/?Action=QueryMetricByPage
&IntervalInSec=60000
&StartTime=1595319532000
&EndTime=1596183532000
&OrderBy=rpc
&Metric=webstat.index
&Order=ASC
&CurrentPage=1
&PageSize=10
&Filters=[{"Key":"pid","Value":"xxx@74xxx"}]
&Dimensions=["[\"detector_browser\",\"detector_device\"]"]
&Measures=["pv"]
&CustomFilters=["[\"not rpcType:40\",\"not rpcType:41\"]"]
&公共请求参数

正常返回示例

XML格式

HTTP/1.1 200 OK
Content-Type:application/xml

<QueryMetricByPageResponse>
    <Code>200</Code>
    <Message>StartTime is mandatory for this action.</Message>
    <RequestId>626037F5-FDEB-45B0-804C-B3C92797****</RequestId>
    <Success>true</Success>
    <Data>
        <PageSize>10</PageSize>
        <Total>0</Total>
        <Page>1</Page>
        <Items/>
    </Data>
</QueryMetricByPageResponse>

JSON格式

HTTP/1.1 200 OK
Content-Type:application/json

{
  "Code" : "200",
  "Message" : "StartTime is mandatory for this action.",
  "RequestId" : "626037F5-FDEB-45B0-804C-B3C92797****",
  "Success" : true,
  "Data" : {
    "PageSize" : 10,
    "Total" : 0,
    "Page" : 1,
    "Items" : [ null ]
  }
}

错误码

访问错误中心查看更多错误码。

前端监控常见问题

  • 调用时为什么会出现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?
  • 在调用模拟器或代码接口时为什么会报错?
    • 请检查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?
  • 为什么数据集中会缺失一些 measures或dimensions参数?

    因为最多可设置5个measures和dimensions,如果超过5个,将导致参数无法返回。

  • 为什么一些指标的总数在聚合后明显少于未聚合时?例如:webstat.index聚合后求和的pv总数比未聚合时得到的pv总数少。

    因为POP网关的限制,超出10,000条的数据将被去除,所以当聚合造成数据量超过限制时,返回的数据量比实际的量小,因此指标求和的总数会明显减少。您需要将每次请求后返回的数据量控制在10,000条以内,以获得准确的数据。