文档

DoInsightsAction - 访问Insights相关的各种子功能

更新时间:

根据参数指定的模块类型,执行相应的动作

调试

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

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
arms:DoInsightsActionget
  • 全部资源
    *

请求参数

名称类型必填描述示例值
Modulestring

模块类型

  • QueryTopo

    拓扑查询功能,拓扑由边和节点构成,每条边都有其对应的类型,每个节点都拥有一个对应的实体,每个实体都有其类型。通过设置边的类型、节点的类型,查询时间范围等过滤参数,可以过滤出需要的拓扑数据。

  • QueryTopoRed

    拓扑 RED 指标(请求数、耗时、错误数)查询。在查询拓扑时,开启了指标查询选项的情况下,可能会由于拓扑过大导致无法查出所有的指标数据。此功能用于让使用者主动查询指定节点、指定边的指标数据。

注意: 上述功能尚处于灰度中,默认不开启,如需要开启请联系 arms 值班号。

枚举值:
  • QueryTopoRed拓扑RED指标查询
  • QueryTopo拓扑查询
QueryTopo
Datastring

查询参数,不同模块类型对应的查询参数不同。

  • QueryTopo
{
    "regionId": string,  #区域 ID
    "startTime": string, #开始时间 格式为 yyyy-MM-dd HH:mm:ss
    "endTime": string, #结束时间 格式为 yyyy-MM-dd HH:mm:ss
    "edgeFilter": { #边过滤条件
        "includeTypes": [enum], #需包含的边类型
        "excludeTypes": [enum], #需排除的边类型
        "fromNodeFilter": { #源节点过滤条件
            "includeEntityTypes": [enum] #需包含的实体类型
            "excludeEntityTypes": [enum] #需排除的实体类型
        },
        "toNodeFilter": {  #目标节点过滤条件
            "includeEntityTypes": [enum] #需包含的实体类型
            "excludeEntityTypes": [enum] #需排除的实体类型
        }
    },
    "includeIsolatedNodes": boolean, #是否包含孤立节点
    "isolatedNodeFilter": { # 孤立节点过滤条件
        "includeEntityTypes": [enum] #需包含的实体类型
        "excludeEntityTypes": [enum] #需排除的实体类型
     },
    "queryMetrics": boolean, # 查询指标时,是否同步查询相关 RED 指标
    "timeoutSecs": int, # 指标查询超时时间
	"redOption": { #指标查询控制选项
		"skipRt": boolean,  # 是否跳过查询 RT 指标
		"skipCount": boolean, # 是否跳过查询请求数指标
		"skipError": boolean # 是否跳过查询错误数指标
	}
}

  • QueryTopoRed
{
    "regionId": string,  #区域 ID
    "startTime": string, #开始时间 格式为 yyyy-MM-dd HH:mm:ss
    "endTime": string,   #结束时间 格式为 yyyy-MM-dd HH:mm:ss
    "edgeIds": [string]  #待查询的边 id
    "nodeIds": [string]  #待查询的节点 id
    "redOption": { #指标查询控制选项
        "skipRt": boolean,  # 是否跳过查询 RT 指标
        "skipCount": boolean, # 是否跳过查询请求数指标
        "skipError": boolean # 是否跳过查询错误数指标
    }
}

- QueryTopo { "regionId": "cn-hangzhou", "startTime": "2024-07-23 19:16:00", "endTime": "2024-07-23 20:16:00", # 限定拓扑查询范围为 2024-07-23 19:16:00至2024-07-23 20:16:00 "edgeFilter": { "includeTypes": [ "CALLS" # 限定结果拓扑中仅包含调用关系的边 ], "fromNodeFilter": { "includeEntityTypes": [ # 限定调用边的源节点类型必须为应用类型 "APPLICATION" ] }, "toNodeFilter": { "includeEntityTypes": [ # 限定调用边的目标节点必须为应用类型或者外部服务类型 "APPLICATION", "EXTERNAL_SERVICE" ] } }, "includeIsolatedNodes": false, # 结果拓扑中不包含孤立节点 "queryMetrics": true, # 同步查询RED指标 "timeoutSecs": 20, #最多用20秒来查询指标数据 "redOption": { # 查询的指标包括耗时、请求量,跳过错误数的查询 "skipRt": false, "skipCount": false, "skipError": true } } - QueryTopoRed { "regionId": "cn-hangzhou", "startTime": "2024-07-23 10:00:00", "endTime": "2024-07-23 14:00:00", "edgeIds": [ "097843bd50b06fbe2c6c1d8b761a7e8b" ], "nodeIds": [ "23d973261c6923da1b5b7a571ec1aa8b" ], "redOption": { # 查询的指标包括耗时、请求量,跳过错误数的查询 "skipCount": false, "skipError": true, "skipRt": false } }

拓扑由边和节点构成,每条边都有其对应的类型,每个节点都拥有一个对应的实体,每个实体都有其类型。通过设置边的类型,节点的类型,查询时间范围等参数,可以过滤出需要的拓扑数据。

  • 孤立节点

    孤立节点指该节点与其他节点不存在任何关系

当字段类型为 enum 时,表示该字段的值来源于枚举,枚举的定义参见补充说明

返回参数

名称类型描述示例值
object

Schema of Response

RequestIdstring

Id of the request

626037F5-FDEB-45B0-804C-B3C92797A64E
Codeinteger

状态码。200 为成功,其他状态码为异常。

200
Successboolean

查询是否成功:

  • true:成功。
  • false:失败。
true
Messagestring

调用失败时返回的信息。

success
Datastring

返回参数类型与传入的 module 值相关。

  • QueryTopo

    {
     "nodes": [Object] #节点集合,详见返回参数补充说明中的 Node 定义
     "edges": [Object] #边集合,详见返回参数补充说明中的 Edge 定义
    }
    
  • QueryTopoRed

    {
      "nodeRed": {
      	"nodeId": {
      		"count": double, #查询时段的总请求数
      		"error": double, #查询时段的总错误数
      		"rt": double, #查询时段的平均耗时,单位毫秒
      	}
      },
      "edgeRed": {
      	"edgeId": {
      	    "count": double, #查询时段的总请求数
      		"error": double, #查询时段的总错误数
      		"rt": double, #查询时段的平均耗时,单位毫秒
      	}
      }
    

}

- QueryTopo { "nodes": [ { "nodeId": "3bfe1a747389273388182760406c079d", "entity": { "regionId": "cn-hangzhou", "appType": "TRACE", "appId": "xxxxxxxxxxxxxxxx", "name": "prometheus-pop-cn-hangzhou", "entityId": "3bfe1a747389273388182760406c079d", "firstSeenTms": 1721733226981, "lastSeenTms": 1721789171614, "type": "APPLICATION" }, "attrs": { "RED": { "count": 643848.0, "error": 0.0, "rt": 172.31701892372112 } } } ], "edges": [ { "from": "98b4184b22e588cf86e9a29aa4179606", "to": "98b4184b22e588cf86e9a29aa4179606", "type": "CALLS", "attrs": { "RED": { "count": 4.0, "error": 0.0, "rt": 37.0 } }, "edgeId": "5d611597e4b0013d0947615c9eca4de6", "firstSeenTms": 1721783795125, "lastSeenTms": 1721787371614 } ] } - QueryTopoRed { "nodeRed": { "361d9f32e58cef316bf2355f3ff05575": { "count": 3258110.0, "error": 74.0, "rt": 167.39844355494878 } }, "edgeRed": {} }
  • Node 定义

     {
     	"nodeId": string, #节点 ID
     	"entity": Object, #实体信息 根据 type 的不同,字段会有不同的差异,详见补充说明中的 实体信息             
     	"attrs": { #扩展属性信息 
     		"RED": { # RED 指标
     			"count": double, #查询时段的总请求量
     			"error": double, #查询时段的总错误数
     			"rt": double, # 查询时段的平均耗时,单位毫秒
     		}
     	}
     }
    
  • Edge 定义

     	{
     	"from": string, #节点 ID
     	"to": string,   #节点 ID
     	"type": enum, #详见补充说明中的 边类型
     	"attrs": { #扩展属性信息
     		"RED": { # RED 指标
     			"count": double, #查询时段的总请求量
     			"error": double, #查询时段的总错误数
     			"rt": double,    #查询时段的平均耗时,单位毫秒
     		}
     	},
     	"edgeId": string, #边 ID
     	"firstSeenTms": long, #第一次发现该边的时间,毫秒时间戳
     	"lastSeenTms": long,  #最后一次发现该边的时间,毫秒时间戳
     }
    
    

示例

正常返回示例

JSON格式

{
  "RequestId": "626037F5-FDEB-45B0-804C-B3C92797A64E",
  "Code": 200,
  "Success": true,
  "Message": "success",
  "Data": "- QueryTopo\n\n\n\t{\n\t\t\"nodes\": [\n\t\t\t{\n\t\t\t\t\"nodeId\": \"3bfe1a747389273388182760406c079d\",\n\t\t\t\t\"entity\": {\n\t\t\t\t\t\"regionId\": \"cn-hangzhou\",\n\t\t\t\t\t\"appType\": \"TRACE\",\n\t\t\t\t\t\"appId\": \"xxxxxxxxxxxxxxxx\",\n\t\t\t\t\t\"name\": \"prometheus-pop-cn-hangzhou\",\n\t\t\t\t\t\"entityId\": \"3bfe1a747389273388182760406c079d\",\n\t\t\t\t\t\"firstSeenTms\": 1721733226981,\n\t\t\t\t\t\"lastSeenTms\": 1721789171614,\n\t\t\t\t\t\"type\": \"APPLICATION\"\n\t\t\t\t},\n\t\t\t\t\"attrs\": {\n\t\t\t\t\t\"RED\": {\n\t\t\t\t\t\t\"count\": 643848.0,\n\t\t\t\t\t\t\"error\": 0.0,\n\t\t\t\t\t\t\"rt\": 172.31701892372112\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t],\n\t\t\"edges\": [\n\t\t\t{\n\t\t\t\t\"from\": \"98b4184b22e588cf86e9a29aa4179606\",\n\t\t\t\t\"to\": \"98b4184b22e588cf86e9a29aa4179606\",\n\t\t\t\t\"type\": \"CALLS\",\n\t\t\t\t\"attrs\": {\n\t\t\t\t\t\"RED\": {\n\t\t\t\t\t\t\"count\": 4.0,\n\t\t\t\t\t\t\"error\": 0.0,\n\t\t\t\t\t\t\"rt\": 37.0\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"edgeId\": \"5d611597e4b0013d0947615c9eca4de6\",\n\t\t\t\t\"firstSeenTms\": 1721783795125,\n\t\t\t\t\"lastSeenTms\": 1721787371614\n\t\t\t}\n\t\t]\n\t}\n\n\n- QueryTopoRed\n\n\t{\n\t\t\"nodeRed\": {\n\t\t\t\"361d9f32e58cef316bf2355f3ff05575\": {\n\t\t\t\t\"count\": 3258110.0,\n\t\t\t\t\"error\": 74.0,\n\t\t\t\t\"rt\": 167.39844355494878\n\t\t\t}\n\t\t},\n\t\t\"edgeRed\": {}\n\t}\n\n"
}

错误码

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

变更历史

变更时间变更内容概要操作
2024-07-31OpenAPI 入参发生变更查看变更详情
2024-07-30OpenAPI 入参发生变更查看变更详情
  • 实体类型

    • APPLICATION 应用实体,即常规的应用
    • RPC 接口实体
    • EXTERNAL_SERVICE 外部服务, 所有非 APM 可观测的服务,比如数据库服务、Redis 服务等
    • APPLICATION_INST 应用实例实体,即运行应用的具体实例
  • 边类型

    • CALLS 指源节点的实体调用了目标节点的实体

    • CONTAINS 指源节点的实体拥有目标节点的实体

    • RUNS_ON 指源节点的实体运行在目标节点的实体上

  • 实体

    • APPLICATION

      • entityId string #实体 ID
      • firstSeenTms long #第一次发现该实体的时间,毫秒时间戳
      • lastSeenTms: long #最后一次发现该实体的时间,毫秒时间戳
      • type enum # 实体类型,值为 APPLICATION
      • regionId string # 应用部署区域
      • appType enum # 应用类型
      • appId string # 应用 ID
      • name string # 应用名称
    • RPC

      • entityId string #实体 ID
      • firstSeenTms long #第一次发现该实体的时间,毫秒时间戳
      • lastSeenTms: long #最后一次发现该实体的时间,毫秒时间戳
      • type enum # 实体类型,值为 RPC
      • regionId string # 应用部署区域
      • appType enum # 接口所属应用的应用类型
      • appId string # 接口所属应用的 id
      • appName string #接口所属应用的名称
      • rpcType enum #接口类型
      • rpc string #接口名称
    • ExternalService

      • entityId string #实体 ID
      • firstSeenTms long #第一次发现该实体的时间,毫秒时间戳
      • lastSeenTms: long #最后一次发现该实体的时间,毫秒时间戳
      • type enum # 实体类型,值为 EXTERNAL_SERVICE
      • rpcType enum #服务类型
      • serverAddr string #服务地址
    • ApplicationInstance

      • entityId string #实体 ID
      • firstSeenTms long #第一次发现该实体的时间,毫秒时间戳
      • lastSeenTms: long #最后一次发现该实体的时间,毫秒时间戳
      • type enum # 实体类型,值为 APPLICATION_INST
      • regionId string # 实例部署区域
      • appType enum # 应用类型
      • appId string # 应用 id
      • appName string 应用名称
      • ip string #实例 IP
      • agentInfo Object # 实例元信息
  • 应用类型

    • RUM 前端应用
    • XTRACE 通过 Opentelemetry 探针接入的应用
    • TRACE 通过 ARMS 探针接入的应用
    • EBPF 通过 EBPF 探针接入的应用
  • 接口类型

    待补充

  • 外部服务类型

    待补充

  • 实例元信息

    待补充