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

调试

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

请求参数

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

系统规定参数,取值为QueryMetricByPage

EndTime Long 1596183532000

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

IntervalInSec Integer 60000

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

Measures.N RepeatList pv 指标对应的测量数据,详情请参考可查询的应用监控指标。最多可添加5个。
Metric String webstat.index 需要查询的指标,不可自定义输入,详情请参考可查询的应用监控指标
StartTime Long 1595319532000

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

OrderBy String rpc

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

Filters.N.Key String pid 筛选条件组合,必须添加pidregionId条件,pid获取方式请参考如何获取应用pid
Filters.N.Value String xxx@74xxx 筛选条件组合,必须添加pidregionId条件,pid获取方式请参考如何获取应用pid
Dimensions.N RepeatList ["detector_browser","detector_device"] 指标对应的维度,详情请参考可查询的应用监控指标。最多可添加5个。
Order String ASC

排序标准:

  • ASC:升序
  • DESC:降序
RegionId String cn-hangzhou

地域ID。

CurrentPage Integer 1

查询结果的页码。非必填参数,如果不填写则默认为1

PageSize Integer 10

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

如何获取应用pid

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

此时浏览器地址栏中的URL即包含应用的pid,格式为pid=xxx。由于浏览器进行了编码,除EDAS应用之外的其他应用需要对pid稍作修改。例如,如果URL中包含的pid为xxx%4074xxx,则需要将%40替换为@,即:xxx@74xxx

返回数据

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

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

  • 2XX:成功
  • 3XX:重定向
  • 4XX:请求错误
  • 5XX:服务器错误
Data Struct

返回结构体

Items List []

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

Page Integer 1

查询结果的页码

PageSize Integer 10

查询结果的每页项目数量

Total Integer 0

查询结果的总项目数量

Message String message

返回的信息

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

请求ID

Success Boolean true

查询是否成功:

  • true:成功
  • false:失败

可查询的应用监控指标

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

说明 已知具体的查询条件时,应将值传入filters参数中,用于限定查询结果的范围。如果不知道具体的查询条件,可以将下表中的维度传入dimensions参数,从而获得该维度所有可能值的列表。
指标集(Metric) 描述(Description) 维度(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耗时瞬时值
堆内存和非堆内存详情:
  • edenSpace //年轻代-eden区
  • oldGen //老年代
  • survivorSpace //年轻代-survivor区
  • metaSpace
  • nonHeapCommitted //非堆内存
  • nonHeapInit //非堆内存初始值
  • nonHeapMax //非堆内存最大值
  • nonHeapUsed //非堆内存使用量
  • directUsed //直接缓冲区
  • directCapacity //直接缓冲区
线程数:
  • threadCount
  • threadNewCount
  • threadDeadlockCount
  • threadRunnableCount
  • threadTerminatedCount
  • threadTimedWaitCount
  • threadWaitCount
  • threadBlockedCount
appstat.host 主机监控,包括实例数、CPU、物理内存、磁盘、负载、网络流量(Bytes)和网络数据包数量。
  • pid
  • rootIp
实例数:
  • instanceCount
CPU:
  • systemCpuIdle //页面未展示 - CPU空等待
  • systemCpuSystem
  • systemCpuUser
  • systemCpuIoWait
物理内存:
  • systemMemFree
  • systemMemUsed
  • systemMemTotal //页面未展示 - 系统内存总计
  • systemMemBuffers
  • systemMemCached //页面缓存
磁盘:
  • systemDiskFree
  • systemDiskUsed
  • systemDiskTotal // 公共云控制台页面未展示
负载:
  • systemLoad
网络:
  • systemNetInPackets
  • systemNetOutPackets
  • systemNetInErrs
  • systemNetOutErrs
  • systemNetInBytes
  • systemNetOutBytes
appstat.database 数据库调用。
  • pid
  • rpcType //调用类型
  • endpoint // 数据库地址:localhost: 3306
  • destId // 库名:arms
  • rt // 响应时间
  • count // 请求数
  • error // 错误数
appstat.txn 接口调用。
  • pid
  • rpcType
  • rpc// 接口:/demo/oracleTwo
  • rt
  • count
  • error
  • errRate // 错误率
appstat.incall 应用详情。
  • pid
  • rpcType
  • rootIp
  • rpc
  • ppid
  • rt
  • count
  • error
appstat.exception 异常。
  • pid
  • rpc
  • endpoint
  • excepType
  • excepInfo
  • rt
  • count
appstat.sql 慢SQL。
  • pid
  • rpc
  • endpoint
  • sqlId
  • rt
  • count
  • error
  • slow
说明 slow=true时,limit条件不生效。
appstat.mq.send MQ发送。
  • rt
  • count
  • error
appstat.mq.receive MQ接收。
  • rt
  • count
  • error

示例

请求示例

http(s)://[Endpoint]/?Action=QueryMetricByPage
&EndTime=1596183532000
&IntervalInSec=60000
&Measures.1=pv
&Metric=webstat.index
&StartTime=1595319532000
&<公共请求参数>

正常返回示例

XML 格式

<QueryMetricByPageResponse>
      <RequestId>626037F5-FDEB-45B0-804C-B3C92797****</RequestId>
      <Message>message</Message>
      <Data>
            <PageSize>10</PageSize>
            <Total>0</Total>
            <Page>1</Page>
            <Items>[]</Items>
      </Data>
      <Code>200</Code>
      <Success>true</Success>
</QueryMetricByPageResponse>

JSON 格式

{
    "RequestId": "626037F5-FDEB-45B0-804C-B3C92797****",
    "Message": "message",
    "Data": {
        "PageSize": 10,
        "Total": 0,
        "Page": 1,
        "Items": "[]"
    },
    "Code": 200,
    "Success": true
}