發起診斷。
介面說明
對目標 ECS 執行個體進行診斷有如下要求:
目標 ECS 執行個體狀態必須為執行中(Running);
目標 ECS 執行個體必須已經安裝雲端助手,如果未安裝,請參考 安裝雲端助手 Agent 進行安裝;
必須呼叫 AuthDiagnosis 介面授權 SysOM 對目標 ECS 進行診斷,如果未授權,本介面會直接失敗;
本介面依賴於 SysOM 服務關聯角色(AliyunServiceRoleForSysom)已經建立,本介面不會主動建立服務角色,如果服務角色不存在,需要首先呼叫 AuthDiagnosis 進行授權,該介面會建立前述服務角色。
調試
您可以在OpenAPI Explorer中直接運行該介面,免去您計算簽名的困擾。運行成功後,OpenAPI Explorer可以自動產生SDK程式碼範例。
調試
授權資訊
|
操作 |
存取層級 |
資源類型 |
條件關鍵字 |
關聯操作 |
|
sysom:InvokeDiagnosis |
create |
*Diagnosis
|
無 | 無 |
請求文法
POST /api/v1/openapi/diagnosis/invoke_diagnosis HTTP/1.1
請求參數
|
名稱 |
類型 |
必填 |
描述 |
樣本值 |
| body |
object |
否 |
請求主體參數。 |
|
| channel |
string |
是 |
診斷通道(目前固定為 ecs 通道) 枚舉值:
|
ecs |
| params |
string |
是 |
診斷參數,不同類型的診斷要求傳遞不同的診斷參數,每種診斷所需的參數請參閱下方的請求參數補充說明。 重要 請傳遞 JSON 格式的字串 |
{ "instance": "i-wz9gdv7qmdhusamc4dl01", "uid": "xxxxxxxxxxxxxx", "region": "cn-shenzhen" } |
| service_name |
string |
是 |
診斷類型,用於區分不同類型的診斷。 枚舉值:
|
memgraph |
診斷參數說明。
記憶體大盤診斷(memgraph)參數
memgraph(記憶體全景分析)工具:記憶體全景分析適用於記憶體佔用較高但無法明確認別具體記憶體佔用情況的場景。透過使用記憶體全景分析診斷功能,可以掃描目前系統的記憶體佔用狀態,詳細拆解記憶體使用情況。系統記憶體與應用程式記憶體的分布,並列出目前 Top 30 的應用程式記憶體使用、檔案快取、共用記憶體快取佔用情況的排序。
| 參數名稱 | 參數類型 | 參數說明 | 是否必填 | 預設值 | 備註 |
| uid | string | 使用者 UID | 是 | 使用者 UID | |
| region | string | 執行個體所在地區 | 是 | 執行個體所在地區 | |
| instance | string | 執行個體 ID | 是 | 請輸入您要診斷的執行個體 ID, 我們將會在這台機器內部發起診斷 | |
| pod | string | Pod 名稱 | 否 | Pod 名稱 |
Java 記憶體診斷(javamem)參數
javamem(Java 記憶體診斷)工具,主要用於診斷 Java 應用程式的記憶體使用情況,協助使用者了解 Java 堆積記憶體和非堆積記憶體的分布和組成,識別潛在的記憶體洩漏和記憶體溢位問題,實現 Java 記憶體的可維可測可追蹤。
| 參數名稱 | 參數類型 | 參數說明 | 是否必填 | 預設值 | 備註 |
| uid | string | 使用者 UID | 是 | 使用者 UID | |
| region | string | 執行個體所在地區 | 是 | 執行個體所在地區 | |
| instance | string | 執行個體 ID | 是 | 請輸入您要診斷的執行個體 ID, 我們將會在這台機器內部發起診斷 | |
| Pid | string | Java 處理程序 Pid | 否 | Java 處理程序 Pid,pid 和 pod 至少提供一個 | |
| pod | string | Pod 名稱 | 否 | Pod 名稱,pid 和 pod 至少提供一個 | |
| duration | string | JNI 記憶體分配 profiling 時長 | 否 | JNI 記憶體分配 profiling 時長,執行 JNI 診斷需要填寫一個非 0 的值,否則預設不執行 JNI 診斷 |
記憶體 OOM 診斷(oomcheck)參數
oomcheck(OOM 診斷)工具,主要用於分析和界定 OOM(Out of memory)問題,找出導致 OOM 的主要原因,並給出相應的處理建議,協助使用者解決 OOM 問題,提高系統的可用性和效能。
| 參數名稱 | 參數類型 | 參數說明 | 是否必填 | 預設值 | 備註 |
| uid | string | 使用者 UID | 是 | 使用者 UID | |
| region | string | 執行個體所在地區 | 是 | 執行個體所在地區 | |
| instance | string | 執行個體 ID | 是 | 請輸入您要診斷的執行個體 ID, 我們將會在這台機器內部發起診斷 | |
| pod | string | Pod 名稱 | 否 | Pod 名稱 | |
| time | string | 診斷時間 | 否 | 請輸入需要診斷 OOM 的時間點,預設為最近一次 |
系統負載診斷(loadtask)參數
loadtask(系統負載診斷)工具主要分析系統在一分鐘內的平均負載(load1 指標)異常原因機器詳細資訊。
| 參數名稱 | 參數類型 | 參數說明 | 是否必填 | 預設值 | 備註 |
| uid | string | 使用者 UID | 是 | 使用者 UID | |
| region | string | 執行個體所在地區 | 是 | 執行個體所在地區 | |
| instance | string | 執行個體 ID | 是 | 請輸入您要診斷的執行個體 ID, 我們將會在這台機器內部發起診斷 |
排程抖動診斷(delay)參數
delay(排程抖動診斷)工具主要分析 CPU 長時間不進行任務切換導致使用者態業務處理程序長期得不到排程引發的問題(例如記憶體回收等場景)。
| 參數名稱 | 參數類型 | 參數說明 | 是否必填 | 預設值 | 備註 |
| uid | string | 使用者 UID | 是 | 使用者 UID | |
| region | string | 執行個體所在地區 | 是 | 執行個體所在地區 | |
| instance | string | 執行個體 ID | 是 | 請輸入您要診斷的執行個體 ID, 我們將會在這台機器內部發起診斷 | |
| duration | string | 診斷持續的時長 | 否 | 20 | 診斷持續的時長(s)(可選),預設為 20 秒 |
| threshold | string | 診斷閾值 | 否 | 20 | 延遲的閾值,超過這個閾值就記錄,預設 20ms |
IO 流量分析診斷(iofsstat)參數
iofsstat(IO 流量分析)工具主要分析系統中 IO 流量的歸屬,結果包含每個磁碟/分割區的 IO 流量統計清單以及每個處理程序的 IO 流量統計清單。
| 參數名稱 | 參數類型 | 參數說明 | 是否必填 | 預設值 | 備註 |
| uid | string | 使用者 UID | 是 | 使用者 UID | |
| region | string | 執行個體所在地區 | 是 | 執行個體所在地區 | |
| instance | string | 執行個體 ID | 是 | 請輸入您要診斷的執行個體 ID,我們將會在這台機器內部發起 IO 流量統計 | |
| timeout | string | 診斷時長 | 否 | 15 | 診斷時長,也是 IO 流量統計週期,單位秒,建議不超過 60 秒 |
| disk | string | 目標磁碟 | 否 | "" | 請輸入您要診斷的磁碟,如 vda、sda,預設為所有磁碟 |
IO 一鍵診斷(iodiagnose)參數
iodiagnose(IO 一鍵診斷)工具專注於高頻出現的 IO 高延遲、IO Burst 及 IO Wait 等問題,支援對各種 IO 問題類型的識別,並呼叫相應的子工具對 IO 資料進行分析,從而提供結論和建議。
| 參數名稱 | 參數類型 | 參數說明 | 是否必填 | 預設值 | 備註 |
| uid | string | 使用者 UID | 是 | 使用者 UID | |
| region | string | 執行個體所在地區 | 是 | 執行個體所在地區 | |
| instance | string | 執行個體 ID | 是 | 請輸入您要診斷的執行個體 ID,我們將會在這台機器內部發起 IO HANG 診斷 | |
| timeout | string | 診斷時長 | 否 | 30 | 診斷時長(可選),預設為 30 秒,不建議低於 30 秒,單位秒 |
網路丟包診斷(packetdrop)參數
packetdrop(網路丟包診斷)工具主要分析資料封包透過網路傳輸過程中,由於多種原因在作業系統核心層面發生的遺失問題。
| 參數名稱 | 參數類型 | 參數說明 | 是否必填 | 預設值 | 備註 |
| uid | string | 使用者 UID | 是 | 使用者 UID | |
| region | string | 執行個體所在地區 | 是 | 執行個體所在地區 | |
| instance | string | 執行個體 ID | 是 | 請輸入您要診斷的執行個體 ID, 我們將會在這台機器內部發起診斷 |
網路抖動診斷(netjitter)參數
netjitter(網路抖動診斷)工具主要分析資料封包在網路傳輸過程中,由於多種因素引起的作業系統核心層面的不穩定現象。
| 參數名稱 | 參數類型 | 參數說明 | 是否必填 | 預設值 | 備註 |
| uid | string | 使用者 UID | 是 | 使用者 UID | |
| region | string | 執行個體所在地區 | 是 | 執行個體所在地區 | |
| instance | string | 執行個體 ID | 是 | 請輸入您要診斷的執行個體 ID, 我們將會在這台機器內部發起診斷 | |
| duration | string | 診斷持續的時長 | 否 | 20 | 診斷持續的時長(s)(可選),預設為 20 秒 |
| threshold | string | 判定出現抖動的閾值 | 否 | 10 | 判定出現抖動的閾值(ms)(可選),預設為 10ms |
當機診斷(vmcore)參數
vmcore(當機診斷)工具主要分析作業系統崩潰的原因,透過分析核心 panic 產生的 core dump 檔案,結合 dmesg 日誌,分析作業系統崩潰的原因。
| 參數名稱 | 參數類型 | 參數說明 | 是否必填 | 預設值 | 備註 |
| uid | string | 使用者 UID | 是 | 使用者 UID | |
| region | string | 執行個體所在地區 | 是 | 執行個體所在地區 | |
| instance | string | 執行個體 ID | 是 | 請輸入您要診斷的執行個體 ID, 我們將會在這台機器內部發起診斷 |
磁碟分析診斷(diskanalysis)參數
diskanalysis(磁碟分析診斷)工具主要分析系統中磁碟的使用情況。
| 參數名稱 | 參數類型 | 參數說明 | 是否必填 | 預設值 | 備註 |
| uid | string | 使用者 UID | 是 | 使用者 UID | |
| region | string | 執行個體所在地區 | 是 | 執行個體所在地區 | |
| instance | string | 執行個體 ID | 是 | 請輸入您要診斷的執行個體 ID, 我們將會在這台機器內部發起診斷 |
返回參數
|
名稱 |
類型 |
描述 |
樣本值 |
|
object |
Schema of Response |
||
| code |
string |
狀態碼
|
Success |
| data |
object |
傳回結果。 |
|
| task_id |
string |
診斷任務 ID,可憑藉此 ID 呼叫 |
ihqhAcrt |
| message |
string |
錯誤資訊
|
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"
}
錯誤碼
訪問錯誤中心查看更多錯誤碼。
變更歷史
更多資訊,參考變更詳情。