全部产品
Search
文档中心

Alibaba Cloud Linux:InvokeDiagnosis - 发起诊断

更新时间:Sep 11, 2026

发起诊断。

接口说明

对目标 ECS 实例进行诊断有如下要求:

  • 目标 ECS 实例状态必须为运行中(Running);

  • 目标 ECS 实例必须已经安装云助手,如果未安装,请参考 安装云助手 Agent 进行安装;

  • 必须调用 AuthDiagnosis 接口授权 SysOM 对目标 ECS 进行诊断,如果没有授权本接口会直接失败;

  • 本接口依赖于 SysOM 服务关联角色(AliyunServiceRoleForSysom)已经创建,本接口不会主动创建服务角色,如果服务角色不存在需要首先调用 AuthDiagnosis 进行授权,该接口会创建前述服务角色。

调试

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

调试

授权信息

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

  • 操作:是指具体的权限点。

  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。

  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:

    • 对于必选的资源类型,用前面加 * 表示。

    • 对于不支持资源级授权的操作,用全部资源表示。

  • 条件关键字:是指云产品自身定义的条件关键字。

  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。

操作

访问级别

资源类型

条件关键字

关联操作

sysom:InvokeDiagnosis

create

*Diagnosis

acs:sysom::{#accountId}:diagnosis/*

无 无

请求语法

POST /api/v1/openapi/diagnosis/invoke_diagnosis HTTP/1.1

请求参数

名称

类型

必填

描述

示例值

body

object

否

请求体参数

channel

string

是

诊断通道(目前固定为 ecs 通道)

枚举值:

  • ecs :

    ECS 通道

ecs

params

string

是

诊断参数,不同类型的诊断要求传递不同的诊断参数,每种诊断所需的参数参见下面的请求参数补充说明。

重要 请传递 json 格式的字符串

{ "instance": "i-wz9gdv7qmdhusamc4dl01", "uid": "xxxxxxxxxxxxxx", "region": "cn-shenzhen" }

service_name

string

是

诊断类型,用于区分不同类型的诊断

枚举值:

  • iofsstat :

    IO 流量分析

  • iodiagnose :

    IO 一键诊断

  • oomcheck :

    OOM 诊断

  • diskanalysis :

    磁盘分析诊断

  • javamem :

    Java 内存诊断

  • iolatency :

    IO 时延分析

  • netjitter :

    网络抖动诊断

  • loadtask :

    系统负载诊断

  • vmcore :

    宕机诊断

  • packetdrop :

    网络丢包诊断

  • memgraph :

    内存大盘诊断

memgraph

诊断参数说明

内存大盘诊断(memgraph)参数

memgraph(内存全景分析)工具:内存全景分析适用于内存占用较高但无法明确识别具体内存占用情况的场景。通过使用内存全景分析诊断功能,可以扫描当前系统的内存占用状态,详细拆解内存使用情况。系统内存与应用内存的分布,并列出当前 Top 30 的应用内存使用、文件缓存、共享内存缓存占用情况的排序。

参数名称参数类型参数说明是否必填默认值备注
uidstring用户 UID是用户 UID
regionstring实例所在地区是实例所在地区
instancestring实例 ID是请输入你要诊断的实例 ID, 我们将在会这台机器内部发起诊断
podstringPod 名称否Pod 名称

Java 内存诊断(javamem)参数

javamem(Java 内存诊断)工具,主要用于诊断 Java 应用的内存使用情况,帮助用户了解 Java 堆内存和非堆内存的分布和组成,识别潜在的内存泄漏和内存溢出问题,实现 Java 内存的可维可测可追踪。

参数名称参数类型参数说明是否必填默认值备注
uidstring用户 UID是用户 UID
regionstring实例所在地区是实例所在地区
instancestring实例 ID是请输入你要诊断的实例 ID, 我们将在会这台机器内部发起诊断
PidstringJava 进程 Pid否Java 进程 Pid,pid 和 pod 至少提供一个
podstringPod 名称否Pod 名称,pid 和 pod 至少提供一个
durationstringJNI 内存分配 profiling 时长否JNI 内存分配 profiling 时长,执行 JNI 诊断需要填写一个非 0 的值,否则默认不执行 JNI 诊断

内存 OOM 诊断(oomcheck)参数

oomcheck(OOM 诊断)工具,主要用于分析和界定 OOM(Out of memory)问题,找出导致 OOM 的主要原因,并给出相应的处理建议,帮助用户解决 OOM 问题,提高系统的可用性和性能。

参数名称参数类型参数说明是否必填默认值备注
uidstring用户 UID是用户 UID
regionstring实例所在地区是实例所在地区
instancestring实例 ID是请输入你要诊断的实例 ID, 我们将在会这台机器内部发起诊断
podstringPod 名称否Pod 名称
timestring诊断时间否请输入需要诊断 OOM 的时间点,默认为最近一次

系统负载诊断(loadtask)参数

loadtask(系统负载诊断)工具主要分析系统在一分钟内的平均负载(load1 指标)异常原因机器详细信息。

参数名称参数类型参数说明是否必填默认值备注
uidstring用户 UID是用户 UID
regionstring实例所在地区是实例所在地区
instancestring实例 ID是请输入你要诊断的实例 ID, 我们将在会这台机器内部发起诊断

调度抖动诊断(delay)参数

delay(调度抖动诊断)工具主要分析 CPU 长时间不进行任务切换导致用户态业务进程长期得不到调度引发的问题(例如内存回收等场景)。

参数名称参数类型参数说明是否必填默认值备注
uidstring用户 UID是用户 UID
regionstring实例所在地区是实例所在地区
instancestring实例 ID是请输入你要诊断的实例 ID, 我们将在会这台机器内部发起诊断
durationstring诊断持续的时长否20诊断持续的时长(s)(可选),默认为 20 秒
thresholdstring诊断阈值否20延迟的阈值,超过这个阈值就记录,默认 20ms

IO 流量分析诊断(iofsstat)参数

iofsstat(IO 流量分析)工具主要分析系统中 IO 流量的归属,结果包含每个磁盘/分区的 IO 流量统计列表以及每个进程的 IO 流量统计列表。

参数名称参数类型参数说明是否必填默认值备注
uidstring用户 UID是用户 UID
regionstring实例所在地区是实例所在地区
instancestring实例 ID是请输入你要诊断的实例 ID,我们将在会这台机器内部发起 IO 流量统计
timeoutstring诊断时长否15诊断时长,也是 IO 流量统计周期,单位秒,建议不超过 60 秒
diskstring目标磁盘否""请输入你要诊断的磁盘,如 vda,sda,缺省为所有磁盘

IO 一键诊断(iodiagnose)参数

iodiagnose(IO 一键诊断)工具专注于高频出现的 IO 高延迟、IO Burst 及 IO Wait 等问题,支持对各种 IO 问题类型的识别,并调用相应的子工具对 IO 数据进行分析,从而提供结论和建议。

参数名称参数类型参数说明是否必填默认值备注
uidstring用户 UID是用户 UID
regionstring实例所在地区是实例所在地区
instancestring实例 ID是请输入你要诊断的实例 ID,我们将在会这台机器内部发起 IO HANG 诊断
timeoutstring诊断时长否30诊断时长(可选),默认为 30 秒,不建议低于 30 秒,单位秒

网络丢包诊断(packetdrop)参数

packetdrop(网络丢包诊断)工具主要分析数据包通过网络传输过程中,由于多种原因在操作系统内核层面发生的丢失问题。

参数名称参数类型参数说明是否必填默认值备注
uidstring用户 UID是用户 UID
regionstring实例所在地区是实例所在地区
instancestring实例 ID是请输入你要诊断的实例 ID, 我们将在会这台机器内部发起诊断

网络抖动诊断(netjitter)参数

netjitter(网络抖动诊断)工具主要分析数据包在网络传输过程中,由于多种因素引起的操作系统内核层面的不稳定现象。

参数名称参数类型参数说明是否必填默认值备注
uidstring用户 UID是用户 UID
regionstring实例所在地区是实例所在地区
instancestring实例 ID是请输入你要诊断的实例 ID, 我们将在会这台机器内部发起诊断
durationstring诊断持续的时长否20诊断持续的时长(s)(可选),默认为 20 秒
thresholdstring判定出现抖动的阈值否10判定出现抖动的阈值(ms)(可选),默认为 10ms

宕机诊断(vmcore)参数

vmcore(宕机诊断)工具主要分析操作系统崩溃的原因,通过分析内核 panic 产生的 core dump 文件,结合 dmesg 日志,分析操作系统崩溃的原因。

参数名称参数类型参数说明是否必填默认值备注
uidstring用户 UID是用户 UID
regionstring实例所在地区是实例所在地区
instancestring实例 ID是请输入你要诊断的实例 ID, 我们将在会这台机器内部发起诊断

磁盘分析诊断(diskanalysis)参数

diskanalysis(磁盘分析诊断)工具主要分析系统中磁盘的使用情况。

参数名称参数类型参数说明是否必填默认值备注
uidstring用户 UID是用户 UID
regionstring实例所在地区是实例所在地区
instancestring实例 ID是请输入你要诊断的实例 ID, 我们将在会这台机器内部发起诊断

返回参数

名称

类型

描述

示例值

object

Schema of Response

code

string

状态码

  • code == Success 则代表授权成功;

  • 其它状态码代表授权失败,授权失败时查看 message 字段获取详细的错误信息;

Success

data

object

返回结果。

task_id

string

诊断任务 ID,可以凭借该 ID 调用 GetDiagnosisResult 接口查询诊断结果

ihqhAcrt

message

string

错误信息

  • 如果 code == Success,则本字段为空;

  • 否则本字段包含请求错误信息。

SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom

request_id

string

请求 RequestId

43A910E9-A739-525E-855D-A32C257F1826

示例

正常返回示例

JSON格式

{
  "code": "Success",
  "data": {
    "task_id": "ihqhAcrt"
  },
  "message": "SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom",
  "request_id": "43A910E9-A739-525E-855D-A32C257F1826"
}

错误码

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

变更历史

更多信息,参考变更详情。