diff options
Diffstat (limited to 'data/zh_cn/sysom')
| -rw-r--r-- | data/zh_cn/sysom/2023-12-30/api-docs.php | 14439 |
1 files changed, 6418 insertions, 8021 deletions
diff --git a/data/zh_cn/sysom/2023-12-30/api-docs.php b/data/zh_cn/sysom/2023-12-30/api-docs.php index 01ce8a5..c10541f 100644 --- a/data/zh_cn/sysom/2023-12-30/api-docs.php +++ b/data/zh_cn/sysom/2023-12-30/api-docs.php @@ -1,173 +1,88 @@ <?php return [ 'version' => '1.0', - 'info' => [ - 'style' => 'ROA', - 'product' => 'SysOM', - 'version' => '2023-12-30', - ], + 'info' => ['style' => 'ROA', 'product' => 'SysOM', 'version' => '2023-12-30'], 'directories' => [ [ - 'id' => 249151, - 'title' => '告警推送', + 'children' => ['CreateInstanceInspection'], 'type' => 'directory', - 'children' => [ - 'UpdateAlertEnabled', - 'GetAlertStrategy', - 'DeleteAlertStrategy', - 'ListAlertItems', - 'ListAlertStrategies', - 'CreateAlertStrategy', - 'UpdateAlertStrategy', - ], + 'title' => '巡检', + 'id' => 445964, ], [ - 'id' => 203795, - 'title' => '热点分析', + 'children' => ['ListAlertDestinations', 'UpdateAlertDestination', 'GetAlertDestination', 'UpdateAlertEnabled', 'GetAlertStrategy', 'DeleteAlertStrategy', 'ListAlertItems', 'ListAlertStrategies', 'DeleteAlertDestination', 'CreateAlertDestination', 'CreateAlertStrategy', 'UpdateAlertStrategy'], 'type' => 'directory', - 'children' => [ - 'UpdateFuncSwitchRecord', - 'GetServiceFuncStatus', - 'GetHotSpotUniqList', - 'GetHotspotTracking', - 'GetHotspotPidList', - 'GetHotspotInstanceList', - 'GetHotspotCompare', - 'GetHotspotAnalysis', - ], + 'title' => '告警推送', + 'id' => 445967, ], [ - 'id' => 203796, - 'title' => 'AI可观测', + 'children' => ['UpdateFuncSwitchRecord', 'GetServiceFuncStatus', 'GetHotSpotUniqList', 'GetHotspotTracking', 'GetHotspotPidList', 'GetHotspotInstanceList', 'GetHotspotCompare', 'GetHotspotAnalysis'], 'type' => 'directory', - 'children' => [ - 'StartAIAnalysis', - 'GetListRecord', - 'GetAIQueryResult', - ], + 'title' => '热点分析', + 'id' => 445968, ], [ - 'id' => 203797, - 'title' => '组件管理', + 'children' => ['StartAIAnalysis', 'GetListRecord', 'GetAIQueryResult'], 'type' => 'directory', - 'children' => [ - 'GetResources', - 'GetHostCount', - 'InitialSysom', - 'ListClusters', - 'ListInstances', - 'ListPluginsInstances', - 'ListPodsOfInstance', - 'UpgradeAgentForCluster', - 'UpgradeAgent', - 'UninstallAgentForCluster', - 'UninstallAgent', - 'ListRegions', - 'ListInstancesWithEcsInfo', - 'ListInstanceStatus', - 'ListInstancesEcsInfoList', - 'ListClusterAgentInstallRecords', - 'ListAgentInstallRecords', - 'InstallAgentForCluster', - 'InstallAgent', - 'ListAgents', - 'GetAgentTask', - 'GetAgentTask', - 'GetAgent', - 'ListAllInstances', - ], + 'title' => 'AI可观测', + 'id' => 445969, ], [ - 'id' => 203798, - 'title' => '健康度', - 'type' => 'directory', 'children' => [ - 'UpdateEventsAttention', - 'ListAbnormalyEvents', - 'ListInstanceHealth', - 'InvokeAnomalyDiagnosis', - 'GetRangeScore', - 'GetProblemPercentage', - 'GetInstantScore', - 'GetHealthPercentage', - 'GetAbnormalEventsCount', + 'InstallAgentWithType', 'UninstallAgentWithType', 'UpgradeAgentWithType', 'GetResources', 'GetHostCount', 'InitialSysom', 'ListClusters', 'ListPluginsInstances', 'ListPodsOfInstance', 'UpgradeAgentForCluster', 'UpgradeAgent', 'UninstallAgentForCluster', 'UninstallAgent', 'ListInstancesWithEcsInfo', 'ListInstanceStatus', 'ListInstancesEcsInfoList', 'ListClusterAgentInstallRecords', 'ListAgentInstallRecords', 'InstallAgentForCluster', 'InstallAgent', + 'GetAgentTask', 'GetAgent', 'ListAllInstances', ], + 'type' => 'directory', + 'title' => '组件管理', + 'id' => 445970, ], [ - 'id' => 203799, - 'title' => '诊断', + 'children' => ['UpdateEventsAttention', 'ListAbnormalyEvents', 'ListInstanceHealth', 'InvokeAnomalyDiagnosis', 'GetRangeScore', 'GetProblemPercentage', 'GetInstantScore', 'GetHealthPercentage', 'GetAbnormalEventsCount'], 'type' => 'directory', - 'children' => [ - 'ListDiagnosis', - 'GetDiagnosisResult', - 'InvokeDiagnosis', - 'AuthDiagnosis', - ], + 'title' => '健康度', + 'id' => 445973, ], [ - 'id' => 203800, - 'title' => 'OS copilot', + 'children' => ['ListDiagnosis', 'GetDiagnosisResult', 'InvokeDiagnosis', 'AuthDiagnosis'], 'type' => 'directory', - 'children' => [ - 'GetCopilotHistory', - 'GenerateCopilotStreamResponse', - 'GenerateCopilotResponse', - ], + 'title' => '诊断', + 'id' => 445974, ], [ - 'id' => 204228, - 'title' => '其他', + 'children' => ['GetCopilotHistory', 'GenerateCopilotStreamResponse', 'GenerateCopilotResponse'], 'type' => 'directory', - 'children' => [ - 'CheckInstanceSupport', - 'StartAIDiffAnalysis', - 'DescribeMetricList', - 'CreateVmcoreDiagnosisTask', - 'GetVmcoreDiagnosisTask', - 'ListVmcoreDiagnosisTask', - ], + 'title' => 'OS copilot', + 'id' => 445975, ], [ - 'id' => 0, - 'title' => '其它', + 'children' => ['CheckInstanceSupport', 'StartAIDiffAnalysis', 'CreateVmcoreDiagnosisTask', 'GetVmcoreDiagnosisTask', 'ListVmcoreDiagnosisTask', 'CpuHighAgentStreamResponse', 'CreateClusterVpcEndpointConnection', 'DescribeMetricList', 'GetInspectionReport', 'ListAgents', 'ListInstances', 'ListRegions'], 'type' => 'directory', - 'children' => [ - 'CpuHighAgentStreamResponse', - ], + 'title' => '其他', + 'id' => 445976, ], ], 'components' => [ 'schemas' => [], ], 'apis' => [ - 'UpdateAlertEnabled' => [ - 'summary' => '用户更新推送告警策略的状态', - 'path' => '/api/v1/alertPusher/alert/updateEnabled', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'AuthDiagnosis' => [ + 'path' => '/api/v1/openapi/diagnosis/auth', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxJZOVCX', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ @@ -175,22 +90,28 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求体参数', + 'description' => '请求体参数。', 'type' => 'object', 'properties' => [ - 'enabled' => [ - 'description' => '告警策略是否生效', - 'type' => 'boolean', - 'required' => false, - 'example' => 'true', - ], - 'id' => [ - 'description' => '告警策略id', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', + 'instances' => [ + 'title' => '授权诊断的机器列表', + 'description' => '授权诊断的机器列表', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'instance' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9b9vucz1iubsz8sjqo'], + 'region' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + 'required' => false, + 'example' => 'i-wz9gdv7qmdhntqmc4rjd', + 'description' => '', + ], + 'required' => true, + 'docRequired' => true, ], + 'autoCreateRole' => ['title' => '是否自动创建服务角色', 'description' => '自动创建角色', 'type' => 'boolean', 'required' => false], + 'autoInstallAgent' => ['title' => '如果没有安装Agent,是否自动安装最新版本的 Agent', 'description' => '自动安装agent', 'type' => 'boolean', 'required' => false], ], 'required' => false, ], @@ -200,332 +121,101 @@ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '返回结果', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '返回数据', - 'type' => 'any', - 'example' => '{'."\n" - .' "uid": "1808078950770264",'."\n" - .' "name": "test-name",'."\n" - .' "strategy": {'."\n" - .' "items": ['."\n" - .' "节点CPU使用率检测"'."\n" - .' ],'."\n" - .' "clusters": ['."\n" - .' "cluster1"'."\n" - .' ]'."\n" - .' },'."\n" - .' "enabled": true,'."\n" - .' "id": 1,'."\n" - .' "created_at": 1753172727,'."\n" - .' "updated_at": 1753172727'."\n" - .' }', - ], + 'code' => ['title' => 'Id of the request', 'description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], + 'data' => ['description' => '本接口没有返回数据', 'type' => 'any', 'example' => '{}'], + 'request_id' => ['description' => '请求 RequestId', 'type' => 'string', 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": \\"{\\\\n \\\\\\"uid\\\\\\": \\\\\\"1808078950770264\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"test-name\\\\\\",\\\\n \\\\\\"strategy\\\\\\": {\\\\n \\\\\\"items\\\\\\": [\\\\n \\\\\\"节点CPU使用率检测\\\\\\"\\\\n ],\\\\n \\\\\\"clusters\\\\\\": [\\\\n \\\\\\"cluster1\\\\\\"\\\\n ]\\\\n },\\\\n \\\\\\"enabled\\\\\\": true,\\\\n \\\\\\"id\\\\\\": 1,\\\\n \\\\\\"created_at\\\\\\": 1753172727,\\\\n \\\\\\"updated_at\\\\\\": 1753172727\\\\n }\\"\\n}","type":"json"}]', - 'title' => '更新告警策略状态', - ], - 'GetAlertStrategy' => [ - 'summary' => '根据策略id,获取用户的一条告警', - 'path' => '/api/v1/alertPusher/alert/getStrategy', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SysomOpenAPI.NotSupportedAgentVersion', 'errorMessage' => 'Unsupported sysom agent version.', 'description' => '不支持的 SysOM 客户端版本。'], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '授权诊断', + 'summary' => '本接口用于授权 SysOM 对本账号下的 ECS 实例进行诊断,只有在调用本接口对特定的ECS进行授权后,才可以调用 InvokeDiagnosis 接口对其发起诊断。', + 'description' => '><notice>诊断功能需要在 RAM 用户下创建服务角色,调用本接口会自定检查服务角色是否创建,如果服务角色不存在则会自动创建,这要求调用本接口的 RAM 用户具有 ram:CreateServiceLinkedRole 权限</notice>'."\n" + ."\n" + .'调用本接口授权 SysOM 对 ECS 进行诊断有如下注意事项:'."\n" + .'- 一次授权有效期为 7 天,7 天之后授权会失效,需要再次调用本接口进行授权;'."\n" + .'- 调用本接口进行授权时如果SysOM服务关联角色(AliyunServiceRoleForSysom)不存在会自动创建,这要求调用本接口的RAM用户具有 `ram:CreateServiceLinkedRole` 权限。'."\n" + .'- 调用本接口对特定实例进行授权,会自动给目标ecs实例打上标签 `sysom:diagnosis`,sysom只允许对打了这个标签的实例进行诊断。', + 'changeSet' => [ + ['createdAt' => '2024-09-18T04:39:06.000Z', 'description' => '请求参数发生变更'], ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxJZOVCX', - ], + 'flowControl' => [ + 'flowControlList' => [], ], - 'parameters' => [ + 'ramActions' => [ [ - 'name' => 'id', - 'in' => 'query', - 'schema' => [ - 'description' => '策略ID', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'id' => [ - 'description' => '告警策略id', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'name' => [ - 'description' => '策略名称', - 'type' => 'string', - 'example' => 'strategy1', - ], - 'uid' => [ - 'description' => '用户ID', - 'type' => 'string', - 'example' => '1222933234714935', - ], - 'updatedAt' => [ - 'description' => '更新时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1751254826285', - ], - 'createdAt' => [ - 'description' => '创建时间。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1751520976660', - ], - 'strategy' => [ - 'description' => '告警策略详情', - 'type' => 'object', - 'properties' => [ - 'items' => [ - 'description' => '接收告警的异常项列表', - 'type' => 'any', - 'example' => '节点CPU使用率检测', - ], - 'clusters' => [ - 'description' => '接收告警的集群合集', - 'type' => 'array', - 'items' => [ - 'description' => '集群名称', - 'type' => 'string', - 'example' => 'cluster1', - ], - ], - ], - ], - 'enabled' => [ - 'description' => '告警策略是否生效', - 'type' => 'boolean', - 'example' => 'false', - ], - 'k8sLabel' => [ - 'type' => 'boolean', - ], - ], - ], + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:AuthDiagnosis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"id\\": 1,\\n \\"name\\": \\"strategy1\\",\\n \\"uid\\": \\"1222933234714935\\",\\n \\"updatedAt\\": 1751254826285,\\n \\"createdAt\\": 1751520976660,\\n \\"strategy\\": {\\n \\"items\\": \\"节点CPU使用率检测\\",\\n \\"clusters\\": [\\n \\"cluster1\\"\\n ]\\n },\\n \\"enabled\\": false,\\n \\"k8sLabel\\": true\\n }\\n}","type":"json"}]', - 'title' => '获取告警策略', + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": \\"{}\\",\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\"\\n}","type":"json"}]', ], - 'DeleteAlertStrategy' => [ - 'summary' => '用户删除推送告警的策略', - 'path' => '/api/v1/alertPusher/alert/deleteStrategy', - 'methods' => [ - 'delete', - ], - 'schemes' => [ - 'https', - ], + 'CheckInstanceSupport' => [ + 'summary' => '检查目标实例是否被 SysOM 支持', + 'path' => '/api/v1/am/supportInstanceList/checkInstanceSupport', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxJZOVCX', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'id', - 'in' => 'query', - 'schema' => [ - 'description' => '告警策略id', - 'type' => 'string', - 'required' => true, - 'example' => '1', - ], - ], - ], - 'responses' => [ - 200 => [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '返回数据。', - 'type' => 'any', - 'example' => '{'."\n" - .' "uid": "1808078950770264",'."\n" - .' "name": "test",'."\n" - .' "strategy": {'."\n" - .' "items": ['."\n" - .' "节点CPU使用率检测"'."\n" - .' ],'."\n" - .' "clusters": ['."\n" - .' "1"'."\n" - .' ]'."\n" - .' },'."\n" - .' "enabled": false,'."\n" - .' "id": 1,'."\n" - .' "created_at": 1753170771,'."\n" - .' "updated_at": 1753170811'."\n" - .' }', + 'region' => ['title' => '实例所属 Region,务必保证 instances 中传递的所有实例ID都属于同一个 region', 'description' => '实例所属 Region,务必保证 instances 中传递的所有实例ID都属于同一个 region', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + 'instances' => [ + 'title' => '需要检查的实例ID列表', + 'description' => '需要检查的实例ID列表', + 'type' => 'array', + 'items' => ['title' => '实例ID', 'description' => '实例ID', 'type' => 'string', 'required' => false, 'example' => 'i-2zxxxxxx'], + 'required' => false, + 'example' => '["i-2zxxxxxx"]', ], ], + 'required' => false, ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": \\"{\\\\n \\\\\\"uid\\\\\\": \\\\\\"1808078950770264\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"test\\\\\\",\\\\n \\\\\\"strategy\\\\\\": {\\\\n \\\\\\"items\\\\\\": [\\\\n \\\\\\"节点CPU使用率检测\\\\\\"\\\\n ],\\\\n \\\\\\"clusters\\\\\\": [\\\\n \\\\\\"1\\\\\\"\\\\n ]\\\\n },\\\\n \\\\\\"enabled\\\\\\": false,\\\\n \\\\\\"id\\\\\\": 1,\\\\n \\\\\\"created_at\\\\\\": 1753170771,\\\\n \\\\\\"updated_at\\\\\\": 1753170811\\\\n }\\"\\n}","type":"json"}]', - 'title' => '删除告警策略', - ], - 'ListAlertItems' => [ - 'summary' => '获取所有告警项', - 'path' => '/api/v1/alertPusher/alert/listItems', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'none', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxJZOVCX', - ], - 'tenantRelevance' => 'publicInformation', - ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ @@ -533,162 +223,92 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['title' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], 'data' => [ + 'title' => '返回数据。', 'description' => '返回数据。', - 'type' => 'any', - 'example' => '{'."\n" - .' "NODE": {'."\n" - .' "饱和度": ['."\n" - .' "节点CPU使用率检测",'."\n" - .' "节点内核态CPU使用检测",'."\n" - .' "节点软中断CPU使用检测",'."\n" - .' "节点内存使用检测",'."\n" - .' "节点内核内存使用检测",'."\n" - .' "节点文件描述符使用检测",'."\n" - .' "节点根文件系统使用检测",'."\n" - .' "节点cgroup泄漏检测",'."\n" - .' "节点Sockets使用检测",'."\n" - .' "节点TCP内存使用检测"'."\n" - .' ],'."\n" - .' "延时": ['."\n" - .' "节点调度延时检测",'."\n" - .' "节点网络延时检测",'."\n" - .' "节点磁盘写入延迟检测",'."\n" - .' "节点磁盘读取延迟检测"'."\n" - .' ],'."\n" - .' "负载": ['."\n" - .' "节点磁盘IO流量检测",'."\n" - .' "节点load average检测"'."\n" - .' ],'."\n" - .' "错误": ['."\n" - .' "节点网络丢包检测",'."\n" - .' "节点OOM夯机预测及检测"'."\n" - .' ]'."\n" - .' },'."\n" - .' "POD": {'."\n" - .' "饱和度": ['."\n" - .' "Pod内存使用检测",'."\n" - .' "Pod CPU使用率检测"'."\n" - .' ],'."\n" - .' "错误": ['."\n" - .' "Pod CPU限流检测",'."\n" - .' "Pod OOM事件检测"'."\n" - .' ]'."\n" - .' }'."\n" - .'}', + 'type' => 'array', + 'items' => [ + 'title' => '返回结果。', + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'support' => ['title' => '是否支持被 SysOM 纳管'."\n" + ."\n" + .'- **true**:支持被 SysOM 纳管'."\n" + ."\n" + .'- **false**:不支持被 SysOM 纳管', 'description' => '是否支持被 SysOM 纳管'."\n" + ."\n" + .'- **true**:支持被 SysOM 纳管'."\n" + ."\n" + .'- **false**:不支持被 SysOM 纳管', 'type' => 'boolean', 'example' => 'true'], + 'reason' => ['title' => '当success为false时,该值不为空,表示不支持被纳管的原因', 'description' => '当success为false时,该值不为空,表示不支持被纳管的原因', 'type' => 'string', 'example' => 'instance not found in ecs'], + 'instance' => ['title' => 'ECS实例ID', 'description' => 'ECS实例ID', 'type' => 'string', 'example' => 'i-wz9d00ut2ska3mlyhn6j'], + ], + ], ], + 'message' => ['title' => '错误信息,code != Success 时,在此处存放错误信息', 'description' => '错误信息,code != Success 时,在此处存放错误信息', 'type' => 'string', 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"data\\": [\\n {\\n \\"support\\": true,\\n \\"reason\\": \\"instance not found in ecs\\",\\n \\"instance\\": \\"i-wz9d00ut2ska3mlyhn6j\\"\\n }\\n ],\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\"\\n}","type":"json"}]', + 'title' => '检查实例是否支持', + 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:CheckInstanceSupport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": \\"{\\\\n \\\\\\"NODE\\\\\\": {\\\\n \\\\\\"饱和度\\\\\\": [\\\\n \\\\\\"节点CPU使用率检测\\\\\\",\\\\n \\\\\\"节点内核态CPU使用检测\\\\\\",\\\\n \\\\\\"节点软中断CPU使用检测\\\\\\",\\\\n \\\\\\"节点内存使用检测\\\\\\",\\\\n \\\\\\"节点内核内存使用检测\\\\\\",\\\\n \\\\\\"节点文件描述符使用检测\\\\\\",\\\\n \\\\\\"节点根文件系统使用检测\\\\\\",\\\\n \\\\\\"节点cgroup泄漏检测\\\\\\",\\\\n \\\\\\"节点Sockets使用检测\\\\\\",\\\\n \\\\\\"节点TCP内存使用检测\\\\\\"\\\\n ],\\\\n \\\\\\"延时\\\\\\": [\\\\n \\\\\\"节点调度延时检测\\\\\\",\\\\n \\\\\\"节点网络延时检测\\\\\\",\\\\n \\\\\\"节点磁盘写入延迟检测\\\\\\",\\\\n \\\\\\"节点磁盘读取延迟检测\\\\\\"\\\\n ],\\\\n \\\\\\"负载\\\\\\": [\\\\n \\\\\\"节点磁盘IO流量检测\\\\\\",\\\\n \\\\\\"节点load average检测\\\\\\"\\\\n ],\\\\n \\\\\\"错误\\\\\\": [\\\\n \\\\\\"节点网络丢包检测\\\\\\",\\\\n \\\\\\"节点OOM夯机预测及检测\\\\\\"\\\\n ]\\\\n },\\\\n \\\\\\"POD\\\\\\": {\\\\n \\\\\\"饱和度\\\\\\": [\\\\n \\\\\\"Pod内存使用检测\\\\\\",\\\\n \\\\\\"Pod CPU使用率检测\\\\\\"\\\\n ],\\\\n \\\\\\"错误\\\\\\": [\\\\n \\\\\\"Pod CPU限流检测\\\\\\",\\\\n \\\\\\"Pod OOM事件检测\\\\\\"\\\\n ]\\\\n }\\\\n}\\"\\n}","type":"json"}]', - 'title' => '获取告警异常项列表', ], - 'ListAlertStrategies' => [ - 'summary' => '用于获取用户所有推送告警的策略', - 'path' => '/api/v1/alertPusher/alert/listStrategies', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'CpuHighAgentStreamResponse' => [ + 'summary' => 'cpu高agent流式接口', + 'path' => '/api/v1/highCpuAgent/streamResponse', + 'methods' => ['post'], + 'schemes' => ['https', 'sse'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/octet-stream'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinuxGP5QJE'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'maxResults', - 'in' => 'query', - 'schema' => [ - 'description' => '一次获取的最大记录数。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '20', - ], - ], - [ - 'name' => 'nextToken', - 'in' => 'query', - 'schema' => [ - 'description' => '下一次请求的分页token。', - 'type' => 'string', - 'required' => false, - 'example' => 'c2f78a783f49457caba6bace6f6f79e4', - ], - ], - [ - 'name' => 'current', - 'in' => 'query', - 'schema' => [ - 'description' => '当前页码(从1开始)', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '每页大小', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'name', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '告警策略名称', - 'type' => 'string', + 'description' => '请求Body', + 'type' => 'object', + 'properties' => [ + 'llmParamString' => ['description' => '对接cpu high agent服务的入参,参考标准LLM接口入参dict,需要转化成string并传入llmParamString中', 'type' => 'string', 'required' => false, 'example' => '"llmParamString": "{\\"messages\\": [{\\"role\\": \\"user\\", \\"content\\": \\"用户12345的机器i-67890,最近2分钟CPU使用率高,请结合最近2分钟的火焰图信息,分析原因\\"}]}"'], + ], 'required' => false, - 'example' => 'strategy1', ], ], ], @@ -699,151 +319,46 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '返回结果。', - 'type' => 'array', - 'items' => [ - 'description' => '返回的告警策略列表', - 'type' => 'object', - 'properties' => [ - 'uid' => [ - 'description' => '用户ID', - 'type' => 'string', - 'example' => '1880327028143673', - ], - 'createdAt' => [ - 'description' => '创建时间。', - 'type' => 'string', - 'example' => '1753669116286', - ], - 'name' => [ - 'description' => '策略名称', - 'type' => 'string', - 'example' => 'strategy1', - ], - 'id' => [ - 'description' => '策略ID', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'strategy' => [ - 'description' => '告警策略详情', - 'type' => 'object', - 'properties' => [ - 'items' => [ - 'description' => '接收告警的异常项列表', - 'type' => 'array', - 'items' => [ - 'description' => '异常项名称', - 'type' => 'string', - 'example' => 'Pod OOM事件检测', - ], - ], - 'clusters' => [ - 'description' => '接收告警的集群合集', - 'type' => 'array', - 'items' => [ - 'description' => '集群名称', - 'type' => 'string', - 'example' => 'cluster1', - ], - ], - ], - ], - 'enabled' => [ - 'description' => '告警策略是否生效', - 'type' => 'boolean', - 'example' => 'false', - ], - 'updatedAt' => [ - 'description' => '更新时间', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1753237017710', - ], - 'k8sLabel' => [ - 'type' => 'boolean', - ], - ], - ], - ], - 'total' => [ - 'description' => '总记录数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '92', - ], - 'nextToken' => [ - 'description' => '下一次请求的分页token。', - 'type' => 'string', - 'example' => 'c2f78a783f49457caba6bace6f6f79e4', - ], - 'maxResults' => [ - 'description' => '最大返回数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], + 'data' => ['description' => '返回数据', 'type' => 'string', 'example' => '<SSEResponse>'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '请求CPU高agent流式sse接口', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": [\\n {\\n \\"uid\\": \\"1880327028143673\\",\\n \\"createdAt\\": \\"1753669116286\\",\\n \\"name\\": \\"strategy1\\",\\n \\"id\\": 1,\\n \\"strategy\\": {\\n \\"items\\": [\\n \\"Pod OOM事件检测\\"\\n ],\\n \\"clusters\\": [\\n \\"cluster1\\"\\n ]\\n },\\n \\"enabled\\": false,\\n \\"updatedAt\\": 1753237017710,\\n \\"k8sLabel\\": true\\n }\\n ],\\n \\"total\\": 92,\\n \\"nextToken\\": \\"c2f78a783f49457caba6bace6f6f79e4\\",\\n \\"maxResults\\": 20\\n}","type":"json"}]', - 'title' => '获取告警策略列表', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": \\"<SSEResponse>\\"\\n}","type":"json"}]', ], - 'CreateAlertStrategy' => [ - 'summary' => '新增推送告警的策略', - 'path' => '/api/v1/alertPusher/alert/createStrategy', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'CreateAlertDestination' => [ + 'path' => '/api/v1/alertPusher/alert/createDestination', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxJZOVCX', - ], + 'abilityTreeNodes' => ['FEATUREalinux33ME7W'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ @@ -854,49 +369,18 @@ 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '告警策略名称', - 'type' => 'string', - 'required' => true, - 'example' => 'strategy1', - ], - 'enabled' => [ - 'description' => '告警策略是否生效', - 'type' => 'boolean', - 'required' => true, - 'example' => 'false', - ], - 'strategy' => [ - 'description' => '告警策略详情', + 'target' => ['description' => '推送目标,目前仅支持钉钉机器人', 'type' => 'string', 'required' => false, 'example' => 'dingtalk'], + 'name' => ['description' => '告警联系人名称', 'type' => 'string', 'required' => false, 'example' => 'test_name'], + 'source' => ['description' => '配置来源', 'type' => 'string', 'required' => false, 'example' => 'console'], + 'params' => [ + 'description' => '告警联系人配置参数', 'type' => 'object', 'properties' => [ - 'items' => [ - 'description' => '接收告警的异常项合计', - 'type' => 'array', - 'items' => [ - 'description' => '异常项', - 'type' => 'string', - 'required' => false, - 'example' => '节点CPU使用率检测', - ], - 'required' => false, - ], - 'clusters' => [ - 'description' => '接收告警的集群合集', - 'type' => 'array', - 'items' => [ - 'description' => '集群名称', - 'type' => 'string', - 'required' => false, - 'example' => 'cluster1 ', - ], - 'required' => false, - ], + 'webhook' => ['description' => '机器人链接', 'type' => 'string', 'required' => false, 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=xxx'], + 'sec' => ['description' => '机器人密钥', 'type' => 'string', 'required' => false, 'example' => 'SECxxx'], + 'phone' => ['description' => '电话', 'type' => 'string', 'required' => false, 'example' => '1xxx'], + 'email' => ['description' => '邮件', 'type' => 'string', 'required' => false, 'example' => 'xxx@email.com'], ], - 'required' => true, - ], - 'k8sLabel' => [ - 'type' => 'boolean', 'required' => false, ], ], @@ -911,79 +395,72 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => '创建策略失败', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '错误码', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict'], 'data' => [ 'description' => '返回数据。', - 'type' => 'any', - 'example' => '{'."\n" - .' "uid": "uid-1",'."\n" - .' "name": "test-name",'."\n" - .' "strategy": {'."\n" - .' "clusters": ["test-cluster-1","test-cluster-2"],'."\n" - .' "items": ["test-item1","test-item2"]'."\n" - .' },'."\n" - .' "enabled": True,'."\n" - .' '."\n" - .' }', + 'type' => 'object', + 'properties' => [ + 'uid' => ['description' => '用户ID', 'type' => 'string', 'example' => '1222933234714935'], + 'updatedAt' => ['description' => '更新时间', 'type' => 'integer', 'format' => 'int64', 'example' => '1751254826285'], + 'name' => ['description' => '策略名称', 'type' => 'string', 'example' => 'SysOM'], + 'createdAt' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1753669116286'], + 'id' => ['description' => '策略ID', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'source' => ['description' => '配置来源', 'type' => 'string', 'example' => 'console'], + 'target' => ['description' => '推送目标,目前仅支持钉钉机器人', 'type' => 'string', 'example' => 'dingtalk'], + 'params' => [ + 'description' => '告警联系人配置参数', + 'type' => 'object', + 'properties' => [ + 'webhook' => ['description' => '机器人地址', 'type' => 'string', 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=xxx'], + 'sec' => ['description' => '机器人密钥', 'type' => 'string', 'example' => 'SECxxx'], + 'email' => ['description' => '邮箱', 'type' => 'string', 'example' => 'xxx@email.com'], + 'phone' => ['description' => '电话', 'type' => 'string', 'example' => '1xxx'], + ], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"创建策略失败\\",\\n \\"data\\": \\"{\\\\n \\\\\\"uid\\\\\\": \\\\\\"uid-1\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"test-name\\\\\\",\\\\n \\\\\\"strategy\\\\\\": {\\\\n \\\\\\"clusters\\\\\\": [\\\\\\"test-cluster-1\\\\\\",\\\\\\"test-cluster-2\\\\\\"],\\\\n \\\\\\"items\\\\\\": [\\\\\\"test-item1\\\\\\",\\\\\\"test-item2\\\\\\"]\\\\n },\\\\n \\\\\\"enabled\\\\\\": True,\\\\n \\\\n }\\"\\n}","type":"json"}]', - 'title' => '创建告警策略', - ], - 'UpdateAlertStrategy' => [ - 'summary' => '更新推送告警策略', - 'path' => '/api/v1/alertPusher/alert/updateStrategy', - 'methods' => [ - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Sysom.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message. %s.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ['errorCode' => 'SysomOpenAPI.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ], ], - 'schemes' => [ - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建告警联系人', + 'summary' => '本接口用于创建告警推送的联系人', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": {\\n \\"uid\\": \\"1222933234714935\\",\\n \\"updatedAt\\": 1751254826285,\\n \\"name\\": \\"SysOM\\",\\n \\"createdAt\\": 1753669116286,\\n \\"id\\": 1,\\n \\"source\\": \\"console\\",\\n \\"target\\": \\"dingtalk\\",\\n \\"params\\": {\\n \\"webhook\\": \\"https://oapi.dingtalk.com/robot/send?access_token=xxx\\",\\n \\"sec\\": \\"SECxxx\\",\\n \\"email\\": \\"xxx@email.com\\",\\n \\"phone\\": \\"1xxx\\"\\n }\\n }\\n}","type":"json"}]', + ], + 'CreateAlertStrategy' => [ + 'path' => '/api/v1/alertPusher/alert/createStrategy', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxJZOVCX', - ], + 'abilityTreeNodes' => ['FEATUREalinuxJZOVCX'], ], 'parameters' => [ [ @@ -991,28 +468,11 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => 'HTTP请求体。', + 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'name' => [ - 'description' => '告警策略名称', - 'type' => 'string', - 'required' => true, - 'example' => 'strategy1', - ], - 'id' => [ - 'description' => '告警策略id', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1', - ], - 'enabled' => [ - 'description' => '告警策略是否生效', - 'type' => 'boolean', - 'required' => true, - 'example' => 'true', - ], + 'name' => ['description' => '告警策略名称', 'type' => 'string', 'required' => true, 'example' => 'strategy1'], + 'enabled' => ['description' => '告警策略是否生效', 'type' => 'boolean', 'required' => true, 'example' => 'false'], 'strategy' => [ 'description' => '告警策略详情', 'type' => 'object', @@ -1020,32 +480,23 @@ 'items' => [ 'description' => '接收告警的异常项合计', 'type' => 'array', - 'items' => [ - 'description' => '异常项名称', - 'type' => 'string', - 'required' => false, - 'example' => '节点CPU使用率检测', - ], + 'items' => ['description' => '异常项', 'type' => 'string', 'required' => false, 'example' => '节点CPU使用率检测'], 'required' => false, ], 'clusters' => [ 'description' => '接收告警的集群合集', 'type' => 'array', - 'items' => [ - 'description' => '集群名称', - 'type' => 'string', - 'required' => false, - 'example' => 'cluster1', - ], + 'items' => ['description' => '集群名称', 'type' => 'string', 'required' => false, 'example' => 'cluster1 '], 'required' => false, ], + 'destinations' => [ + 'type' => 'array', + 'items' => ['type' => 'integer', 'format' => 'int32'], + ], ], 'required' => true, ], - 'k8sLabel' => [ - 'type' => 'boolean', - 'required' => false, - ], + 'k8sLabel' => ['type' => 'boolean', 'required' => false, 'description' => ''], ], 'required' => false, ], @@ -1058,205 +509,86 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => '更新告警策略失败', - ], - 'data' => [ - 'description' => '返回结果。', - 'type' => 'any', - 'example' => '{'."\n" - .' "uid": "uid-1",'."\n" - .' "name": "test-name",'."\n" - .' "strategy": {'."\n" - .' "clusters": ["test-cluster-1","test-cluster-2"],'."\n" - .' "items": ["test-item1","test-item2"]'."\n" - .' },'."\n" - .' "enabled": True'."\n" - .'}', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => '创建策略失败'], + 'data' => ['description' => '返回数据。', 'type' => 'any', 'example' => '{'."\n" + .' "uid": "uid-1",'."\n" + .' "name": "test-name",'."\n" + .' "strategy": {'."\n" + .' "clusters": ["test-cluster-1","test-cluster-2"],'."\n" + .' "items": ["test-item1","test-item2"]'."\n" + .' },'."\n" + .' "enabled": True,'."\n" + .' '."\n" + .' }'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建告警策略', + 'summary' => '新增推送告警的策略', + 'changeSet' => [ + ['createdAt' => '2025-11-03T02:34:05.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"更新告警策略失败\\",\\n \\"data\\": \\"{\\\\n \\\\\\"uid\\\\\\": \\\\\\"uid-1\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"test-name\\\\\\",\\\\n \\\\\\"strategy\\\\\\": {\\\\n \\\\\\"clusters\\\\\\": [\\\\\\"test-cluster-1\\\\\\",\\\\\\"test-cluster-2\\\\\\"],\\\\n \\\\\\"items\\\\\\": [\\\\\\"test-item1\\\\\\",\\\\\\"test-item2\\\\\\"]\\\\n },\\\\n \\\\\\"enabled\\\\\\": True\\\\n}\\"\\n}","type":"json"}]', - 'title' => '更新告警策略', - ], - 'UpdateFuncSwitchRecord' => [ - 'summary' => '更新服务功能模块配置。', - 'path' => '/api/v1/func-switch/update-service-func-switch', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:CreateAlertStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"创建策略失败\\",\\n \\"data\\": \\"{\\\\n \\\\\\"uid\\\\\\": \\\\\\"uid-1\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"test-name\\\\\\",\\\\n \\\\\\"strategy\\\\\\": {\\\\n \\\\\\"clusters\\\\\\": [\\\\\\"test-cluster-1\\\\\\",\\\\\\"test-cluster-2\\\\\\"],\\\\n \\\\\\"items\\\\\\": [\\\\\\"test-item1\\\\\\",\\\\\\"test-item2\\\\\\"]\\\\n },\\\\n \\\\\\"enabled\\\\\\": True,\\\\n \\\\n }\\"\\n}","type":"json"}]', + ], + 'CreateClusterVpcEndpointConnection' => [ + 'path' => '/api/v1/k8sProxy/access/createClusterVpcEndpointConnection', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinuxV02H6G'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'params', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '诊断参数,不同类型的诊断要求传递不同的诊断参数,可以使用本字段过滤出参数符合为指定值的记录。', + 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'function_name' => [ - 'description' => '功能名称', - 'type' => 'string', - 'required' => true, - 'example' => 'mullprof', - ], - 'instance' => [ - 'description' => '实例ID', - 'type' => 'string', - 'required' => false, - 'example' => 'i-2zei55fwj8nnu31h3z46', - ], - 'uid' => [ - 'description' => '用户ID', - 'type' => 'string', - 'required' => false, - 'example' => '1664516888213680', - ], - 'op' => [ - 'description' => '操作类型', - 'type' => 'string', - 'required' => false, - 'example' => 'restart', - ], - 'args' => [ - 'description' => '配置参数'."\n" - ."\n", - 'type' => 'object', - 'properties' => [ - 'add_cmd' => [ - 'description' => '配置进程', - 'type' => 'string', - 'required' => false, - 'example' => 'java', - ], - 'mem' => [ - 'description' => '内存追踪开关', - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], - 'locks' => [ - 'description' => '锁追踪开关', - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], - 'java_store_path' => [ - 'description' => '存储路径', - 'type' => 'string', - 'required' => false, - 'example' => '/tmp/sysom/java-profiler', - ], - 'system_profiling' => [ - 'description' => '系统追踪开关', - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], - 'cpu' => [ - 'description' => 'ONCPU追踪开关', - 'type' => 'string', - 'required' => false, - 'example' => 'true', - ], - 'loop' => [ - 'description' => '追踪周期', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '-1', - ], - 'pid' => [ - 'description' => '进程pid', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1243', - ], - 'duration' => [ - 'description' => '开始时长,单位为秒(s)', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '3600', - ], - ], - 'required' => false, - ], - 'region' => [ - 'description' => '实例所属 Region,务必保证 instances 中传递的所有实例ID都属于同一个 region', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-beijing', - ], + 'region' => ['title' => '集群所属地域', 'description' => '集群所属地域', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + 'clusterId' => ['title' => 'ACK集群ID', 'description' => 'ACK集群ID', 'type' => 'string', 'required' => true, 'example' => 'ray-bzxw7g2r7301r3f2'], + 'dryRun' => ['title' => '是否模拟运行', 'description' => '是否模拟运行', 'type' => 'boolean', 'required' => false, 'example' => 'false', 'default' => 'false'], ], - 'required' => true, - ], - ], - [ - 'name' => 'service_name', - 'in' => 'query', - 'schema' => [ - 'description' => '服务名称', - 'type' => 'string', - 'required' => true, - 'example' => 'livetrace', - ], - ], - [ - 'name' => 'channel', - 'in' => 'query', - 'schema' => [ - 'description' => '诊断通道(目前固定为ecs通道)', - 'type' => 'string', - 'required' => true, - 'example' => 'ecs', + 'required' => false, ], ], ], @@ -1267,128 +599,80 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'result: code=1 msg=(Request failed, status_code != 200)', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '错误码', 'type' => 'string', 'example' => 'Success'], 'data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'task_id' => [ - 'description' => '任务ID', - 'type' => 'string', - 'example' => '63fc5acb99e642d793f42912612e8001', - ], + 'endpointConnectionId' => ['description' => '端点连接Id', 'type' => 'string', 'example' => 'ep-xxx'], ], ], + 'message' => ['description' => '错误码描述,若无错误则为空', 'type' => 'string', 'example' => 'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"result: code=1 msg=(Request failed, status_code != 200)\\",\\n \\"data\\": {\\n \\"task_id\\": \\"63fc5acb99e642d793f42912612e8001\\"\\n }\\n}","type":"json"}]', - 'title' => '更新服务功能模块配置', - 'description' => '- 需要按通用LLM服务输入参数填充参数,转为string后赋给llmParamString'."\n" + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建集群VPC端点连接', + 'summary' => '创建集群Vpc端点连接', + 'description' => '- 需配合aliyun-tea-openapi-inner包的call_sseapi接口使用'."\n" + .'- 需要按通用LLM服务输入参数填充参数,转为string后赋给llmParamString'."\n" .'- 返回数据需将string转为dict后使用,参考通用LLM服务返回格式', - ], - 'GetServiceFuncStatus' => [ - 'summary' => '获取功能模块配置', - 'path' => '/api/v1/func-switch/get-service-func-status', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"data\\": {\\n \\"endpointConnectionId\\": \\"ep-xxx\\"\\n },\\n \\"message\\": \\"success\\"\\n}","type":"json"}]', + ], + 'CreateInstanceInspection' => [ + 'summary' => '本接口用于创建SysOM实例巡检', + 'path' => '/api/v1/inspection/createInstanceInspection', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux33ME7W'], ], 'parameters' => [ [ - 'name' => 'params', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '诊断参数,不同类型的诊断要求传递不同的诊断参数,可以使用本字段过滤出参数符合为指定值的记录。', + 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'function_name' => [ - 'description' => '功能名称', - 'type' => 'string', - 'required' => true, - 'example' => 'mullprof', - ], - 'instance' => [ - 'description' => '实例ID', - 'type' => 'string', + 'region' => ['description' => '实例所属 Region', 'type' => 'string', 'required' => false, 'example' => 'cn-shenzhen'], + 'instance' => ['description' => '实例ID', 'type' => 'string', 'required' => false, 'example' => 'i-2ze5ru5rjurix7f71sxv'], + 'source' => ['description' => '来源', 'type' => 'string', 'required' => false, 'example' => 'console'], + 'items' => [ + 'description' => '异常项', + 'type' => 'array', + 'items' => ['description' => '异常项', 'type' => 'string', 'required' => false, 'example' => 'sysom:metric:slab_leak'], 'required' => false, - 'example' => 'i-2zei55fwj8nnu31h3z46', ], - 'uid' => [ - 'description' => '用户ID', + 'metricSource' => [ + 'description' => '指标来源', 'type' => 'string', 'required' => false, - 'example' => '1338904783509062', + 'enumValueTitles' => ['auto' => 'auto', 'sysom' => 'sysom', 'cms' => 'cms'], + 'example' => 'sysom', ], ], - 'required' => true, - ], - ], - [ - 'name' => 'service_name', - 'in' => 'query', - 'schema' => [ - 'description' => '服务名称', - 'type' => 'string', - 'required' => true, - 'example' => 'livetrace', - ], - ], - [ - 'name' => 'channel', - 'in' => 'query', - 'schema' => [ - 'description' => '通道名', - 'type' => 'string', - 'required' => true, - 'example' => 'ecs', + 'required' => false, ], ], ], @@ -1399,117 +683,55 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => "\n", - ], - 'data' => [ - 'description' => '返回结果', - 'type' => 'object', - 'properties' => [ - 'args' => [ - 'description' => '配置参数'."\n" - ."\n", - 'type' => 'object', - 'properties' => [ - 'add_cmd' => [ - 'description' => '配置进程', - 'type' => 'string', - 'example' => 'java', - ], - 'mem' => [ - 'description' => '内存追踪开关', - 'type' => 'string', - 'example' => 'true', - ], - 'locks' => [ - 'description' => '锁追踪开关'."\n" - ."\n", - 'type' => 'string', - 'example' => 'true', - ], - 'java_store_path' => [ - 'description' => '存储路径', - 'type' => 'string', - 'example' => '/tmp/sysom/java-profiler', - ], - 'cpu' => [ - 'description' => 'ONCPU追踪开关', - 'type' => 'string', - 'example' => 'true', - ], - 'system_profiling' => [ - 'description' => '系统profiling开关', - 'type' => 'string', - 'example' => 'true', - ], - 'loop' => [ - 'description' => '追踪周期', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '-1', - ], - ], - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '错误码', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '描述信息', 'type' => 'string', 'example' => 'success'], + 'data' => ['description' => '返回数据', 'type' => 'any', 'example' => 'reportId'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '创建实例巡检', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\n\\",\\n \\"data\\": {\\n \\"args\\": {\\n \\"add_cmd\\": \\"java\\",\\n \\"mem\\": \\"true\\",\\n \\"locks\\": \\"true\\",\\n \\"java_store_path\\": \\"/tmp/sysom/java-profiler\\",\\n \\"cpu\\": \\"true\\",\\n \\"system_profiling\\": \\"true\\",\\n \\"loop\\": -1\\n }\\n }\\n}","type":"json"}]', - 'title' => '获取服务配置状态', - 'description' => '本接口用于获取服务配置状态', - ], - 'GetHotSpotUniqList' => [ - 'summary' => '获取实例下的某个字段列表。', - 'path' => '/api/v1/livetrace_proxy/hotspot_uniq_list', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sysom:CreateInstanceInspection', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": \\"reportId\\"\\n}","type":"json"}]', + ], + 'CreateVmcoreDiagnosisTask' => [ + 'summary' => '该接口创建一个宕机智能诊断任务,对参数输入的vmcore或者dmesg日志文件进行诊断。', + 'path' => '/api/v1/crashAgent/diagnosis/createDiagnosisTask', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '254533', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ @@ -1517,48 +739,29 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求体参数', + 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'uniq' => [ - 'description' => '标识位', - 'type' => 'string', - 'required' => true, - 'example' => '默认需要为"flag",待查询的字段', - ], - 'instance' => [ - 'description' => '实例ID', - 'type' => 'string', - 'required' => true, - 'example' => 'i-bp1g2i0siirefgwnnnvy', - ], - 'pid' => [ - 'description' => '进程id', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '12345', - ], - 'table' => [ - 'description' => '表名称', + 'taskType' => [ + 'title' => '任务类型', + 'description' => '任务类型'."\n" + ."\n" + .'vmcore: vmcore文件诊断任务'."\n" + ."\n" + .'dmesg:dmesg日志诊断任务', 'type' => 'string', - 'required' => false, - 'example' => 'prof_on', - ], - 'beg_start' => [ - 'description' => '起始时间', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1735008551000', - ], - 'beg_end' => [ - 'description' => '结束时间', - 'type' => 'integer', - 'format' => 'int64', 'required' => true, - 'example' => '1735010351000', + 'enumValueTitles' => ['dmesg' => 'dmesg', 'vmcore' => 'vmcore'], + 'example' => 'vmcore', ], + 'vmcoreUrl' => ['title' => 'vmcore下载链接', 'description' => 'vmcore文件的下载链接,当诊断类型为vmcore时必填', 'type' => 'string', 'required' => false, 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/vmcore/file/path'], + 'debuginfoUrl' => ['title' => 'debuginfo下载链接', 'description' => 'debugifno文件的下载链接,vmcore文件的下载链接,当诊断类型为vmcore时选填。'."\n" + ."\n" + .'对于CentOS或Alinux内核诊断会自动下载相应的debuginfo文件,此时无需提供该参数;对于其他发行版内核,需要手动提供对应内核版本的debuginfo文件下载链接。', 'type' => 'string', 'required' => false, 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo/file/path'], + 'debuginfoCommonUrl' => ['title' => 'debuginfo-common rpm包下载链接', 'description' => 'debugifno-common文件的下载链接,当诊断类型为vmcore时选填。'."\n" + ."\n" + .'对于CentOS或Alinux内核诊断会自动下载相应的debuginfo-common文件,此时无需提供该参数;对于其他发行版内核,需要手动提供对应内核版本的debuginfo-common文件下载链接。', 'type' => 'string', 'required' => false, 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo-common/file/path'], + 'dmesgUrl' => ['title' => 'dmesg下载链接', 'description' => 'dmesg日志文件的下载链接,当诊断类型为dmesg时必填', 'type' => 'string', 'required' => false, 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/dmesg/file/path'], ], 'required' => false, ], @@ -1571,146 +774,72 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => '请求id', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'success' => [ - 'description' => 'true 接口调用成功,false 接口调用失败', - 'type' => 'string', - 'example' => 'true', - ], - 'message' => [ - 'description' => '返回信息', - 'type' => 'string', - 'example' => "\n" - .'success', - ], + 'requestId' => ['description' => '请求id', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => '""'], 'data' => [ - 'description' => '返回数据', + 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'columns' => [ - 'description' => '数据名称列表', - 'type' => 'array', - 'items' => [ - 'description' => '数据名称', - 'type' => 'string', - 'example' => 'column', - ], - ], - 'values' => [ - 'description' => '数据值列表', - 'type' => 'array', - 'items' => [ - 'description' => '数据值', - 'type' => 'string', - 'example' => 'ml', - ], + 'taskId' => [ + 'title' => '任务ID', + 'description' => '创建的诊断任务ID', + 'type' => 'string', + 'enumValueTitles' => [], + 'example' => 'bbe94a98-4192-4172-b856-95777e0a55d7', ], ], ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": {\\n \\"taskId\\": \\"bbe94a98-4192-4172-b856-95777e0a55d7\\"\\n },\\n \\"code\\": \\"Success\\"\\n}","type":"json"}]', + 'title' => '创建宕机诊断任务', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:CreateVmcoreDiagnosisTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"success\\": \\"true\\",\\n \\"message\\": \\"\\\\nsuccess\\",\\n \\"data\\": {\\n \\"columns\\": [\\n \\"column\\"\\n ],\\n \\"values\\": [\\n \\"ml\\"\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取热点类型列表', ], - 'GetHotspotTracking' => [ - 'summary' => '获取热点追踪结果', - 'path' => '/api/v1/openapi/proxy/post/livetrace_hotspot_tracking', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DeleteAlertDestination' => [ + 'summary' => '本接口用于删除告警联系人', + 'path' => '/api/v1/alertPusher/alert/deleteDestination', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '230069', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], + 'abilityTreeNodes' => ['FEATUREalinux33ME7W'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求Body', - 'type' => 'object', - 'properties' => [ - 'table' => [ - 'description' => '查询表名', - 'type' => 'string', - 'required' => true, - 'example' => 'prof_on', - ], - 'instance' => [ - 'description' => '实例ID', - 'type' => 'string', - 'required' => true, - 'example' => 'i-2ze5ru5rjurix7f71sxv', - ], - 'beg_start' => [ - 'description' => '起始时间', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725410348000', - ], - 'beg_end' => [ - 'description' => '终止时间', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725413948000', - ], - 'pid' => [ - 'description' => '进程Pid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1657494', - ], - 'hot_type' => [ - 'description' => '热点类型', - 'type' => 'string', - 'required' => true, - 'example' => 'alloc', - ], - ], - 'required' => false, - ], + 'name' => 'id', + 'in' => 'query', + 'schema' => ['description' => '告警联系人ID', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], ], 'responses' => [ @@ -1720,161 +849,58 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求ID', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', - ], - 'code' => [ - 'description' => '错误编码', - 'type' => 'string', - 'example' => 'SysomOpenAPI.ServerError', - ], - 'message' => [ - 'description' => '返回信息', - 'type' => 'string', - 'example' => 'Success', - ], - 'data' => [ - 'description' => '返回数据', - 'type' => 'object', - 'properties' => [ - 'series' => [ - 'description' => '数据列表', - 'type' => 'object', - 'properties' => [ - 'columns' => [ - 'description' => '字段名称列表', - 'type' => 'array', - 'items' => [ - 'description' => '字段名称', - 'type' => 'string', - 'example' => '"time", "EXPR$1"', - ], - ], - 'values' => [ - 'description' => '热点时序数据列表', - 'type' => 'array', - 'items' => [ - 'description' => '热点时序数据', - 'type' => 'array', - 'items' => [ - 'description' => '热点采样值', - 'type' => 'string', - 'example' => '"2024-09-04T00:39:50Z", "1"', - ], - ], - ], - ], - ], - 'flame' => [ - 'description' => '火焰图数据', - 'type' => 'object', - 'properties' => [ - 'columns' => [ - 'description' => '字段名称列表', - 'type' => 'array', - 'items' => [ - 'description' => '字段名称', - 'type' => 'string', - 'example' => '"sample","time"', - ], - ], - 'values' => [ - 'description' => '火焰图数据列表', - 'type' => 'array', - 'items' => [ - 'description' => '火焰图数据', - 'type' => 'array', - 'items' => [ - 'description' => '时间戳,图数据', - 'type' => 'string', - 'example' => '"{\\"flamebearer\\":{\\"names\\":[\\"total\\",\\"host\\",\\"AliYunDun:1657494\\",\\"?5043000000000000\\",\\"std::basic_string::basic_string\\",\\"__memmove_ssse3_back\\",\\"_init\\",\\"std::string::_Rep::_M_set_length_and_sharable\\",\\"std::string::_S_copy_chars\\",\\"__strlen_sse2_pminub\\",\\"__read_nocancel\\",\\"system_call_fastpath\\",\\"SyS_read\\",\\"vfs_read\\",\\"seq_read\\",\\"proc_single_show\\",\\"proc_tgid_stat\\",\\"do_task_stat\\",\\"__delayacct_blkio_ticks\\",\\"_raw_spin_unlock_irqrestore\\",\\"proc_pid_status\\",\\"seq_bitmap\\",\\"bitmap_scnprintf\\",\\"bitmap_scnprintf.part.0\\",\\"scnprintf\\",\\"vscnprintf\\",\\"vsnprintf\\",\\"format_decode\\",\\"kernfs_fop_read\\",\\"kernfs_seq_show\\",\\"sysfs_kf_seq_show\\",\\"dev_attr_show\\",\\"part_stat_show\\",\\"part_in_flight\\",\\"blk_mq_in_flight\\",\\"blk_mq_queue_tag_busy_iter\\",\\"copy_user_enhanced_fast_string\\",\\"proc_reg_read\\",\\"meminfo_proc_show\\",\\"get_vmalloc_info\\",\\"aqs::CThreadUtil::ThreadFunc\\",\\"operatordelete\\",\\"CProtocolHandlerThread::run\\",\\"CSingleton::GetInstance\\",\\"CResourceMonitor::SetThreadHeartbeat\\",\\"CMonitor::SetThreadHeartbeat\\",\\"aqs::CMutexLockUtil::CMutexLockUtil\\",\\"aqs::CGetTickClock::GetClock\\",\\"__pthread_rwlock_rdlock\\",\\"pthread_rwlock_rdlock\\",\\"aqs::CReadLockUtil::CReadLockUtil\\",\\"std::map::find\\",\\"std::_Rb_tree\\",\\"std::less::operator\\",\\"std::_Rb_tree_iterator::_Rb_tree_iterator\\",\\"__GI___pthread_mutex_lock\\",\\"pthread_mutex_lock\\",\\"__nanosleep_nocancel\\",\\"SyS_nanosleep\\",\\"__check_object_size\\",\\"__virt_addr_valid\\",\\"hrtimer_nanosleep\\",\\"hrtimer_init\\",\\"do_nanosleep\\",\\"schedule\\",\\"__schedule\\",\\"rcu_note_context_switch\\",\\"finish_task_switch\\",\\"hrtimer_start_range_ns\\",\\"lock_hrtimer_base.isra.20\\",\\"_raw_spin_lock_irqsave\\",\\"__audit_syscall_entry\\",\\"CIpcPrivate::run\\",\\"std::list::empty\\",\\"stIpcRawMsg::stIpcRawMsg\\",\\"CIpcPrivate::HandleRecvRawMsg\\",\\"std::basic_string::~basic_string\\",\\"CIpcPrivate::OnRecvClientData\\",\\"CIpcPrivate::InsertMsg\\",\\"std::list::push_back\\",\\"std::list::_M_insert\\",\\"std::list::_M_create_node\\",\\"__gnu_cxx::new_allocator::allocate\\",\\"ParseIpcDataEx\\",\\"boolCSimpleSerialization::GetInt\\",\\"CSimpleSerialization::GetMemberForInteger\\",\\"CIpcPrivate::HandleSendMsg\\",\\"CIpcPrivate::SendIpcMsgPri\\",\\"CSelfGuardIpc::IpcRecvMsg\\",\\"CNetWork::run\\",\\"CNetWork::PeekRecvMessage\\",\\"CNetWork::ReadOneMessage\\",\\"evthread_use_pthreads\\",\\"pthread_self\\",\\"bufferevent_get_input\\",\\"CAtomicInt64::Get\\",\\"CNetWork::PeekSendMessage\\",\\"CTcpMessageBuffer::MarkSendMessage\\",\\"CNetWork::GetSendMessage\\",\\"__SendMessage::__SendMessage\\",\\"__epoll_wait_nocancel\\",\\"system_call_after_swapgs\\",\\"!48c69361\\",\\"!48c672e9\\",\\"!48c20f45\\",\\"!48c2106d\\",\\"!48c2eca3\\",\\"SyS_epoll_wait\\",\\"ep_poll\\",\\"__fdget\\",\\"__fget_light\\"],\\"maxSelf\\":92,\\"numTicks\\":268,\\"levels\\":[[0,268,0,0],[0,268,0,1],[0,268,92,2],[92,10,0,3,0,6,1,10,0,139,14,40,0,7,0,100,0,14,0,57],[92,8,0,4,0,2,2,9,1,5,0,11,14,3,3,41,0,36,0,42,0,3,3,6,0,45,3,57,0,15,1,72,0,3,3,43,0,20,0,89,0,1,1,101,0,1,0,102,0,5,0,11,0,1,1,101,0,13,0,11],[92,1,1,5,0,2,2,6,0,4,4,7,0,1,1,8,3,5,0,12,17,1,1,43,0,5,5,44,0,30,1,45,6,41,1,11,0,1,1,71,1,1,1,73,0,6,0,45,0,2,2,74,0,3,0,75,0,2,0,86,3,7,0,90,0,1,1,95,0,2,0,45,0,5,0,96,0,1,1,76,0,3,3,99,0,1,1,6,1,1,0,103,0,4,0,107,0,1,1,109,1,13,0,58],[103,5,0,13,24,1,1,46,0,3,3,47,0,5,5,43,0,16,0,44,0,1,1,55,0,1,1,56,0,2,2,6,7,39,1,58,0,1,1,36,3,3,0,44,0,1,1,6,0,2,2,51,2,1,1,76,0,2,0,77,0,1,0,87,0,1,1,6,3,7,1,91,1,2,0,44,0,3,3,97,0,2,0,98,6,1,0,104,0,2,0,108,0,2,0,109,2,2,2,59,0,11,0,61],[103,2,0,14,0,1,0,28,0,1,1,36,0,1,0,37,33,1,1,43,0,2,2,48,0,2,2,49,0,2,2,6,0,2,2,50,0,7,0,51,12,4,2,59,0,1,1,60,0,33,1,61,4,1,1,49,0,1,1,50,0,1,0,51,6,1,0,78,0,1,0,83,0,1,0,88,5,1,1,92,0,1,1,6,0,1,1,93,0,3,3,94,1,1,0,51,0,1,1,48,3,1,1,55,0,1,1,6,6,1,0,105,0,2,2,19,0,2,2,110,4,11,0,63],[103,2,0,15,0,1,0,14,1,1,0,14,42,6,3,52,0,1,1,6,14,2,2,60,2,2,2,62,0,30,0,63,6,1,1,52,6,1,0,79,0,1,0,84,0,1,1,9,12,1,1,52,12,1,1,106,8,5,1,64,0,6,0,68],[103,1,0,16,0,1,0,20,0,1,0,29,1,1,0,38,45,2,2,53,0,1,1,54,21,15,0,64,0,15,0,68,13,1,0,80,0,1,1,85,36,4,0,65,0,6,6,19],[103,1,0,17,0,1,0,21,0,1,0,30,1,1,1,39,69,15,0,65,0,1,0,69,0,14,14,19,13,1,0,81,37,4,4,67],[103,1,0,18,0,1,0,22,0,1,0,31,71,2,2,66,0,13,13,67,0,1,1,70,27,1,1,82],[103,1,1,19,0,1,0,23,0,1,0,32],[104,1,0,24,0,1,0,33],[104,1,0,25,0,1,0,34],[104,1,0,26,0,1,1,35],[104,1,1,27]]},\\"version\\":1,\\"metadata\\":{\\"name\\":\\"liveTrace\\",\\"sampleRate\\":100,\\"spyName\\":\\"cprof\\",\\"units\\":\\"samples\\",\\"maxNodes\\":1024,\\"appName\\":\\"liveTrace.profiling\\",\\"format\\":\\"single\\"}}"'."\n", - ], - ], - ], - ], - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict'], + 'data' => ['description' => '返回数据。', 'type' => 'any', 'example' => '{}'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"message\\": \\"Success\\",\\n \\"data\\": {\\n \\"series\\": {\\n \\"columns\\": [\\n \\"\\\\\\"time\\\\\\", \\\\\\"EXPR$1\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"2024-09-04T00:39:50Z\\\\\\", \\\\\\"1\\\\\\"\\"\\n ]\\n ]\\n },\\n \\"flame\\": {\\n \\"columns\\": [\\n \\"\\\\\\"sample\\\\\\",\\\\\\"time\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"{\\\\\\\\\\\\\\"flamebearer\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"names\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"total\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"host\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"AliYunDun:1657494\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"?5043000000000000\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::basic_string::basic_string\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__memmove_ssse3_back\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_init\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::string::_Rep::_M_set_length_and_sharable\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::string::_S_copy_chars\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__strlen_sse2_pminub\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__read_nocancel\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"system_call_fastpath\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SyS_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"vfs_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"seq_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"proc_single_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"proc_tgid_stat\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"do_task_stat\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__delayacct_blkio_ticks\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_raw_spin_unlock_irqrestore\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"proc_pid_status\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"seq_bitmap\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"bitmap_scnprintf\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"bitmap_scnprintf.part.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"scnprintf\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"vscnprintf\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"vsnprintf\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"format_decode\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"kernfs_fop_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"kernfs_seq_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sysfs_kf_seq_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dev_attr_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"part_stat_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"part_in_flight\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"blk_mq_in_flight\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"blk_mq_queue_tag_busy_iter\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"copy_user_enhanced_fast_string\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"proc_reg_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"meminfo_proc_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"get_vmalloc_info\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"aqs::CThreadUtil::ThreadFunc\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operatordelete\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CProtocolHandlerThread::run\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CSingleton::GetInstance\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CResourceMonitor::SetThreadHeartbeat\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CMonitor::SetThreadHeartbeat\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"aqs::CMutexLockUtil::CMutexLockUtil\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"aqs::CGetTickClock::GetClock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__pthread_rwlock_rdlock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pthread_rwlock_rdlock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"aqs::CReadLockUtil::CReadLockUtil\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::map::find\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::_Rb_tree\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::less::operator\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::_Rb_tree_iterator::_Rb_tree_iterator\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__GI___pthread_mutex_lock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pthread_mutex_lock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__nanosleep_nocancel\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SyS_nanosleep\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__check_object_size\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__virt_addr_valid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"hrtimer_nanosleep\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"hrtimer_init\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"do_nanosleep\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"schedule\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__schedule\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rcu_note_context_switch\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"finish_task_switch\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"hrtimer_start_range_ns\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"lock_hrtimer_base.isra.20\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_raw_spin_lock_irqsave\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__audit_syscall_entry\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::run\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::list::empty\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"stIpcRawMsg::stIpcRawMsg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::HandleRecvRawMsg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::basic_string::~basic_string\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::OnRecvClientData\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::InsertMsg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::list::push_back\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::list::_M_insert\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::list::_M_create_node\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__gnu_cxx::new_allocator::allocate\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ParseIpcDataEx\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"boolCSimpleSerialization::GetInt\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CSimpleSerialization::GetMemberForInteger\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::HandleSendMsg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::SendIpcMsgPri\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CSelfGuardIpc::IpcRecvMsg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CNetWork::run\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CNetWork::PeekRecvMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CNetWork::ReadOneMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"evthread_use_pthreads\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pthread_self\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"bufferevent_get_input\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CAtomicInt64::Get\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CNetWork::PeekSendMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CTcpMessageBuffer::MarkSendMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CNetWork::GetSendMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__SendMessage::__SendMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__epoll_wait_nocancel\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"system_call_after_swapgs\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"!48c69361\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"!48c672e9\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"!48c20f45\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"!48c2106d\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"!48c2eca3\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SyS_epoll_wait\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ep_poll\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__fdget\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__fget_light\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\"maxSelf\\\\\\\\\\\\\\":92,\\\\\\\\\\\\\\"numTicks\\\\\\\\\\\\\\":268,\\\\\\\\\\\\\\"levels\\\\\\\\\\\\\\":[[0,268,0,0],[0,268,0,1],[0,268,92,2],[92,10,0,3,0,6,1,10,0,139,14,40,0,7,0,100,0,14,0,57],[92,8,0,4,0,2,2,9,1,5,0,11,14,3,3,41,0,36,0,42,0,3,3,6,0,45,3,57,0,15,1,72,0,3,3,43,0,20,0,89,0,1,1,101,0,1,0,102,0,5,0,11,0,1,1,101,0,13,0,11],[92,1,1,5,0,2,2,6,0,4,4,7,0,1,1,8,3,5,0,12,17,1,1,43,0,5,5,44,0,30,1,45,6,41,1,11,0,1,1,71,1,1,1,73,0,6,0,45,0,2,2,74,0,3,0,75,0,2,0,86,3,7,0,90,0,1,1,95,0,2,0,45,0,5,0,96,0,1,1,76,0,3,3,99,0,1,1,6,1,1,0,103,0,4,0,107,0,1,1,109,1,13,0,58],[103,5,0,13,24,1,1,46,0,3,3,47,0,5,5,43,0,16,0,44,0,1,1,55,0,1,1,56,0,2,2,6,7,39,1,58,0,1,1,36,3,3,0,44,0,1,1,6,0,2,2,51,2,1,1,76,0,2,0,77,0,1,0,87,0,1,1,6,3,7,1,91,1,2,0,44,0,3,3,97,0,2,0,98,6,1,0,104,0,2,0,108,0,2,0,109,2,2,2,59,0,11,0,61],[103,2,0,14,0,1,0,28,0,1,1,36,0,1,0,37,33,1,1,43,0,2,2,48,0,2,2,49,0,2,2,6,0,2,2,50,0,7,0,51,12,4,2,59,0,1,1,60,0,33,1,61,4,1,1,49,0,1,1,50,0,1,0,51,6,1,0,78,0,1,0,83,0,1,0,88,5,1,1,92,0,1,1,6,0,1,1,93,0,3,3,94,1,1,0,51,0,1,1,48,3,1,1,55,0,1,1,6,6,1,0,105,0,2,2,19,0,2,2,110,4,11,0,63],[103,2,0,15,0,1,0,14,1,1,0,14,42,6,3,52,0,1,1,6,14,2,2,60,2,2,2,62,0,30,0,63,6,1,1,52,6,1,0,79,0,1,0,84,0,1,1,9,12,1,1,52,12,1,1,106,8,5,1,64,0,6,0,68],[103,1,0,16,0,1,0,20,0,1,0,29,1,1,0,38,45,2,2,53,0,1,1,54,21,15,0,64,0,15,0,68,13,1,0,80,0,1,1,85,36,4,0,65,0,6,6,19],[103,1,0,17,0,1,0,21,0,1,0,30,1,1,1,39,69,15,0,65,0,1,0,69,0,14,14,19,13,1,0,81,37,4,4,67],[103,1,0,18,0,1,0,22,0,1,0,31,71,2,2,66,0,13,13,67,0,1,1,70,27,1,1,82],[103,1,1,19,0,1,0,23,0,1,0,32],[104,1,0,24,0,1,0,33],[104,1,0,25,0,1,0,34],[104,1,0,26,0,1,1,35],[104,1,1,27]]},\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"metadata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"liveTrace\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sampleRate\\\\\\\\\\\\\\":100,\\\\\\\\\\\\\\"spyName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cprof\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"units\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"samples\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxNodes\\\\\\\\\\\\\\":1024,\\\\\\\\\\\\\\"appName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"liveTrace.profiling\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"format\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"single\\\\\\\\\\\\\\"}}\\\\\\"\\\\n\\"\\n ]\\n ]\\n }\\n }\\n}","type":"json"}]', - 'title' => '获取热点追踪结果', - ], - 'GetHotspotPidList' => [ - 'summary' => '获取某个实例的pid列表', - 'path' => '/api/v1/openapi/proxy/post/livetrace_hotspot_pid_list', - 'methods' => [ - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Sysom.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message. %s.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ['errorCode' => 'SysomOpenAPI.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ], ], - 'schemes' => [ - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '删除告警联系人', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": \\"{}\\"\\n}","type":"json"}]', + ], + 'DeleteAlertStrategy' => [ + 'summary' => '用户删除推送告警的策略', + 'path' => '/api/v1/alertPusher/alert/deleteStrategy', + 'methods' => ['delete'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxJZOVCX', - ], + 'abilityTreeNodes' => ['FEATUREalinuxJZOVCX'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求Body', - 'type' => 'object', - 'properties' => [ - 'table' => [ - 'description' => '查询表名', - 'type' => 'string', - 'required' => true, - 'example' => 'prof_on', - ], - 'instance' => [ - 'description' => '实例ID', - 'type' => 'string', - 'required' => true, - 'example' => 'i-2ze5ru5rjurix7f71sxv', - ], - 'beg_start' => [ - 'description' => '起始时间', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725413647000', - ], - 'beg_end' => [ - 'description' => '终止时间', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725413947000', - ], - ], - 'required' => false, - ], + 'name' => 'id', + 'in' => 'query', + 'schema' => ['description' => '告警策略id', 'type' => 'string', 'required' => true, 'example' => '1'], ], ], 'responses' => [ @@ -1884,167 +910,135 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '错误码', - 'type' => 'string', - 'example' => 'SysomOpenAPI.InvalidParameter', - ], - 'message' => [ - 'description' => '返回信息', - 'type' => 'string', - 'example' => 'Success', - ], - 'data' => [ - 'description' => '返回数据', - 'type' => 'object', - 'properties' => [ - 'columns' => [ - 'description' => '字段名称列表', - 'type' => 'array', - 'items' => [ - 'description' => '字段名称', - 'type' => 'string', - 'example' => '"time", "pid", "comm"', - ], - ], - 'values' => [ - 'description' => '进程信息列表', - 'type' => 'array', - 'items' => [ - 'description' => '进程信息', - 'type' => 'array', - 'items' => [ - 'description' => '进程信息详情', - 'type' => 'string', - 'example' => '"2024-09-04T01:04:30Z","6890","coredns"', - ], - ], - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'success'], + 'data' => ['description' => '返回数据。', 'type' => 'any', 'example' => '{'."\n" + .' "uid": "1808078950770264",'."\n" + .' "name": "test",'."\n" + .' "strategy": {'."\n" + .' "items": ['."\n" + .' "节点CPU使用率检测"'."\n" + .' ],'."\n" + .' "clusters": ['."\n" + .' "1"'."\n" + .' ]'."\n" + .' },'."\n" + .' "enabled": false,'."\n" + .' "id": 1,'."\n" + .' "created_at": 1753170771,'."\n" + .' "updated_at": 1753170811'."\n" + .' }'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": \\"{\\\\n \\\\\\"uid\\\\\\": \\\\\\"1808078950770264\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"test\\\\\\",\\\\n \\\\\\"strategy\\\\\\": {\\\\n \\\\\\"items\\\\\\": [\\\\n \\\\\\"节点CPU使用率检测\\\\\\"\\\\n ],\\\\n \\\\\\"clusters\\\\\\": [\\\\n \\\\\\"1\\\\\\"\\\\n ]\\\\n },\\\\n \\\\\\"enabled\\\\\\": false,\\\\n \\\\\\"id\\\\\\": 1,\\\\n \\\\\\"created_at\\\\\\": 1753170771,\\\\n \\\\\\"updated_at\\\\\\": 1753170811\\\\n }\\"\\n}","type":"json"}]', + 'title' => '删除告警策略', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sysom:DeleteAlertStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"SysomOpenAPI.InvalidParameter\\",\\n \\"message\\": \\"Success\\",\\n \\"data\\": {\\n \\"columns\\": [\\n \\"\\\\\\"time\\\\\\", \\\\\\"pid\\\\\\", \\\\\\"comm\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"2024-09-04T01:04:30Z\\\\\\",\\\\\\"6890\\\\\\",\\\\\\"coredns\\\\\\"\\"\\n ]\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取pid列表', ], - 'GetHotspotInstanceList' => [ - 'summary' => '获取热点实例列表', - 'path' => '/api/v1/openapi/proxy/post/livetrace_hotspot_instance_list', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'DescribeMetricList' => [ + 'summary' => '查询指标', + 'path' => '/api/v1/openapi/proxy/get/describeMetricList', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxJZOVCX', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求Body', - 'type' => 'object', - 'properties' => [ - 'table' => [ - 'description' => '查询表名', - 'type' => 'string', - 'required' => true, - 'example' => 'prof_on', - ], - 'beg_start' => [ - 'description' => '起始时间', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725413647000', - ], - 'beg_end' => [ - 'description' => '终止时间', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725413947000', - ], - ], - 'required' => false, - ], + 'name' => 'instance', + 'in' => 'query', + 'schema' => ['title' => '实例ID。', 'description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9d00ut2ska3mlyhn6j'], + ], + [ + 'name' => 'metricName', + 'in' => 'query', + 'schema' => ['title' => '监控项名称', 'description' => '监控项名称', 'type' => 'string', 'required' => false, 'example' => 'sysom_cpu_graph'], + ], + [ + 'name' => 'startTime', + 'in' => 'query', + 'schema' => ['title' => '起始时间,秒级时间戳'."\n", 'description' => '起始时间,秒级时间戳'."\n", 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1709740800000'], + ], + [ + 'name' => 'endTime', + 'in' => 'query', + 'schema' => ['title' => '截止时间,秒级时间戳', 'description' => '截止时间,秒级时间戳', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1683618245000'], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'title' => '响应参数:'."\n", + 'description' => '响应参数:'."\n", 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', - ], - 'code' => [ - 'description' => '错误码', - 'type' => 'string', - 'example' => 'SysomOpenAPI.ServerError', - ], - 'message' => [ - 'description' => '描述信息', - 'type' => 'string', - 'example' => 'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['title' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['title' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => '分析ID: 56dae746-ef55-4f77-8373-cb3594c41457'."\n" + .'机器i-bp164ns76pzirbwv0snt分析失败, 失败原因: Not get GPU trace data for \'56dae746-ef55-4f77-8373-cb3594c41457\' \'[\'93811\']\'!'], 'data' => [ + 'title' => '返回数据。', 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'columns' => [ - 'description' => '字段名称', - 'type' => 'array', - 'items' => [ - 'description' => '查询的字段', - 'type' => 'string', - 'example' => 'column', - ], - ], - 'values' => [ - 'description' => '实例列表', - 'type' => 'array', - 'items' => [ - 'description' => '实例ID', - 'type' => 'string', - 'example' => 'i-2ze5ru5rjurix7f71sxv', + 'type' => 'array', + 'items' => [ + 'title' => '返回数据。', + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'metricName' => ['title' => '监控项名称', 'description' => '监控项名称', 'type' => 'string', 'example' => 'sysom_cpu_usage_idle'], + 'labels' => ['title' => '监控项标签', 'description' => '监控项标签', 'type' => 'string', 'example' => '{\'taskExecName\': \'build-and-deploy\', \'pipelineName\': \'pipeline-run-1722909642357\'}'], + 'values' => [ + 'description' => '指标数据', + 'type' => 'array', + 'items' => [ + 'title' => '监控数据', + 'description' => '一个数据点,格式为 [<时间>, <数值>]', + 'type' => 'array', + 'items' => ['description' => '时间/数值', 'type' => 'string', 'example' => '1743036429.0'], + 'example' => '["1743036429.0", "10489572.0"]', + ], ], ], ], @@ -2053,42 +1047,48 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"分析ID: 56dae746-ef55-4f77-8373-cb3594c41457\\\\n机器i-bp164ns76pzirbwv0snt分析失败, 失败原因: Not get GPU trace data for \'56dae746-ef55-4f77-8373-cb3594c41457\' \'[\'93811\']\'!\\",\\n \\"data\\": [\\n {\\n \\"metricName\\": \\"sysom_cpu_usage_idle\\",\\n \\"labels\\": \\"{\'taskExecName\': \'build-and-deploy\', \'pipelineName\': \'pipeline-run-1722909642357\'}\\",\\n \\"values\\": [\\n [\\n \\"1743036429.0\\"\\n ]\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => '查询指标数据', + 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:DescribeMetricList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"columns\\": [\\n \\"column\\"\\n ],\\n \\"values\\": [\\n \\"i-2ze5ru5rjurix7f71sxv\\"\\n ]\\n }\\n}","type":"json"}]', - 'title' => '获取实例列表', ], - 'GetHotspotCompare' => [ - 'summary' => '获取热点对比追踪结果', - 'path' => '/api/v1/openapi/proxy/post/livetrace_hotspot_compare', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GenerateCopilotResponse' => [ + 'summary' => '获取copilot服务的返回结果', + 'path' => '/api/v1/copilot/generate_copilot_response', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '231282', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ @@ -2099,72 +1099,7 @@ 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'table' => [ - 'description' => '查询表名', - 'type' => 'string', - 'required' => true, - 'example' => 'prof_on', - ], - 'instance1' => [ - 'description' => '实例1', - 'type' => 'string', - 'required' => true, - 'example' => 'i-2zei55fwj8nnu31h3z46"', - ], - 'pid1' => [ - 'description' => '实例1进程', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '0', - ], - 'beg1_start' => [ - 'description' => '起始时间1', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725415474000', - ], - 'beg1_end' => [ - 'description' => '终止时间1', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725415774000', - ], - 'instance2' => [ - 'description' => '实例2', - 'type' => 'string', - 'required' => true, - 'example' => '0', - ], - 'pid2' => [ - 'description' => '实例2进程', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => 'i-2zei55fwj8nnu31h3z46', - ], - 'beg2_start' => [ - 'description' => '起始时间2', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725415474000', - ], - 'beg2_end' => [ - 'description' => '终止时间2', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725415774000', - ], - 'hot_type' => [ - 'description' => '热点类型', - 'type' => 'string', - 'required' => false, - 'example' => 'alloc', - ], + 'llmParamString' => ['title' => '对接copilot llm服务的入参,参考标准LLM接口入参dict,需要转化成string并传入llmParamString中', 'description' => '对接copilot llm服务的入参,参考标准LLM接口入参dict,需要转化成string并传入llmParamString中', 'type' => 'string', 'required' => false, 'example' => '"{\\"model\\":\\"Qwen-7B-Chat\\",\\"temperature\\":0.9,\\"max_tokens\\":1000,\\"top_p\\":1,\\"frequency_penalty\\":0.0,\\"presence_penalty\\":0.6,\\"messages\\":[{\\"role\\":\\"user\\",\\"content\\":\\"我是os工程师\\"},{\\"role\\":\\"assistant\\",\\"content\\":\\"您好。我是AI语言模型,很高兴为您服 务。有什么我能帮助您的呢\\"},{\\"role\\":\\"user\\",\\"content\\":\\"你知道什么是alinux吗\\"}]}"'], ], 'required' => false, ], @@ -2177,156 +1112,54 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', - ], - 'code' => [ - 'description' => '错误码', - 'type' => 'string', - 'example' => 'SysomOpenAPI.ServerError'."\n", - ], - 'message' => [ - 'description' => '返回信息', - 'type' => 'string', - 'example' => 'success', - ], - 'data' => [ - 'description' => '返回数据', - 'type' => 'object', - 'properties' => [ - 'flame' => [ - 'description' => '差分火焰图数据', - 'type' => 'object', - 'properties' => [ - 'columns' => [ - 'description' => '字段名称列表', - 'type' => 'array', - 'items' => [ - 'description' => '字段名称', - 'type' => 'string', - 'example' => '"sample", "time"', - ], - ], - 'values' => [ - 'description' => '火焰图数据列表', - 'type' => 'array', - 'items' => [ - 'description' => '火焰图数据', - 'type' => 'array', - 'items' => [ - 'description' => '时间或者采样数据', - 'type' => 'string', - 'example' => '"{\\"metadata\\":{\\"spyName\\":\\"cprof\\",\\"leftTicks\\":38,\\"name\\":\\"liveTrace\\",\\"rightTicks\\":38,\\"format\\":\\"double\\",\\"units\\":\\"samples\\",\\"appName\\":\\"liveTrace.profiling\\",\\"sampleRate\\":100},\\"version\\":1,\\"other\\":{\\"Table\\":\\"prof_on\\",\\"leftInstance\\":\\"i-2zei55fwj8nnu31h3z46\\",\\"rightInstance\\":\\"i-2zei55fwj8nnu31h3z46\\",\\"leftPid\\":0,\\"rightPid\\":0},\\"flamebearer\\":{\\"maxSelf\\":7,\\"names\\":[\\"total\\",\\"host\\",\\"idle:0\\",\\"default_enter_idle\\",\\"default_idle\\",\\"asm_common_interrupt\\",\\"common_interrupt\\",\\"irq_exit_rcu\\",\\"do_softirq_own_stack\\",\\"asm_call_irq_on_stack\\",\\"__do_softirq\\",\\"net_rx_action\\",\\"napi_poll\\",\\"nsh_cleanup_module\\",\\"napi_complete_done\\",\\"netif_receive_skb_list_internal\\",\\"__netif_receive_skb_list\\",\\"__netif_receive_skb_list_core\\",\\"__netif_receive_skb_core\\",\\"ip_local_deliver_finish\\",\\"ip_protocol_deliver_rcu\\",\\"tcp_v4_rcv\\",\\"__xfrm_policy_check2.constprop.0\\",\\"ip_local_deliver\\",\\"nf_hook_slow\\",\\"secondary_startup_64_no_verify\\",\\"cpu_startup_entry\\",\\"do_idle\\",\\"cpuidle_idle_call\\",\\"haltpoll_reflect\\",\\"cpuidle_enter\\",\\"cpuidle_enter_state\\",\\"sched_clock_cpu\\",\\"sched_clock\\",\\"kvm_sched_clock_read\\",\\"pvclock_clocksource_read\\",\\"asm_sysvec_call_function_single\\",\\"sysvec_call_function_single\\",\\"_nohz_idle_balance\\",\\"rebalance_domains\\",\\"load_balance\\",\\"cpumask_next_and\\",\\"_find_next_bit.constprop.0\\",\\"update_blocked_averages\\",\\"asm_sysvec_apic_timer_interrupt\\",\\"sysvec_apic_timer_interrupt\\",\\"rcu_core\\",\\"rcu_report_qs_rdp\\",\\"_raw_spin_unlock_irqrestore\\",\\"rcu_do_batch\\",\\"__put_task_struct\\",\\"rcu_cblist_dequeue\\",\\"run_timer_softirq\\",\\"__run_timers.part.0\\",\\"run_rebalance_domains\\",\\"start_kernel\\",\\"call_timer_fn\\",\\"process_timeout\\",\\"note_gp_changes\\",\\"schedule_idle\\",\\"__schedule\\"],\\"numTicks\\":76,\\"levels\\":[[0,38,0,0,38,0,0],[0,38,0,0,38,0,1],[0,38,0,0,38,0,2],[0,2,0,0,2,0,3,0,1,0,0,1,0,4,0,35,0,0,35,0,25],[0,2,0,0,2,0,4,0,1,0,0,1,0,5,0,27,3,0,27,3,26,0,8,0,0,8,0,55],[0,2,0,0,2,0,5,0,1,0,0,1,0,6,3,24,0,3,24,0,27,0,8,0,0,8,0,26],[0,2,0,0,2,0,6,0,1,0,0,1,0,7,3,24,0,3,24,0,28,0,8,0,0,8,0,27],[0,2,0,0,2,0,7,0,1,0,0,1,0,8,3,1,1,3,1,1,29,0,23,0,0,23,0,30,0,7,0,0,7,0,28,0,1,0,0,1,0,59],[0,2,0,0,2,0,8,0,1,0,0,1,0,9,4,23,0,4,23,0,31,0,6,0,0,6,0,30,0,1,1,0,1,1,29,0,1,1,0,1,1,60],[0,2,0,0,2,0,9,0,1,0,0,1,0,10,4,4,1,4,4,1,32,0,19,0,0,19,0,3,0,6,0,0,6,0,31],[0,2,0,0,2,0,10,0,1,0,0,1,0,11,5,3,0,5,3,0,33,0,19,0,0,19,0,4,0,1,0,0,1,0,32,0,5,0,0,5,0,3],[0,2,0,0,2,0,11,0,1,0,0,1,0,12,5,3,0,5,3,0,34,0,2,0,0,2,0,36,0,17,0,0,17,0,44,0,1,0,0,1,0,33,0,5,0,0,5,0,4],[0,2,0,0,2,0,12,0,1,0,0,1,0,13,5,3,3,5,3,3,35,0,2,0,0,2,0,37,0,17,0,0,17,0,45,0,1,0,0,1,0,34,0,1,0,0,1,0,36,0,4,0,0,4,0,44],[0,2,0,0,2,0,13,0,1,0,0,1,0,14,8,2,0,8,2,0,7,0,17,0,0,17,0,7,0,1,1,0,1,1,35,0,1,0,0,1,0,37,0,4,0,0,4,0,45],[0,2,0,0,2,0,14,0,1,0,0,1,0,15,8,2,0,8,2,0,8,0,17,0,0,17,0,8,1,1,0,1,1,0,7,0,4,0,0,4,0,7],[0,2,0,0,2,0,15,0,1,0,0,1,0,16,8,2,0,8,2,0,9,0,17,0,0,17,0,9,1,1,0,1,1,0,8,0,4,0,0,4,0,8],[0,2,0,0,2,0,16,0,1,0,0,1,0,17,8,2,0,8,2,0,10,0,17,0,0,17,0,10,1,1,0,1,1,0,9,0,4,0,0,4,0,9],[0,2,0,0,2,0,17,0,1,0,0,1,0,18,8,2,0,8,2,0,38,0,4,0,0,4,0,46,0,3,0,0,3,0,39,0,2,0,0,2,0,52,0,1,1,0,1,1,53,0,7,0,0,7,0,54,1,1,0,1,1,0,10,0,4,1,0,4,1,10],[0,2,0,0,2,0,18,0,1,0,0,1,0,23,8,1,0,8,1,0,39,0,1,1,0,1,1,43,0,2,0,0,2,0,47,0,2,0,0,2,0,49,0,3,2,0,3,2,40,0,2,2,0,2,2,53,1,7,7,1,7,7,43,1,1,0,1,1,0,38,1,1,0,1,1,0,52,0,1,0,0,1,0,54,0,1,0,0,1,0,46],[0,1,0,0,1,0,19,0,1,0,0,1,0,23,0,1,0,0,1,0,24,8,1,0,8,1,0,40,1,2,2,1,2,2,48,0,1,1,0,1,1,50,0,1,1,0,1,1,51,2,1,0,2,1,0,41,11,1,1,11,1,1,43,1,1,0,1,1,0,53,0,1,1,0,1,1,43,0,1,0,0,1,0,58],[0,1,0,0,1,0,20,0,1,0,0,1,0,24,0,1,0,0,1,0,13,8,1,0,8,1,0,41,7,1,1,7,1,1,42,13,1,0,13,1,0,56,1,1,1,1,1,1,48],[0,1,0,0,1,0,21,0,1,0,0,1,0,13,0,1,0,0,1,0,13,8,1,1,8,1,1,42,21,1,1,21,1,1,57],[0,1,1,0,1,1,22,0,1,1,0,1,1,13,0,1,1,0,1,1,13]]},\\"timeLine\\":{\\"left\\":{\\"durationDelta\\":10,\\"startTime\\":1725415480,\\"samples\\":[3,2,5,5,7,8,7,1]},\\"right\\":{\\"durationDelta\\":10,\\"startTime\\":1725415480,\\"samples\\":[3,2,5,5,7,8,7,1]}}}"'."\n", - ], - ], - ], - ], - ], - 'series_instance1' => [ - 'description' => '热点时序序列1', - 'type' => 'object', - 'properties' => [ - 'columns' => [ - 'description' => '字段名称列表', - 'type' => 'array', - 'items' => [ - 'description' => '字段名称', - 'type' => 'string', - 'example' => '"time", "EXPR$1"', - ], - ], - 'values' => [ - 'description' => '热点时序数据列表', - 'type' => 'array', - 'items' => [ - 'description' => '热点时序数据', - 'type' => 'array', - 'items' => [ - 'description' => '时间或者热点采样值', - 'type' => 'string', - 'example' => '"2024-09-04T02:04:40Z", "3"', - ], - ], - ], - ], - ], - 'series_instance2' => [ - 'description' => '热点时序序列2', - 'type' => 'object', - 'properties' => [ - 'columns' => [ - 'description' => '字段名称列表', - 'type' => 'array', - 'items' => [ - 'description' => '字段名称', - 'type' => 'string', - 'example' => '"time", "EXPR$1"', - ], - ], - 'values' => [ - 'description' => '热点时序数据列表', - 'type' => 'array', - 'items' => [ - 'description' => '热点时序数据', - 'type' => 'array', - 'items' => [ - 'description' => '时间或者热点采样值', - 'type' => 'string', - 'example' => '"2024-09-04T02:04:40Z", "3"', - ], - ], - ], - ], - ], - ], - ], - 'success' => [ - 'description' => 'true 接口调用成功,false 接口调用失败', - 'type' => 'boolean', - 'example' => 'true', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'code' => ['title' => '错误码', 'description' => '错误码', 'type' => 'string', 'example' => 'SysomOpenAPI.ServerError'], + 'massage' => ['title' => '错误码描述,若无错误则为空', 'description' => '错误码描述,若无错误则为空', 'type' => 'string', 'example' => 'Requests for llm service failed'], + 'data' => ['title' => 'llm服务返回的data,字符串类型,如为dict需自行转换解析', 'description' => 'llm服务返回的data,字符串类型,如为dict需自行转换解析', 'type' => 'string', 'example' => '{\'choices\': [{\'finish_reason\': \'stop\', \'index\': 0, \'message\': {\'content\': \'Alinux是一个基于Linux的开源操作系统,它主要由阿里巴巴集团开发和维护,专为大规模云计算和大数据处理环境设计。这个系统针对高并发、低延迟以及资源利用率优化进行了深度定制和改良,以适应阿里内部复杂且庞大的业务需求。由于其在性能和稳定性方面的优秀表现,Alinux也在逐渐被外部的一些企业和研究机构采用,特别是在需要处理高负载场景的领域。与标准Linux发行版相比,Alinux可能包含特定的内核补丁、优化工具集以及其他阿里巴巴内部研发的特性。然而,值得注意的是,尽管名称中的“Ali”可能让人联想到与阿里巴巴的紧密关系,但Alinux作为一个项目,已经于2021年成为开放原子开源基金会(OpenAtom Foundation)下的一个子项目,即 OpenAnolis,这标志着它的社区化和广泛化的进程。\', \'role\': \'assistant\'}}], \'model\': \'Qwen1.5\', \'sentiment\': [], \'status_code\': 200, \'time\': 6.836989402770996, \'usage\': {\'completion_tokens\': 180, \'prompt_tokens\': 176, \'time_dict\': {\'auto_regression_time\': 0.03798324399524265, \'speed\': 26.327398474054736, \'total_generate_time\': 6.836983919143677}, \'total_tokens\': 356}}'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"massage\\": \\"Requests for llm service failed\\",\\n \\"data\\": \\"{\'choices\': [{\'finish_reason\': \'stop\', \'index\': 0, \'message\': {\'content\': \'Alinux是一个基于Linux的开源操作系统,它主要由阿里巴巴集团开发和维护,专为大规模云计算和大数据处理环境设计。这个系统针对高并发、低延迟以及资源利用率优化进行了深度定制和改良,以适应阿里内部复杂且庞大的业务需求。由于其在性能和稳定性方面的优秀表现,Alinux也在逐渐被外部的一些企业和研究机构采用,特别是在需要处理高负载场景的领域。与标准Linux发行版相比,Alinux可能包含特定的内核补丁、优化工具集以及其他阿里巴巴内部研发的特性。然而,值得注意的是,尽管名称中的“Ali”可能让人联想到与阿里巴巴的紧密关系,但Alinux作为一个项目,已经于2021年成为开放原子开源基金会(OpenAtom Foundation)下的一个子项目,即 OpenAnolis,这标志着它的社区化和广泛化的进程。\', \'role\': \'assistant\'}}], \'model\': \'Qwen1.5\', \'sentiment\': [], \'status_code\': 200, \'time\': 6.836989402770996, \'usage\': {\'completion_tokens\': 180, \'prompt_tokens\': 176, \'time_dict\': {\'auto_regression_time\': 0.03798324399524265, \'speed\': 26.327398474054736, \'total_generate_time\': 6.836983919143677}, \'total_tokens\': 356}}\\"\\n}","type":"json"}]', + 'title' => '请求copilot服务', + 'description' => '- 需要按通用LLM服务输入参数填充参数,转为string后赋给llmParamString'."\n" + .'- 返回数据需将string转为dict后使用,参考通用LLM服务返回格式', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:GenerateCopilotResponse', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\\\n\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"flame\\": {\\n \\"columns\\": [\\n \\"\\\\\\"sample\\\\\\", \\\\\\"time\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"{\\\\\\\\\\\\\\"metadata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"spyName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cprof\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"leftTicks\\\\\\\\\\\\\\":38,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"liveTrace\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rightTicks\\\\\\\\\\\\\\":38,\\\\\\\\\\\\\\"format\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"double\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"units\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"samples\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"appName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"liveTrace.profiling\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sampleRate\\\\\\\\\\\\\\":100},\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"other\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"Table\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"prof_on\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"leftInstance\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"i-2zei55fwj8nnu31h3z46\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rightInstance\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"i-2zei55fwj8nnu31h3z46\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"leftPid\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"rightPid\\\\\\\\\\\\\\":0},\\\\\\\\\\\\\\"flamebearer\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"maxSelf\\\\\\\\\\\\\\":7,\\\\\\\\\\\\\\"names\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"total\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"host\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"idle:0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"default_enter_idle\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"default_idle\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"asm_common_interrupt\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"common_interrupt\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"irq_exit_rcu\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"do_softirq_own_stack\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"asm_call_irq_on_stack\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__do_softirq\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"net_rx_action\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"napi_poll\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"nsh_cleanup_module\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"napi_complete_done\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"netif_receive_skb_list_internal\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__netif_receive_skb_list\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__netif_receive_skb_list_core\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__netif_receive_skb_core\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ip_local_deliver_finish\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ip_protocol_deliver_rcu\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"tcp_v4_rcv\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__xfrm_policy_check2.constprop.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ip_local_deliver\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"nf_hook_slow\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"secondary_startup_64_no_verify\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpu_startup_entry\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"do_idle\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpuidle_idle_call\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"haltpoll_reflect\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpuidle_enter\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpuidle_enter_state\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sched_clock_cpu\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sched_clock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"kvm_sched_clock_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pvclock_clocksource_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"asm_sysvec_call_function_single\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sysvec_call_function_single\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_nohz_idle_balance\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rebalance_domains\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"load_balance\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpumask_next_and\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_find_next_bit.constprop.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"update_blocked_averages\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"asm_sysvec_apic_timer_interrupt\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sysvec_apic_timer_interrupt\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rcu_core\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rcu_report_qs_rdp\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_raw_spin_unlock_irqrestore\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rcu_do_batch\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__put_task_struct\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rcu_cblist_dequeue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"run_timer_softirq\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__run_timers.part.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"run_rebalance_domains\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"start_kernel\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"call_timer_fn\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"process_timeout\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"note_gp_changes\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"schedule_idle\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__schedule\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\"numTicks\\\\\\\\\\\\\\":76,\\\\\\\\\\\\\\"levels\\\\\\\\\\\\\\":[[0,38,0,0,38,0,0],[0,38,0,0,38,0,1],[0,38,0,0,38,0,2],[0,2,0,0,2,0,3,0,1,0,0,1,0,4,0,35,0,0,35,0,25],[0,2,0,0,2,0,4,0,1,0,0,1,0,5,0,27,3,0,27,3,26,0,8,0,0,8,0,55],[0,2,0,0,2,0,5,0,1,0,0,1,0,6,3,24,0,3,24,0,27,0,8,0,0,8,0,26],[0,2,0,0,2,0,6,0,1,0,0,1,0,7,3,24,0,3,24,0,28,0,8,0,0,8,0,27],[0,2,0,0,2,0,7,0,1,0,0,1,0,8,3,1,1,3,1,1,29,0,23,0,0,23,0,30,0,7,0,0,7,0,28,0,1,0,0,1,0,59],[0,2,0,0,2,0,8,0,1,0,0,1,0,9,4,23,0,4,23,0,31,0,6,0,0,6,0,30,0,1,1,0,1,1,29,0,1,1,0,1,1,60],[0,2,0,0,2,0,9,0,1,0,0,1,0,10,4,4,1,4,4,1,32,0,19,0,0,19,0,3,0,6,0,0,6,0,31],[0,2,0,0,2,0,10,0,1,0,0,1,0,11,5,3,0,5,3,0,33,0,19,0,0,19,0,4,0,1,0,0,1,0,32,0,5,0,0,5,0,3],[0,2,0,0,2,0,11,0,1,0,0,1,0,12,5,3,0,5,3,0,34,0,2,0,0,2,0,36,0,17,0,0,17,0,44,0,1,0,0,1,0,33,0,5,0,0,5,0,4],[0,2,0,0,2,0,12,0,1,0,0,1,0,13,5,3,3,5,3,3,35,0,2,0,0,2,0,37,0,17,0,0,17,0,45,0,1,0,0,1,0,34,0,1,0,0,1,0,36,0,4,0,0,4,0,44],[0,2,0,0,2,0,13,0,1,0,0,1,0,14,8,2,0,8,2,0,7,0,17,0,0,17,0,7,0,1,1,0,1,1,35,0,1,0,0,1,0,37,0,4,0,0,4,0,45],[0,2,0,0,2,0,14,0,1,0,0,1,0,15,8,2,0,8,2,0,8,0,17,0,0,17,0,8,1,1,0,1,1,0,7,0,4,0,0,4,0,7],[0,2,0,0,2,0,15,0,1,0,0,1,0,16,8,2,0,8,2,0,9,0,17,0,0,17,0,9,1,1,0,1,1,0,8,0,4,0,0,4,0,8],[0,2,0,0,2,0,16,0,1,0,0,1,0,17,8,2,0,8,2,0,10,0,17,0,0,17,0,10,1,1,0,1,1,0,9,0,4,0,0,4,0,9],[0,2,0,0,2,0,17,0,1,0,0,1,0,18,8,2,0,8,2,0,38,0,4,0,0,4,0,46,0,3,0,0,3,0,39,0,2,0,0,2,0,52,0,1,1,0,1,1,53,0,7,0,0,7,0,54,1,1,0,1,1,0,10,0,4,1,0,4,1,10],[0,2,0,0,2,0,18,0,1,0,0,1,0,23,8,1,0,8,1,0,39,0,1,1,0,1,1,43,0,2,0,0,2,0,47,0,2,0,0,2,0,49,0,3,2,0,3,2,40,0,2,2,0,2,2,53,1,7,7,1,7,7,43,1,1,0,1,1,0,38,1,1,0,1,1,0,52,0,1,0,0,1,0,54,0,1,0,0,1,0,46],[0,1,0,0,1,0,19,0,1,0,0,1,0,23,0,1,0,0,1,0,24,8,1,0,8,1,0,40,1,2,2,1,2,2,48,0,1,1,0,1,1,50,0,1,1,0,1,1,51,2,1,0,2,1,0,41,11,1,1,11,1,1,43,1,1,0,1,1,0,53,0,1,1,0,1,1,43,0,1,0,0,1,0,58],[0,1,0,0,1,0,20,0,1,0,0,1,0,24,0,1,0,0,1,0,13,8,1,0,8,1,0,41,7,1,1,7,1,1,42,13,1,0,13,1,0,56,1,1,1,1,1,1,48],[0,1,0,0,1,0,21,0,1,0,0,1,0,13,0,1,0,0,1,0,13,8,1,1,8,1,1,42,21,1,1,21,1,1,57],[0,1,1,0,1,1,22,0,1,1,0,1,1,13,0,1,1,0,1,1,13]]},\\\\\\\\\\\\\\"timeLine\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"left\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"durationDelta\\\\\\\\\\\\\\":10,\\\\\\\\\\\\\\"startTime\\\\\\\\\\\\\\":1725415480,\\\\\\\\\\\\\\"samples\\\\\\\\\\\\\\":[3,2,5,5,7,8,7,1]},\\\\\\\\\\\\\\"right\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"durationDelta\\\\\\\\\\\\\\":10,\\\\\\\\\\\\\\"startTime\\\\\\\\\\\\\\":1725415480,\\\\\\\\\\\\\\"samples\\\\\\\\\\\\\\":[3,2,5,5,7,8,7,1]}}}\\\\\\"\\\\n\\"\\n ]\\n ]\\n },\\n \\"series_instance1\\": {\\n \\"columns\\": [\\n \\"\\\\\\"time\\\\\\", \\\\\\"EXPR$1\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"2024-09-04T02:04:40Z\\\\\\", \\\\\\"3\\\\\\"\\"\\n ]\\n ]\\n },\\n \\"series_instance2\\": {\\n \\"columns\\": [\\n \\"\\\\\\"time\\\\\\", \\\\\\"EXPR$1\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"2024-09-04T02:04:40Z\\\\\\", \\\\\\"3\\\\\\"\\"\\n ]\\n ]\\n }\\n },\\n \\"success\\": true\\n}","type":"json"}]', - 'title' => '获取热点对比追踪结果', ], - 'GetHotspotAnalysis' => [ - 'summary' => '获取热点分析结果', - 'path' => '/api/v1/openapi/proxy/post/livetrace_hotspot_analysis', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GenerateCopilotStreamResponse' => [ + 'summary' => '流式copilot服务接口', + 'path' => '/api/v1/copilot/generate_copilot_stream_response', + 'methods' => ['post'], + 'schemes' => ['https', 'sse'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => [], + 'produces' => [], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxJZOVCX', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ @@ -2337,45 +1170,7 @@ 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'appType' => [ - 'description' => '应用类型', - 'type' => 'string', - 'required' => true, - 'example' => 'GR', - ], - 'pid' => [ - 'description' => '进程Pid', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1657494', - ], - 'instance' => [ - 'description' => '实例ID', - 'type' => 'string', - 'required' => true, - 'example' => 'i-2ze5ru5rjurix7f71sxv', - ], - 'beg_start' => [ - 'description' => '起始时间', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725410348000', - ], - 'beg_end' => [ - 'description' => '终止时间', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '1725413948000', - ], - 'table' => [ - 'description' => '查询表名', - 'type' => 'string', - 'required' => false, - 'example' => 'prof_on', - ], + 'llmParamString' => ['title' => '对接copilot llm服务的入参,参考标准LLM接口入参dict,需要转化成string并传入llmParamString中', 'description' => '对接copilot llm服务的入参,参考标准LLM接口入参dict,需要转化成string并传入llmParamString中', 'type' => 'string', 'required' => false, 'example' => '"{\\"model\\":\\"Qwen-7B-Chat\\",\\"temperature\\":0.9,\\"max_tokens\\":1000,\\"top_p\\":1,\\"frequency_penalty\\":0.0,\\"presence_penalty\\":0.6,\\"messages\\":[{\\"role\\":\\"user\\",\\"content\\":\\"我是os工程师\\"},{\\"role\\":\\"assistant\\",\\"content\\":\\"您好。我是AI语言模型,很高兴为您服 务。有什么我能帮助您的呢\\"},{\\"role\\":\\"user\\",\\"content\\":\\"你知道什么是alinux吗\\"}]}"'], ], 'required' => false, ], @@ -2388,77 +1183,55 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '错误码', - 'type' => 'string', - 'example' => 'SysomOpenAPI.ServerError', - ], - 'data' => [ - 'description' => '返回数据', - 'type' => 'string', - 'example' => '"AliYunDun:1657494进程(1657494):根据提供的热点调用栈信息,热点主要集中在`__nanosleep_nocancel`以及相关的系统调用`SyS_nanosleep`上,这表明进程在等待特定的时间间隔。通常这是由于应用中存在长时间的睡眠或高频率的定时操作导致的,比如定时任务、心跳检测等。\\n\\n应用代码在需要定期执行某些检查或等待外部事件时会使用`nanosleep`来实现精确的延时控制。为了优化这种情况,可以考虑以下方案:\\n- 评估是否可以减少定时任务的频率。\\n- 使用条件变量替代单纯的睡眠等待,以响应更快的事件触发。\\n- 如果是I/O密集型操作等待,考虑优化I/O路径或提升I/O效率。建议使用SysOM平台的IO诊断工具来进一步定位具体的I/O瓶颈。"', - ], - 'success' => [ - 'description' => '调用是否成功', - 'type' => 'boolean', - 'example' => 'True', - ], - 'message' => [ - 'description' => '响应消息', - 'type' => 'string', - 'example' => "\n" - .'success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['title' => '错误码', 'description' => '错误码', 'type' => 'string', 'example' => 'SysomOpenAPI.ServerError'."\n"], + 'message' => ['title' => '错误码描述,若无错误则为空', 'description' => '错误码描述,若无错误则为空', 'type' => 'string', 'example' => 'Requests for llm service failed'."\n"], + 'data' => ['title' => 'llm服务返回的data,字符串类型,如为dict需自行转换解析', 'description' => 'llm服务返回的data,字符串类型,如为dict需自行转换解析', 'type' => 'string', 'example' => '{\'choices\': [{\'finish_reason\': \'stop\', \'index\': 0, \'message\': {\'content\': \'Alinux是一个基于Linux的开源操作系统,它主要由阿里巴巴集团开发和维护,专为大规模云计算和大数据处理环境设计。这个系统针对高并发、低延迟以及资源利用率优化进行了深度定制和改良,以适应阿里内部复杂且庞大的业务需求。由于其在性能和稳定性方面的优秀表现,Alinux也在逐渐被外部的一些企业和研究机构采用,特别是在需要处理高负载场景的领域。与标准Linux发行版相比,Alinux可能包含特定的内核补丁、优化工具集以及其他阿里巴巴内部研发的特性。然而,值得注意的是,尽管名称中的“Ali”可能让人联想到与阿里巴巴的紧密关系,但Alinux作为一个项目,已经于2021年成为开放原子开源基金会(OpenAtom Foundation)下的一个子项目,即 OpenAnolis,这标志着它的社区化和广泛化的进程。\', \'role\': \'assistant\'}}], \'model\': \'Qwen1.5\', \'sentiment\': [], \'status_code\': 200, \'time\': 6.836989402770996, \'usage\': {\'completion_tokens\': 180, \'prompt_tokens\': 176, \'time_dict\': {\'auto_regression_time\': 0.03798324399524265, \'speed\': 26.327398474054736, \'total_generate_time\': 6.836983919143677}, \'total_tokens\': 356}}'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'eventInfo' => [ - 'enable' => false, - 'eventNames' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\\\n\\",\\n \\"message\\": \\"Requests for llm service failed\\\\n\\",\\n \\"data\\": \\"{\'choices\': [{\'finish_reason\': \'stop\', \'index\': 0, \'message\': {\'content\': \'Alinux是一个基于Linux的开源操作系统,它主要由阿里巴巴集团开发和维护,专为大规模云计算和大数据处理环境设计。这个系统针对高并发、低延迟以及资源利用率优化进行了深度定制和改良,以适应阿里内部复杂且庞大的业务需求。由于其在性能和稳定性方面的优秀表现,Alinux也在逐渐被外部的一些企业和研究机构采用,特别是在需要处理高负载场景的领域。与标准Linux发行版相比,Alinux可能包含特定的内核补丁、优化工具集以及其他阿里巴巴内部研发的特性。然而,值得注意的是,尽管名称中的“Ali”可能让人联想到与阿里巴巴的紧密关系,但Alinux作为一个项目,已经于2021年成为开放原子开源基金会(OpenAtom Foundation)下的一个子项目,即 OpenAnolis,这标志着它的社区化和广泛化的进程。\', \'role\': \'assistant\'}}], \'model\': \'Qwen1.5\', \'sentiment\': [], \'status_code\': 200, \'time\': 6.836989402770996, \'usage\': {\'completion_tokens\': 180, \'prompt_tokens\': 176, \'time_dict\': {\'auto_regression_time\': 0.03798324399524265, \'speed\': 26.327398474054736, \'total_generate_time\': 6.836983919143677}, \'total_tokens\': 356}}\\"\\n}","type":"json"}]', + 'title' => '请求os copilot服务流式sse接口', + 'description' => '- 需配合aliyun-tea-openapi-inner包的call_sseapi接口使用'."\n" + .'- 需要按通用LLM服务输入参数填充参数,转为string后赋给llmParamString'."\n" + .'- 返回数据需将string转为dict后使用,参考通用LLM服务返回格式', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:GenerateCopilotStreamResponse', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"data\\": \\"\\\\\\"AliYunDun:1657494进程(1657494):根据提供的热点调用栈信息,热点主要集中在`__nanosleep_nocancel`以及相关的系统调用`SyS_nanosleep`上,这表明进程在等待特定的时间间隔。通常这是由于应用中存在长时间的睡眠或高频率的定时操作导致的,比如定时任务、心跳检测等。\\\\\\\\n\\\\\\\\n应用代码在需要定期执行某些检查或等待外部事件时会使用`nanosleep`来实现精确的延时控制。为了优化这种情况,可以考虑以下方案:\\\\\\\\n- 评估是否可以减少定时任务的频率。\\\\\\\\n- 使用条件变量替代单纯的睡眠等待,以响应更快的事件触发。\\\\\\\\n- 如果是I/O密集型操作等待,考虑优化I/O路径或提升I/O效率。建议使用SysOM平台的IO诊断工具来进一步定位具体的I/O瓶颈。\\\\\\"\\",\\n \\"success\\": true,\\n \\"message\\": \\"\\\\nsuccess\\"\\n}","type":"json"}]', - 'title' => '获取热点分析结果', ], - 'StartAIAnalysis' => [ - 'summary' => '启动AI作业分析。', - 'path' => '/api/v1/openapi/proxy/post/start_ai_analysis', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetAIQueryResult' => [ + 'summary' => '查看AI Infra分析结果', + 'path' => '/api/v1/app_observ/aiAnalysis/query_result', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '255600', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], + 'abilityTreeCode' => '255605', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], ], 'parameters' => [ [ @@ -2469,115 +1242,7 @@ 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'instance' => [ - 'description' => '实例ID', - 'type' => 'string', - 'required' => false, - 'example' => 'i-wz9dej066kii4goqxxxx', - ], - 'timeout' => [ - 'description' => 'AI Infra分析时间;'."\n" - .'单位:毫秒;'."\n" - .'默认值:2000;', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '2000', - ], - 'pids' => [ - 'description' => 'AI作业进程pid,支持批量输入,逗号分隔', - 'type' => 'string', - 'required' => false, - 'example' => '2421,36547,10043', - ], - 'comms' => [ - 'description' => '进程名,可选参数', - 'type' => 'string', - 'required' => false, - 'example' => 'python_test', - ], - 'channel' => [ - 'description' => '通道名', - 'type' => 'string', - 'required' => false, - 'example' => 'ecs_sysom', - ], - 'iteration_mod' => [ - 'description' => '迭代入口模块,仅iteration模式需要,可不填写', - 'type' => 'string', - 'required' => false, - 'example' => 'a.b.module', - ], - 'iteration_func' => [ - 'description' => '迭代入口函数,仅iteration模式需要,可不填写', - 'type' => 'string', - 'required' => false, - 'example' => 'Class.function', - ], - 'uid' => [ - 'description' => '阿里云用户ID,OpenAPI方式无需填写', - 'type' => 'string', - 'required' => false, - 'example' => '123423414', - ], - 'created_by' => [ - 'description' => '创建者,OpenAPI方式无需填写', - 'type' => 'string', - 'required' => false, - 'example' => '445333', - ], - 'instance_type' => [ - 'description' => '实例类型,OpenAPI方式无需填写', - 'type' => 'string', - 'required' => false, - 'example' => 'ip/sn/hostname', - ], - 'region' => [ - 'description' => '地域id', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shenzhen', - ], - 'iteration_range' => [ - 'description' => '迭代范围(迭代数:指数据采集模块激活时的迭代次数,独立于AI作业的迭代计数)', - 'type' => 'array', - 'items' => [ - 'description' => '[起始迭代数,结束迭代数]', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '[5,14]', - ], - 'required' => false, - ], - 'analysis_params' => [ - 'description' => '数据丰富度', - 'type' => 'array', - 'items' => [ - 'description' => 'gpu:GPU算子'."\n" - .'python:Python调用栈'."\n" - .'cPU:CPU信息'."\n" - .'torch:Torch显存信息'."\n" - .'flops:浮点数运算次数', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'python' => 'Python调用栈', - 'memory' => 'Torch显存信息', - 'cpu' => 'CPU信息', - 'flops' => '浮点数运算次数', - 'gpu' => 'GPU算子', - ], - 'example' => '[gpu,cpu,torch]', - ], - 'required' => false, - ], - 'analysisTool' => [ - 'description' => '分析工具,OpenAPI方式无需填写', - 'type' => 'string', - 'required' => false, - 'example' => 'gp/pyki/analysis', - ], + 'analysisId' => ['description' => 'AI分析ID', 'type' => 'string', 'required' => false, 'example' => '16896fa8-37f6-4c70-bb32-67fa9817d426'."\n"], ], 'required' => false, ], @@ -2590,106 +1255,106 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', - ], - 'code' => [ - 'description' => '返回码。', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息。', - 'type' => 'string', - 'example' => '""', - ], - 'data' => [ - 'description' => '返回数据', - 'type' => 'object', - 'properties' => [ - 'analysis_id' => [ - 'description' => 'AI分析ID', - 'type' => 'string', - 'example' => '16896fa8-37f6-4c70-bb32-67fa9817d426', - ], - ], - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '错误码'."\n", 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => '分析ID: 56dae746-ef55-4f77-8373-cb3594c41457'."\n" + .'机器i-bp164ns76pzirbwv0snt分析失败, 失败原因: Not get GPU trace data for \'56dae746-ef55-4f77-8373-cb3594c41457\' \'[\'93811\']\'!'], + 'data' => ['description' => '返回结果,数据量比较大', 'type' => 'string', 'example' => '{\'task_id\': \'y4ba8uRV\'}'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"分析ID: 56dae746-ef55-4f77-8373-cb3594c41457\\\\n机器i-bp164ns76pzirbwv0snt分析失败, 失败原因: Not get GPU trace data for \'56dae746-ef55-4f77-8373-cb3594c41457\' \'[\'93811\']\'!\\",\\n \\"data\\": \\"{\'task_id\': \'y4ba8uRV\'}\\"\\n}","type":"json"}]', + 'title' => '获取AI Infra观测结果', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetAIQueryResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": {\\n \\"analysis_id\\": \\"16896fa8-37f6-4c70-bb32-67fa9817d426\\"\\n }\\n}","type":"json"}]', - 'title' => '启动AI Infra观测', ], - 'GetListRecord' => [ - 'summary' => 'AI Infra获取分析记录列表', - 'path' => '/api/v1/app_observ/aiAnalysis/list_record', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetAbnormalEventsCount' => [ + 'summary' => '获取节点/Pod不同等级未处理(未诊断)异常事件的数量', + 'path' => '/api/v1/openapi/cluster_health/range/abnormaly_events_count', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '255604', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '237718', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], ], 'parameters' => [ [ - 'name' => 'current', + 'name' => 'cluster', 'in' => 'query', - 'schema' => [ - 'description' => '当前所在分页', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '5', - ], + 'schema' => ['description' => '集群id', 'type' => 'string', 'required' => false, 'example' => '2ijff4be-bf24-4070-89ca-c47c879b0g32'], ], [ - 'name' => 'pageSize', + 'name' => 'instance', + 'in' => 'query', + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9d00ut2ska3mlyhn6j'], + ], + [ + 'name' => 'pod', + 'in' => 'query', + 'schema' => ['description' => 'pod名称', 'type' => 'string', 'required' => false, 'example' => 'test-pod'], + ], + [ + 'name' => 'namespace', + 'in' => 'query', + 'schema' => ['description' => 'Pod所在的命名空间', 'type' => 'string', 'required' => false, 'example' => 'default'], + ], + [ + 'name' => 'start', + 'in' => 'query', + 'schema' => ['description' => '起始时间', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1725797727754'], + ], + [ + 'name' => 'end', + 'in' => 'query', + 'schema' => ['description' => '结束时间', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1725801327754'], + ], + [ + 'name' => 'showPod', 'in' => 'query', 'schema' => [ - 'description' => '当前页数据条数。', + 'description' => '是否展示Pod的异常事件', 'type' => 'integer', - 'format' => 'int64', + 'format' => 'int32', 'required' => false, - 'example' => '10', + 'enumValueTitles' => ['不展示' => '0', '展示' => '1'], + 'example' => '1', ], ], [ - 'name' => 'region', + 'name' => 'level', 'in' => 'query', 'schema' => [ - 'description' => '地域ID。', + 'description' => '异常事件的等级', 'type' => 'string', 'required' => false, - 'example' => 'cn-hangzhou', + 'enumValueTitles' => ['warning' => 'warning', 'error' => 'error', 'potential' => 'potential'], + 'example' => 'potential', ], ], ], @@ -2700,122 +1365,79 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '状态码描述。', - 'type' => 'string', - 'example' => '""', - ], + 'code' => ['description' => '响应码。', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '当success为false时,该值不为空,表示业务错误信息', 'type' => 'string', 'example' => 'result: code=1 msg=(Request failed, status_code != 200)'], 'data' => [ 'description' => '返回数据。', 'type' => 'array', 'items' => [ - 'description' => '一条分析记录的返回对象', + 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'analysisId' => [ - 'description' => 'AI分析ID', - 'type' => 'string', - 'example' => '16896fa8-37f6-4c70-bb32-67fa9817d426', - ], - 'analysisTime' => [ - 'description' => '分析时间', - 'type' => 'string', - 'example' => '2024-12-24 12:02:05'."\n", - ], - 'status' => [ - 'description' => '分析状态', - 'type' => 'string', - 'example' => '已完成/分析失败', - ], - 'arguments' => [ - 'description' => 'AI作业分析的分析参数', + 'type' => [ + 'description' => '异常类型', 'type' => 'string', - 'example' => 'timeout=2000 ms', + 'enumValueTitles' => ['"potential"' => 'potential', '"error"' => 'error', '"warning"' => 'warning'], + 'example' => 'health', ], - 'failedLog' => [ - 'description' => '分析失败日志', - 'type' => 'string', - 'example' => '机器i-wz9dej066kii4goqpnze分析失败, 失败原因: Not get GPU trace data for \'e59ce870-dbd4-4c44-a814-174ac6ab5bcf\' \'[\'118534\']\'!', + 'value' => ['description' => '异常类型数量', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'eventList' => [ + 'description' => '异常事件列表', + 'type' => 'array', + 'items' => ['description' => '异常事件名称', 'type' => 'string', 'example' => '节点根文件系统使用检测'], ], ], ], ], - 'total' => [ - 'description' => '总记录数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '19', - ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"result: code=1 msg=(Request failed, status_code != 200)\\",\\n \\"data\\": [\\n {\\n \\"type\\": \\"health\\",\\n \\"value\\": 1,\\n \\"eventList\\": [\\n \\"节点根文件系统使用检测\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', + 'title' => '获取异常事件的数量', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetAbnormalEventsCount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": [\\n {\\n \\"analysisId\\": \\"16896fa8-37f6-4c70-bb32-67fa9817d426\\",\\n \\"analysisTime\\": \\"2024-12-24 12:02:05\\\\n\\",\\n \\"status\\": \\"已完成/分析失败\\",\\n \\"arguments\\": \\"timeout=2000 ms\\",\\n \\"failedLog\\": \\"机器i-wz9dej066kii4goqpnze分析失败, 失败原因: Not get GPU trace data for \'e59ce870-dbd4-4c44-a814-174ac6ab5bcf\' \'[\'118534\']\'!\\"\\n }\\n ],\\n \\"total\\": 19\\n}","type":"json"}]', - 'title' => '获取AI Infra分析记录', ], - 'GetAIQueryResult' => [ - 'summary' => '查看AI Infra分析结果', - 'path' => '/api/v1/app_observ/aiAnalysis/query_result', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetAgent' => [ + 'summary' => '获取某个组件的详情', + 'path' => '/api/v1/am/agent/get_agent', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '255605', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], + 'abilityTreeNodes' => ['FEATUREalinux33ME7W'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', - 'schema' => [ - 'description' => '请求Body', - 'type' => 'object', - 'properties' => [ - 'analysisId' => [ - 'description' => 'AI分析ID', - 'type' => 'string', - 'required' => false, - 'example' => '16896fa8-37f6-4c70-bb32-67fa9817d426'."\n", - ], - ], - 'required' => false, - ], + 'name' => 'agent_id', + 'in' => 'query', + 'schema' => ['title' => '组件ID', 'description' => '组件ID', 'type' => 'string', 'required' => false, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], ], ], 'responses' => [ @@ -2825,105 +1447,94 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '错误码'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息。', - 'type' => 'string', - 'example' => '分析ID: 56dae746-ef55-4f77-8373-cb3594c41457'."\n" - .'机器i-bp164ns76pzirbwv0snt分析失败, 失败原因: Not get GPU trace data for \'56dae746-ef55-4f77-8373-cb3594c41457\' \'[\'93811\']\'!', - ], + 'code' => ['title' => 'Id of the request', 'description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict'], 'data' => [ - 'description' => '返回结果,数据量比较大', - 'type' => 'string', - 'example' => '{\'task_id\': \'y4ba8uRV\'}', + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'id' => ['title' => '组件ID', 'description' => '组件ID', 'type' => 'string', 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + 'name' => ['title' => '组件名称', 'description' => '组件名称', 'type' => 'string', 'example' => 'SysOM'], + 'support_arch' => ['title' => '支持的架构'."\n", 'description' => '支持的架构'."\n", 'type' => 'string', 'example' => 'x86'], + 'type' => ['title' => 'Agent类型', 'description' => 'Agent类型', 'type' => 'string', 'example' => 'control'], + 'description' => ['title' => '组件描述', 'description' => '组件描述', 'type' => 'string', 'example' => 'SysOM Agent'], + 'versions' => [ + 'description' => '组件版本信息', + 'type' => 'array', + 'items' => [ + 'description' => '组件版本信息', + 'type' => 'object', + 'properties' => [ + 'version' => ['title' => 'Agent 版本号', 'description' => 'Agent 版本号', 'type' => 'string', 'example' => '3.4.0-1'], + 'install_script' => ['title' => 'Agent 该版本的安装脚本', 'description' => 'Agent 该版本的安装脚本', 'type' => 'string', 'example' => 'sysom.sh install'], + 'uninstall_script' => ['title' => 'Agent 该版本的卸载脚本', 'description' => 'Agent 该版本的卸载脚本', 'type' => 'string', 'example' => 'sysom.sh uninstall'], + 'upgrade_script' => ['title' => 'Agent该版本的更新脚本', 'description' => 'Agent该版本的更新脚本', 'type' => 'string', 'example' => 'sysom.sh upgrade'], + 'created_at' => ['title' => 'Agent版本创建时间', 'description' => 'Agent版本创建时间', 'type' => 'string', 'example' => '2024-09-14T20:46:08'], + 'updated_at' => ['title' => 'Agent版本的更新时间', 'description' => 'Agent版本的更新时间', 'type' => 'string', 'example' => '2024-09-14T20:46:08'], + ], + ], + ], + 'created_at' => ['title' => '组件创建时间', 'description' => '组件创建时间', 'type' => 'string', 'example' => '2024-09-14T20:46:08'], + 'updated_at' => ['title' => '更新时间', 'description' => '更新时间', 'type' => 'string', 'example' => '2024-09-14T20:46:08'], + ], ], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => '2024-09-14T20:46:08'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": {\\n \\"id\\": \\"74a86327-3170-412c-8e67-da3389ec56a9\\",\\n \\"name\\": \\"SysOM\\",\\n \\"support_arch\\": \\"x86\\",\\n \\"type\\": \\"control\\",\\n \\"description\\": \\"SysOM Agent\\",\\n \\"versions\\": [\\n {\\n \\"version\\": \\"3.4.0-1\\",\\n \\"install_script\\": \\"sysom.sh install\\",\\n \\"uninstall_script\\": \\"sysom.sh uninstall\\",\\n \\"upgrade_script\\": \\"sysom.sh upgrade\\",\\n \\"created_at\\": \\"2024-09-14T20:46:08\\",\\n \\"updated_at\\": \\"2024-09-14T20:46:08\\"\\n }\\n ],\\n \\"created_at\\": \\"2024-09-14T20:46:08\\",\\n \\"updated_at\\": \\"2024-09-14T20:46:08\\"\\n },\\n \\"RequestId\\": \\"2024-09-14T20:46:08\\"\\n}","type":"json"}]', + 'title' => '获取组件详情', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetAgent', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"分析ID: 56dae746-ef55-4f77-8373-cb3594c41457\\\\n机器i-bp164ns76pzirbwv0snt分析失败, 失败原因: Not get GPU trace data for \'56dae746-ef55-4f77-8373-cb3594c41457\' \'[\'93811\']\'!\\",\\n \\"data\\": \\"{\'task_id\': \'y4ba8uRV\'}\\"\\n}","type":"json"}]', - 'title' => '获取AI Infra观测结果', ], - 'GetResources' => [ - 'summary' => '获取集群/节点资源实时使用情况', - 'path' => '/api/v1/openapi/cluster_health/instant/resource', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetAgentTask' => [ + 'summary' => '获取Agent安装任务执行状态', + 'path' => '/api/v1/am/agent/get_agent_task', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'cluster', - 'in' => 'query', - 'schema' => [ - 'description' => '集群id', - 'type' => 'string', - 'required' => false, - 'example' => '1808078950770264', - ], - ], - [ - 'name' => 'instance', - 'in' => 'query', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], - ], - [ - 'name' => 'type', + 'name' => 'task_id', 'in' => 'query', - 'schema' => [ - 'description' => '资源类型', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - '上行速率' => 'network_input', - '下行速率' => 'network_output', - '磁盘' => 'disk', - '内存' => 'mem', - 'CPU' => 'cpu', - ], - 'example' => 'mem', - ], + 'schema' => ['description' => '任务ID。', 'type' => 'string', 'required' => false, 'example' => '42172120177e4b3abd6fabb3a6b5e2dd'], ], ], 'responses' => [ @@ -2933,130 +1544,222 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'result: code=1 msg=(Request failed, status_code != 200)', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict'], 'data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'total' => [ - 'description' => '资源总数', - 'type' => 'number', - 'format' => 'float', - 'example' => '2354', - ], - 'usage' => [ - 'description' => '资源使用量', - 'type' => 'number', - 'format' => 'float', - 'example' => '100', - ], - 'unit' => [ - 'description' => '单位', - 'type' => 'string', - 'example' => 'Kbytes', + 'task_id' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'c41d8e3506224184a714682fea86d22d'], + 'jobs' => [ + 'description' => '子任务列表', + 'type' => 'array', + 'items' => [ + 'description' => '子任务详情', + 'type' => 'object', + 'properties' => [ + 'instance' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'i-2zehme0rs1tc090fdl3n'], + 'region' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'params' => ['description' => '子任务参数', 'type' => 'any', 'example' => '{'."\n" + .' "agent_version": "3.5.0-beta",'."\n" + .' "opt": "install",'."\n" + .' "agent_id": "74a86327-3170-412c-8fd67-da3389ec56a9",'."\n" + .' "install_type": "InstallAndUpgrade"'."\n" + .'}'], + 'status' => [ + 'description' => '子任务状态:'."\n" + .'- Created:已创建'."\n" + .'- Running:正在运行'."\n" + .'- Success:任务运行成功'."\n" + .'- Fail:任务运行失败', + 'type' => 'string', + 'example' => 'Running', + 'enum' => ['Created', 'Running', 'Success', 'Failed', 'Canceled'], + ], + 'result' => ['description' => '子任务执行结果', 'type' => 'string', 'example' => '已废弃(误用)'], + 'error' => ['description' => '当任务执行失败时,此字段会报错导致任务失败的原因', 'type' => 'string', 'example' => '已废弃(误用)'], + 'errorCode' => ['description' => '子任务执行失败原因的代码,可能值:'."\n" + .'* 空:任务执行正常。'."\n" + .'* INSTANCE_NOT_SUPPORTED:实例类型不支持'."\n" + .'* INSTANCE_NOT_EXISTS:实例不存在'."\n" + .'* INSTANCE_RELEASED:实例已释放'."\n" + .'* INSTANCE_NOT_RUNNING:实例不在运行中'."\n" + .'* INSTANCE_NOT_OWNED:实例不属于当前账号'."\n" + .'* AGENT_ALREADY_INSTALLED:Agent 已安装'."\n" + .'* AGENT_NOT_INSTALLED:Agent 未安装'."\n" + .'* AGENT_SAME_VERSION:版本相同'."\n" + .'* HAS_RUNNING_JOB:有运行中的任务'."\n" + .'* RPM_LOCK_HELD:RPM lock 被占用'."\n" + .'* DISK_SPACE_INSUFFICIENT:磁盘空间不足'."\n" + .'* NODE_LOAD_HIGH:节点负载高'."\n" + .'* COMMAND_FAILED:命令执行失败'."\n" + .'* CLIENT_NOT_RUNNING:云助手 Agent 未运行'."\n" + .'* CLIENT_NOT_RESPONSE:云助手 Agent 无响应'."\n" + .'* DELIVERY_TIMEOUT:命令发送超时'."\n" + .'* EXECUTION_TIMEOUT:命令执行超时'."\n" + .'* TASK_CONCURRENCY_LIMIT:任务并发达上限', 'type' => 'string', 'example' => 'DISK_SPACE_INSUFFICIENT'], + 'errorMessage' => ['description' => '子任务执行失败原因的详情,可能值:'."\n" + .'* 实例类型不支持'."\n" + .'* 实例不存在'."\n" + .'* 实例已释放'."\n" + .'* 实例不在运行中'."\n" + .'* 实例不属于当前账号'."\n" + .'* Agent 已安装'."\n" + .'* Agent 未安装'."\n" + .'* Agent 版本相同,无需升级'."\n" + .'* 存在运行中的任务,请稍后重试'."\n" + .'* RPM lock 被占用,请稍后重试'."\n" + .'* 磁盘空间不足'."\n" + .'* 节点负载过高,请稍后重试'."\n" + .'* 命令执行失败,请稍后重试'."\n" + .'* 云助手 Agent 未运行'."\n" + .'* 云助手 Agent 无响应'."\n" + .'* 命令发送超时'."\n" + .'* 命令执行超时'."\n" + .'* 任务并发数达到上限', 'type' => 'string', 'example' => '磁盘空间不足'], + ], + ], ], + 'status' => ['type' => 'string', 'description' => ''], ], ], - 'request_id' => [ - 'description' => '请求 RequestId', - 'type' => 'string', - 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0', - ], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => '2E75336A-0DB2-5263-B201-A6488EC97B50'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"result: code=1 msg=(Request failed, status_code != 200)\\",\\n \\"data\\": {\\n \\"total\\": 2354,\\n \\"usage\\": 100,\\n \\"unit\\": \\"Kbytes\\"\\n },\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\"\\n}","type":"json"}]', - 'title' => '获取集群/节点资源实时使用情况', - ], - 'GetHostCount' => [ - 'summary' => '获取集群节点数量或节点Pod数量', - 'path' => '/api/v1/openapi/cluster_health/range/host_count', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SysomOpenAPI.AgentNotExists', 'errorMessage' => 'Agent not exists.', 'description' => '组件不存在。'], + ['errorCode' => 'SysomOpenAPI.AgentTaskNotFound', 'errorMessage' => 'Agent task not found.', 'description' => '组件任务不存在。'], + ['errorCode' => 'SysomOpenAPI.AgentVersionNotExists', 'errorMessage' => 'Agent version not exists.', 'description' => '组件版本不存在。'], + ['errorCode' => 'SysomOpenAPI.InstanceNotExists', 'errorMessage' => 'Instance not exists.', 'description' => '实例不存在。'], + ['errorCode' => 'SysomOpenAPI.InvalidParameter', 'errorMessage' => 'Invalid parameters passed when calling the interface.', 'description' => '调用接口时传递了无效参数'], + ['errorCode' => 'SysomOpenAPI.MissingParameter', 'errorMessage' => 'Missing parameters.', 'description' => '参数缺失'], + ['errorCode' => 'SysomOpenAPI.NoAgentInstalled', 'errorMessage' => 'No SysOM Agent version available.', 'description' => '没有可用的 SysOM Agent。'], + ['errorCode' => 'SysomOpenAPI.NotAuthorizedInstance', 'errorMessage' => 'Instance not authorized.', 'description' => '实例未授权。'], + ['errorCode' => 'SysomOpenAPI.NotOwnInstance', 'errorMessage' => 'Not own current instance.', 'description' => '指定的实例不属于当前用户。'], + ['errorCode' => 'SysomOpenAPI.NotOwnTask', 'errorMessage' => 'Diagnosis result does not belong to the current account.', 'description' => '诊断结果不属于当前账户'], + ['errorCode' => 'SysomOpenAPI.NotSupportedAgentVersion', 'errorMessage' => 'Unsupported sysom agent version.', 'description' => '不支持的 SysOM 客户端版本。'], + ['errorCode' => 'SysomOpenAPI.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": {\\n \\"task_id\\": \\"c41d8e3506224184a714682fea86d22d\\",\\n \\"jobs\\": [\\n {\\n \\"instance\\": \\"i-2zehme0rs1tc090fdl3n\\",\\n \\"region\\": \\"cn-hangzhou\\",\\n \\"params\\": \\"{\\\\n \\\\\\"agent_version\\\\\\": \\\\\\"3.5.0-beta\\\\\\",\\\\n \\\\\\"opt\\\\\\": \\\\\\"install\\\\\\",\\\\n \\\\\\"agent_id\\\\\\": \\\\\\"74a86327-3170-412c-8fd67-da3389ec56a9\\\\\\",\\\\n \\\\\\"install_type\\\\\\": \\\\\\"InstallAndUpgrade\\\\\\"\\\\n}\\",\\n \\"status\\": \\"Running\\",\\n \\"result\\": \\"已废弃(误用)\\",\\n \\"error\\": \\"已废弃(误用)\\",\\n \\"errorCode\\": \\"DISK_SPACE_INSUFFICIENT\\",\\n \\"errorMessage\\": \\"磁盘空间不足\\"\\n }\\n ],\\n \\"status\\": \\"\\"\\n },\\n \\"RequestId\\": \\"2E75336A-0DB2-5263-B201-A6488EC97B50\\"\\n}","type":"json"}]', + 'title' => '获取组件任务的执行状态', + 'changeSet' => [ + ['createdAt' => '2025-11-03T02:41:39.000Z', 'description' => '响应参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + ], + 'GetAlertDestination' => [ + 'path' => '/api/v1/alertPusher/alert/getDestination', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux33ME7W'], ], 'parameters' => [ [ - 'name' => 'cluster', + 'name' => 'id', 'in' => 'query', - 'schema' => [ - 'description' => '集群id', - 'type' => 'string', - 'required' => false, - 'example' => '1808078950770264', - ], + 'schema' => ['description' => '告警联系人ID', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], - [ - 'name' => 'instance', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-wz9d00ut2ska3mlyhn6j', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success or Sysom.ServerError'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], + 'data' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'uid' => ['description' => '用户ID', 'type' => 'string', 'example' => '1234123412352311'], + 'target' => ['description' => '告警推送目标,当前仅支持钉钉机器人', 'type' => 'string', 'example' => 'dingtalk'], + 'name' => ['description' => '告警联系人名称', 'type' => 'string', 'example' => 'name1'], + 'source' => ['description' => '配置来源', 'type' => 'string', 'example' => 'console'], + 'id' => ['description' => '告警联系人id', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], + 'createdAt' => ['description' => '创建时间。', 'type' => 'string', 'example' => '1751520976660'], + 'updatedAt' => ['description' => '更新时间。', 'type' => 'string', 'example' => '1751254826285'], + 'params' => ['description' => '配置参数', 'type' => 'any', 'example' => '{'."\n" + .' "webhook":"",'."\n" + .' "sec":"",'."\n" + .'}'], + ], + ], + ], ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Sysom.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message. %s.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ['errorCode' => 'SysomOpenAPI.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取告警联系人', + 'summary' => '本接口用于获取制定告警联系人信息', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success or Sysom.ServerError\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": {\\n \\"uid\\": \\"1234123412352311\\",\\n \\"target\\": \\"dingtalk\\",\\n \\"name\\": \\"name1\\",\\n \\"source\\": \\"console\\",\\n \\"id\\": 1,\\n \\"createdAt\\": \\"1751520976660\\",\\n \\"updatedAt\\": \\"1751254826285\\",\\n \\"params\\": \\"{\\\\n \\\\\\"webhook\\\\\\":\\\\\\"\\\\\\",\\\\n \\\\\\"sec\\\\\\":\\\\\\"\\\\\\",\\\\n}\\"\\n }\\n}","type":"json"}]', + ], + 'GetAlertStrategy' => [ + 'summary' => '根据策略id,获取用户的一条告警', + 'path' => '/api/v1/alertPusher/alert/getStrategy', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'start', - 'in' => 'query', - 'schema' => [ - 'description' => '开始时间', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1725797727754', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREalinuxJZOVCX'], + ], + 'parameters' => [ [ - 'name' => 'end', + 'name' => 'id', 'in' => 'query', - 'schema' => [ - 'description' => '结束时间', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1725801327754', - ], + 'schema' => ['description' => '策略ID', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], ], ], 'responses' => [ @@ -3066,94 +1769,87 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => '“”', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'success'], 'data' => [ 'description' => '返回数据。', - 'type' => 'array', - 'items' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'time' => [ - 'description' => '时间点', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1725797727754', - ], - 'value' => [ - 'description' => '数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '5', + 'type' => 'object', + 'properties' => [ + 'id' => ['description' => '告警策略id', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'name' => ['description' => '策略名称', 'type' => 'string', 'example' => 'strategy1'], + 'uid' => ['description' => '用户ID', 'type' => 'string', 'example' => '1222933234714935'], + 'updatedAt' => ['description' => '更新时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1751254826285'], + 'createdAt' => ['description' => '创建时间。', 'type' => 'integer', 'format' => 'int64', 'example' => '1751520976660'], + 'strategy' => [ + 'description' => '告警策略详情', + 'type' => 'object', + 'properties' => [ + 'items' => ['description' => '接收告警的异常项列表', 'type' => 'any', 'example' => '节点CPU使用率检测'], + 'clusters' => [ + 'description' => '接收告警的集群合集', + 'type' => 'array', + 'items' => ['description' => '集群名称', 'type' => 'string', 'example' => 'cluster1'], + ], + 'destinations' => ['title' => '告警联系人', 'type' => 'any'], ], ], + 'enabled' => ['description' => '告警策略是否生效', 'type' => 'boolean', 'example' => 'false'], + 'k8sLabel' => ['type' => 'boolean', 'title' => 'k8s标签', 'description' => 'k8s标签'], ], ], - 'total' => [ - 'description' => '总条数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '3', - ], - 'request_id' => [ - 'description' => '请求 RequestId', - 'type' => 'string', - 'example' => '43A910E9-A739-525E-855D-A32C257F1826', - ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取告警策略', + 'changeSet' => [ + ['createdAt' => '2025-11-03T02:34:05.000Z', 'description' => '响应参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"“”\\",\\n \\"data\\": [\\n {\\n \\"time\\": 1725797727754,\\n \\"value\\": 5\\n }\\n ],\\n \\"total\\": 3,\\n \\"request_id\\": \\"43A910E9-A739-525E-855D-A32C257F1826\\"\\n}","type":"json"}]', - 'title' => '获取集群节点数量或节点Pod数量', - ], - 'InitialSysom' => [ - 'summary' => '初始化 SysOM,确保服务角色存在。', - 'path' => '/api/v1/openapi/initial', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:GetAlertStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"id\\": 1,\\n \\"name\\": \\"strategy1\\",\\n \\"uid\\": \\"1222933234714935\\",\\n \\"updatedAt\\": 1751254826285,\\n \\"createdAt\\": 1751520976660,\\n \\"strategy\\": {\\n \\"items\\": \\"节点CPU使用率检测\\",\\n \\"clusters\\": [\\n \\"cluster1\\"\\n ],\\n \\"destinations\\": \\"\\"\\n },\\n \\"enabled\\": false,\\n \\"k8sLabel\\": true\\n }\\n}","type":"json"}]', + ], + 'GetCopilotHistory' => [ + 'summary' => '获取copilot历史聊天记录', + 'path' => '/api/v1/copilot/get_copilot_history', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux33ME7W', - ], + 'abilityTreeNodes' => ['FEATUREalinuxGP5QJE'], 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ @@ -3161,22 +1857,10 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求体参数', + 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'check_only' => [ - 'title' => '是否只检查服务角色是否存在', - 'description' => '是否只检查服务角色是否存在', - 'type' => 'boolean', - 'required' => false, - ], - 'source' => [ - 'title' => '初始化来源', - 'description' => '来源,固定为 console。', - 'type' => 'string', - 'required' => false, - 'example' => 'console', - ], + 'count' => ['title' => '请求历史聊天记录的数量,一般小于100条', 'description' => '请求历史聊天记录的数量,一般小于100条', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '100'], ], 'required' => false, ], @@ -3189,34 +1873,23 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'RequestId' => [ - 'title' => '', - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => '3FCA2E38-2A8E-5501-93BD-5CE1BA58F2EF', - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '错误码', 'type' => 'string', 'example' => 'SysomOpenAPI.InvalidParameter'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], 'data' => [ - 'description' => '返回结果。', - 'type' => 'object', - 'properties' => [ - 'role_exist' => [ - 'description' => '服务角色是否存在', - 'type' => 'boolean', - 'example' => 'true', + 'title' => '聊天记录列表,长度为请求数量,若聊天记录小于请求数量,则为实际的聊天记录数量,格式:[{"user":“”,"content":“”.question,"time":"“},{...}]', + 'description' => '聊天记录列表,长度为请求数量,若聊天记录小于请求数量,则为实际的聊天记录数量,格式:[{"user":“”,"content":“”.question,"time":"“},{...}]', + 'type' => 'array', + 'items' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'user' => ['title' => 'user/copilot,user为用户,copilot为机器人', 'description' => 'user/copilot,user为用户,copilot为机器人', 'type' => 'string', 'example' => 'user'."\n" + .'copilot'], + 'content' => ['title' => '聊天内容文本', 'description' => '聊天内容文本', 'type' => 'string', 'example' => 'copilot回复的具体内容'], + 'time' => ['title' => '聊天记录时间,string类型', 'description' => '聊天记录时间,string类型', 'type' => 'string', 'example' => '2024-09-02 10:02:39'], ], ], ], @@ -3224,141 +1897,403 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"SysomOpenAPI.InvalidParameter\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": [\\n {\\n \\"user\\": \\"user\\\\ncopilot\\",\\n \\"content\\": \\"copilot回复的具体内容\\",\\n \\"time\\": \\"2024-09-02 10:02:39\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '获取copilot流式接口的聊天记录', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:GetCopilotHistory', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3FCA2E38-2A8E-5501-93BD-5CE1BA58F2EF\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": {\\n \\"role_exist\\": true\\n }\\n}","type":"json"}]', - 'title' => '开通Alinux控制台', - 'description' => 'SysOM的部分接口需要基于 `AliyunServiceRoleForSysom ` 服务角色来进行角色扮演,因此在使用 SysOM 功能之前需要调用本接口进行初始化,确保服务角色已经创建。'."\n" - .'- `check_only` :如果本参数为 True 则代表只检查服务角色是否存在,不会创建服务角色,如果本参数为 False 或不填,则调用本接口会在服务角色不存在时自动创建服务角色。'."\n" - ."\n" - .'> '."\n" - .'> 注意:当通过API调用初始化角色时,代表您已默认同意操作系统控制台的用户协议,请参考:[操作系统控制台概述](https://help.aliyun.com/zh/alinux/product-overview/os-console-overview?spm=a2c4g.11186623.help-menu-2632541.d_0_7.35a829ffLjQtgg),[阿里云服务试用条款](https://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud202001091714_51956.html)', ], - 'ListClusters' => [ - 'summary' => '获取当前用户所有已纳管的集群', - 'path' => '/api/v1/am/cluster/list_clusters', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetDiagnosisResult' => [ + 'path' => '/api/v1/openapi/diagnosis/get_diagnosis_results', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '253340', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREalinuxV02H6G'], ], 'parameters' => [ [ - 'name' => 'current', + 'name' => 'task_id', 'in' => 'query', + 'schema' => ['description' => '诊断任务ID', 'type' => 'string', 'required' => true, 'example' => 'quzuYl23'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '', - 'description' => '当前页数(从第1页开始)', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => '""'], + 'data' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'task_id' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'grcuU21a'], + 'status' => [ + 'description' => '诊断任务执行状态。'."\n" + .'取值:'."\n" + .'- **Ready**:就绪'."\n" + .'- **Running**:正在执行'."\n" + .'- **Success**:执行成功'."\n" + .'- **Fail**:执行失败', + 'type' => 'string', + 'example' => 'Running', + 'enum' => ['Success', 'Fail', 'Ready', 'Running'], + ], + 'service_name' => ['description' => '诊断类型', 'type' => 'string', 'example' => 'memgraph'], + 'command' => ['description' => '诊断命令', 'type' => 'any', 'example' => '{'."\n" + .' "jobs":['."\n" + .' {'."\n" + .' "cmd":"mkdir -p /var/log/sysak && sysak podmem -r 100 -a -j /var/log/sysak/podmem.json > /dev/null 2>&1 && cat /var/log/sysak/podmem.json",'."\n" + .' "instance":"172.20.12.174",'."\n" + .' "fetch_file_list":['."\n" + ."\n" + .' ]'."\n" + .' }'."\n" + .' ],'."\n" + .' "in_order":true,'."\n" + .' "offline_mode":false,'."\n" + .' "offline_results":['."\n" + ."\n" + .' ]'."\n" + .'}'], + 'params' => ['description' => '诊断参数', 'type' => 'any', 'example' => '{'."\n" + .' "type":"all",'."\n" + .' "value":"",'."\n" + .' "channel":"ssh",'."\n" + .' "instance":"172.1.2.174",'."\n" + .' "service_name":"filecache"'."\n" + .'}'], + 'code' => ['description' => '错误码(0表示无错误)', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'err_msg' => ['description' => '错误信息', 'type' => 'string', 'example' => 'Diagnosis failed'], + 'result' => ['description' => '诊断结果', 'type' => 'any', 'example' => '{'."\n" + .' "summary":" memory cgroup leak",'."\n" + .' "dataMemEvent":{'."\n" + .' "data":['."\n" + .' {'."\n" + .' "key":"Util",'."\n" + .' "value":20'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"MemLeak",'."\n" + .' "value":"OK"'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"MemcgLeak",'."\n" + .' "value":"NG"'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"MemFrag",'."\n" + .' "value":"OK"'."\n" + .' }'."\n" + .' ]'."\n" + .' },'."\n" + .' "dataMemOverView":{'."\n" + .' "data":['."\n" + .' {'."\n" + .' "key":"app",'."\n" + .' "value":10937332'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"free",'."\n" + .' "value":806800'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"kernel",'."\n" + .' "value":4527660'."\n" + .' }'."\n" + .' ]'."\n" + .' },'."\n" + .' "dataKerMem":{'."\n" + .' "data":['."\n" + .' {'."\n" + .' "key":"SReclaimable",'."\n" + .' "value":3411292'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"VmallocUsed",'."\n" + .' "value":30980'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"allocPage",'."\n" + .' "value":177732'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"KernelStack",'."\n" + .' "value":9280'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"PageTables",'."\n" + .' "value":38056'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"SUnreclaim",'."\n" + .' "value":170248'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"reserved",'."\n" + .' "value":690072'."\n" + .' }'."\n" + .' ]'."\n" + .' },'."\n" + .' "dataUserMem":{'."\n" + .' "data":['."\n" + .' {'."\n" + .' "key":"filecache",'."\n" + .' "value":8010008'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"anon",'."\n" + .' "value":2468608'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"mlock",'."\n" + .' "value":0'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"huge1G",'."\n" + .' "value":0'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"huge2M",'."\n" + .' "value":0'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"buffers",'."\n" + .' "value":458608'."\n" + .' },'."\n" + .' {'."\n" + .' "key":"shmem",'."\n" + .' "value":2284'."\n" + .' }'."\n" + .' ]'."\n" + .' },'."\n" + .' "dataCacheList":{'."\n" + .' "data":['."\n" + .' {'."\n" + .' "key":0,'."\n" + .' "Name":"/var/lib/mysql/sysom/sys_handler_log.ibd",'."\n" + .' "cached":576764,'."\n" + .' "Task":"mysqld_78575 "'."\n" + .' },'."\n" + .' {'."\n" + .' "key":1,'."\n" + .' "Name":"/var/log/sysom/sysom-migration-access.log",'."\n" + .' "cached":276688,'."\n" + .' "Task":"gunicorn_33647 ,gunicorn_460836 ,gunicorn_559934 ,gunicorn_731758 ,gunicorn_2362682 "'."\n" + .' },'."\n" + .' {'."\n" + .' "key":2,'."\n" + .' "Name":"/var/log/sysom/sysom-rtdemo-access.log",'."\n" + .' "cached":229404,'."\n" + .' "Task":"gunicorn_60718 ,gunicorn_720734 ,gunicorn_722168 "'."\n" + .' },'."\n" + .' {'."\n" + .' "key":3,'."\n" + .' "Name":"/var/log/sysom/sysom-monitor-server-access.log",'."\n" + .' "cached":197368,'."\n" + .' "Task":"gunicorn_33682 ,gunicorn_671155 ,gunicorn_714998 "'."\n" + .' },'."\n" + .' {'."\n" + .' "key":4,'."\n" + .' "Name":"/var/log/sysom/sysom-channel-access.log",'."\n" + .' "cached":180276,'."\n" + .' "Task":"gunicorn_33233 ,gunicorn_499735 ,gunicorn_725497 "'."\n" + .' },'."\n" + .' {'."\n" + .' "key":5,'."\n" + .' "Name":"total cached of close file",'."\n" + .' "cached":3729668,'."\n" + .' "Task":""'."\n" + .' }'."\n" + .' ]'."\n" + .' },'."\n" + .' "dataProcMemList":{'."\n" + .' "data":['."\n" + .' {'."\n" + .' "key":0,'."\n" + .' "task":"mysqld",'."\n" + .' "MemTotal":240856,'."\n" + .' "RssAnon":218248,'."\n" + .' "RssFile":22608'."\n" + .' },'."\n" + .' {'."\n" + .' "key":1,'."\n" + .' "task":"systemd-journal",'."\n" + .' "MemTotal":150248,'."\n" + .' "RssAnon":74300,'."\n" + .' "RssFile":75944'."\n" + .' },'."\n" + .' {'."\n" + .' "key":2,'."\n" + .' "task":"gunicorn",'."\n" + .' "MemTotal":144640,'."\n" + .' "RssAnon":114200,'."\n" + .' "RssFile":30440'."\n" + .' },'."\n" + .' {'."\n" + .' "key":3,'."\n" + .' "task":"gunicorn",'."\n" + .' "MemTotal":141480,'."\n" + .' "RssAnon":111040,'."\n" + .' "RssFile":30440'."\n" + .' },'."\n" + .' {'."\n" + .' "key":4,'."\n" + .' "task":"grafana-server",'."\n" + .' "MemTotal":103660,'."\n" + .' "RssAnon":42732,'."\n" + .' "RssFile":60928'."\n" + .' },'."\n" + .' {'."\n" + .' "key":5,'."\n" + .' "task":"gunicorn",'."\n" + .' "MemTotal":97444,'."\n" + .' "RssAnon":76256,'."\n" + .' "RssFile":21188'."\n" + .' },'."\n" + .' {'."\n" + .' "key":6,'."\n" + .' "task":"gunicorn",'."\n" + .' "MemTotal":97260,'."\n" + .' "RssAnon":76072,'."\n" + .' "RssFile":21188'."\n" + .' },'."\n" + .' {'."\n" + .' "key":7,'."\n" + .' "task":"prometheus",'."\n" + .' "MemTotal":95356,'."\n" + .' "RssAnon":45376,'."\n" + .' "RssFile":49980'."\n" + .' },'."\n" + .' {'."\n" + .' "key":8,'."\n" + .' "task":"gunicorn",'."\n" + .' "MemTotal":90144,'."\n" + .' "RssAnon":76456,'."\n" + .' "RssFile":13688'."\n" + .' },'."\n" + .' {'."\n" + .' "key":9,'."\n" + .' "task":"gunicorn",'."\n" + .' "MemTotal":89796,'."\n" + .' "RssAnon":76108,'."\n" + .' "RssFile":13688'."\n" + .' }'."\n" + .' ]'."\n" + .' }'."\n" + .'}'], + 'url' => ['description' => '诊断详情URL', 'type' => 'string', 'example' => '/diagnose/detail/qe3Z34sa'], + 'created_at' => ['description' => '创建时间', 'type' => 'string', 'example' => '2025-12-03 16:30:28'], + 'updated_at' => ['description' => '更新时间', 'type' => 'string', 'example' => '2025-12-03 16:30:28'], + ], + ], + 'request_id' => ['description' => '请求 RequestId', 'type' => 'string', 'example' => '9515E5A0-8905-59B0-9BBF-5F0BE568C3A0'], + ], ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Sysom.TaskNotFound', 'errorMessage' => 'The specified task was not found.', 'description' => '指定的 task 未找到。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取诊断结果', + 'summary' => '获取诊断结果。', + 'description' => '诊断的流程是异步的,因此调用本接口时,诊断可能还在执行没有结束,可以通过返回数据中 `data.status` 字段进行判断,当 `data.status == Success ` 时,表示诊断成功,可以从 `data.result` 中读取到诊断的结果。', + 'changeSet' => [ + ['createdAt' => '2024-09-18T03:31:12.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '每页大小', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetDiagnosisResult', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => 'Diagnosis', 'arn' => 'acs:sysom::{#accountId}:diagnosis/{#DiagnosisId}'], + ], ], ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": {\\n \\"task_id\\": \\"grcuU21a\\",\\n \\"status\\": \\"Running\\",\\n \\"service_name\\": \\"memgraph\\",\\n \\"command\\": \\"{\\\\n \\\\\\"jobs\\\\\\":[\\\\n {\\\\n \\\\\\"cmd\\\\\\":\\\\\\"mkdir -p /var/log/sysak && sysak podmem -r 100 -a -j /var/log/sysak/podmem.json > /dev/null 2>&1 && cat /var/log/sysak/podmem.json\\\\\\",\\\\n \\\\\\"instance\\\\\\":\\\\\\"172.20.12.174\\\\\\",\\\\n \\\\\\"fetch_file_list\\\\\\":[\\\\n\\\\n ]\\\\n }\\\\n ],\\\\n \\\\\\"in_order\\\\\\":true,\\\\n \\\\\\"offline_mode\\\\\\":false,\\\\n \\\\\\"offline_results\\\\\\":[\\\\n\\\\n ]\\\\n}\\",\\n \\"params\\": \\"{\\\\n \\\\\\"type\\\\\\":\\\\\\"all\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"\\\\\\",\\\\n \\\\\\"channel\\\\\\":\\\\\\"ssh\\\\\\",\\\\n \\\\\\"instance\\\\\\":\\\\\\"172.1.2.174\\\\\\",\\\\n \\\\\\"service_name\\\\\\":\\\\\\"filecache\\\\\\"\\\\n}\\",\\n \\"code\\": 0,\\n \\"err_msg\\": \\"Diagnosis failed\\",\\n \\"result\\": \\"{\\\\n \\\\\\"summary\\\\\\":\\\\\\" memory cgroup leak\\\\\\",\\\\n \\\\\\"dataMemEvent\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"Util\\\\\\",\\\\n \\\\\\"value\\\\\\":20\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemLeak\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"OK\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemcgLeak\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"NG\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemFrag\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"OK\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataMemOverView\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"app\\\\\\",\\\\n \\\\\\"value\\\\\\":10937332\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"free\\\\\\",\\\\n \\\\\\"value\\\\\\":806800\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"kernel\\\\\\",\\\\n \\\\\\"value\\\\\\":4527660\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataKerMem\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"SReclaimable\\\\\\",\\\\n \\\\\\"value\\\\\\":3411292\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"VmallocUsed\\\\\\",\\\\n \\\\\\"value\\\\\\":30980\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"allocPage\\\\\\",\\\\n \\\\\\"value\\\\\\":177732\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"KernelStack\\\\\\",\\\\n \\\\\\"value\\\\\\":9280\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"PageTables\\\\\\",\\\\n \\\\\\"value\\\\\\":38056\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"SUnreclaim\\\\\\",\\\\n \\\\\\"value\\\\\\":170248\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"reserved\\\\\\",\\\\n \\\\\\"value\\\\\\":690072\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataUserMem\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"filecache\\\\\\",\\\\n \\\\\\"value\\\\\\":8010008\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"anon\\\\\\",\\\\n \\\\\\"value\\\\\\":2468608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"mlock\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"huge1G\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"huge2M\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"buffers\\\\\\",\\\\n \\\\\\"value\\\\\\":458608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"shmem\\\\\\",\\\\n \\\\\\"value\\\\\\":2284\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataCacheList\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":0,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/lib/mysql/sysom/sys_handler_log.ibd\\\\\\",\\\\n \\\\\\"cached\\\\\\":576764,\\\\n \\\\\\"Task\\\\\\":\\\\\\"mysqld_78575 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":1,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-migration-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":276688,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33647 ,gunicorn_460836 ,gunicorn_559934 ,gunicorn_731758 ,gunicorn_2362682 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":2,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-rtdemo-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":229404,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_60718 ,gunicorn_720734 ,gunicorn_722168 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":3,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-monitor-server-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":197368,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33682 ,gunicorn_671155 ,gunicorn_714998 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":4,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-channel-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":180276,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33233 ,gunicorn_499735 ,gunicorn_725497 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":5,\\\\n \\\\\\"Name\\\\\\":\\\\\\"total cached of close file\\\\\\",\\\\n \\\\\\"cached\\\\\\":3729668,\\\\n \\\\\\"Task\\\\\\":\\\\\\"\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataProcMemList\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":0,\\\\n \\\\\\"task\\\\\\":\\\\\\"mysqld\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":240856,\\\\n \\\\\\"RssAnon\\\\\\":218248,\\\\n \\\\\\"RssFile\\\\\\":22608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":1,\\\\n \\\\\\"task\\\\\\":\\\\\\"systemd-journal\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":150248,\\\\n \\\\\\"RssAnon\\\\\\":74300,\\\\n \\\\\\"RssFile\\\\\\":75944\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":2,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":144640,\\\\n \\\\\\"RssAnon\\\\\\":114200,\\\\n \\\\\\"RssFile\\\\\\":30440\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":3,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":141480,\\\\n \\\\\\"RssAnon\\\\\\":111040,\\\\n \\\\\\"RssFile\\\\\\":30440\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":4,\\\\n \\\\\\"task\\\\\\":\\\\\\"grafana-server\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":103660,\\\\n \\\\\\"RssAnon\\\\\\":42732,\\\\n \\\\\\"RssFile\\\\\\":60928\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":5,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":97444,\\\\n \\\\\\"RssAnon\\\\\\":76256,\\\\n \\\\\\"RssFile\\\\\\":21188\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":6,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":97260,\\\\n \\\\\\"RssAnon\\\\\\":76072,\\\\n \\\\\\"RssFile\\\\\\":21188\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":7,\\\\n \\\\\\"task\\\\\\":\\\\\\"prometheus\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":95356,\\\\n \\\\\\"RssAnon\\\\\\":45376,\\\\n \\\\\\"RssFile\\\\\\":49980\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":8,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":90144,\\\\n \\\\\\"RssAnon\\\\\\":76456,\\\\n \\\\\\"RssFile\\\\\\":13688\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":9,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":89796,\\\\n \\\\\\"RssAnon\\\\\\":76108,\\\\n \\\\\\"RssFile\\\\\\":13688\\\\n }\\\\n ]\\\\n }\\\\n}\\",\\n \\"url\\": \\"/diagnose/detail/qe3Z34sa\\",\\n \\"created_at\\": \\"2025-12-03 16:30:28\\",\\n \\"updated_at\\": \\"2025-12-03 16:30:28\\"\\n },\\n \\"request_id\\": \\"9515E5A0-8905-59B0-9BBF-5F0BE568C3A0\\"\\n}","type":"json"}]', + ], + 'GetHealthPercentage' => [ + 'summary' => '获取一段时间内节点/Pod健康状态占比', + 'path' => '/api/v1/openapi/cluster_health/range/health_percentage', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'name', - 'in' => 'query', - 'schema' => [ - 'description' => '通过插件的名字过滤插件', - 'type' => 'string', - 'required' => false, - 'example' => 'proxy-next-upstream', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '230371', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + ], + 'parameters' => [ [ - 'name' => 'cluster_id', + 'name' => 'cluster', 'in' => 'query', - 'schema' => [ - 'description' => '通过集群 ID 过滤'."\n" - ."\n" - .'> 这个集群ID不是 ACK 集群ID,而是通过本接口返回的数据里面的 `id` 字段', - 'type' => 'string', - 'required' => false, - 'example' => 'cb7d4cc26c8f845fb8a8255ffd394820e', - ], + 'schema' => ['description' => '集群id', 'type' => 'string', 'required' => false, 'example' => '2ijff4be-bf24-4070-89ca-c47c879b0g32'], ], [ - 'name' => 'cluster_status', + 'name' => 'instance', 'in' => 'query', - 'schema' => [ - 'description' => '- `Running` : 集群纳管正常;'."\n" - .'- `Installing`: 集群有安装任务正在进行;'."\n" - .'- `Uninstalling`: 集群有卸载任务正在进行;'."\n" - .'- `Upgrading`: 集群有更新任务正在进行;'."\n" - .'- `Offline`: 集群离线,纳管异常。', - 'type' => 'string', - 'required' => false, - 'example' => 'Running', - 'enum' => [ - 'Running', - 'Installing', - 'Uninstalling', - 'Upgrading', - 'Offline', - ], - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9d00ut2ska3mlyhn6j'], ], [ - 'name' => 'cluster_type', + 'name' => 'start', 'in' => 'query', - 'schema' => [ - 'description' => '- `ACK`: ACK 集群'."\n" - .'- `CUSTOM`: 自定义集群(默认集群属于自定义集群)', - 'type' => 'string', - 'required' => false, - 'example' => 'ACK', - 'enum' => [ - 'ACK', - 'CUSTOM', - ], - ], + 'schema' => ['description' => '开始时间', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '1725797727754'], ], [ - 'name' => 'id', + 'name' => 'end', 'in' => 'query', - 'schema' => [ - 'description' => '本字段已废弃,请使用 cluster_id 字段过滤', - 'type' => 'string', - 'required' => false, - 'example' => 'cb7d4cc26c8f845fb8a8255ffd394820e', - ], + 'schema' => ['description' => '结束时间', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '1725801327754'], ], ], 'responses' => [ @@ -3368,90 +2303,24 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7', - ], - 'total' => [ - 'description' => '总记录数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '64', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'SysomOpenAPI.ServerError'."\n"], + 'message' => ['description' => '错误详情'."\n", 'type' => 'string', 'example' => '""'], 'data' => [ - 'description' => '返回数据', + 'description' => '返回数据。', 'type' => 'array', 'items' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'id' => [ - 'description' => '集群ID', - 'type' => 'string', - 'example' => '5389fba5-92a1-4ff4-9b26-773b97828144', - ], - 'name' => [ - 'description' => '集群名称', - 'type' => 'string', - 'example' => 'auto-name-sbvCT', - ], - 'cluster_id' => [ - 'description' => '实际集群ID。'."\n" - ."\n" - .'> - 对于 `ACK` 类型的集群,这个集群ID为 ACK 集群的ID;'."\n" - .'> - 对于 `CUSTOM` 类型的集群,这个集群ID作为唯一标识,没有其它额外含义。', - 'type' => 'string', - 'example' => 'c666d4774f0e2440b979bf917bf100e40', - ], - 'cluster_type' => [ - 'description' => '- `ACK`: ACK 集群'."\n" - .'- `CUSTOM`: 自定义集群(默认集群属于自定义集群)', - 'type' => 'string', - 'example' => 'ACK', - 'enum' => [ - 'ACK', - 'CUSTOM', - ], - ], - 'region' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'cluster_status' => [ - 'description' => '- `Running` : 集群纳管正常;'."\n" - .'- `Installing`: 集群有安装任务正在进行;'."\n" - .'- `Uninstalling`: 集群有卸载任务正在进行;'."\n" - .'- `Upgrading`: 集群有更新任务正在进行;'."\n" - .'- `Offline`: 集群离线,纳管异常。', - 'type' => 'string', - 'example' => 'Running', - ], - 'created_at' => [ - 'description' => '创建时间', - 'type' => 'string', - 'example' => '2024-12-25T15:08:19', - ], - 'updated_at' => [ - 'description' => '更新时间', + 'type' => [ + 'description' => '节点/Pod的健康等级', 'type' => 'string', - 'example' => '2024-12-25T15:08:19', + 'enumValueTitles' => ['不健康' => 'warning', '健康' => 'health', '亚健康' => 'potential', '严重不健康' => 'error'], + 'example' => 'health', ], + 'value' => ['description' => '数量', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], ], ], ], @@ -3459,110 +2328,64 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"SysomOpenAPI.ServerError\\\\n\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": [\\n {\\n \\"type\\": \\"health\\",\\n \\"value\\": 1\\n }\\n ]\\n}","type":"json"}]', + 'title' => '获取节点/Pod健康状态占比', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHealthPercentage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\",\\n \\"total\\": 64,\\n \\"data\\": [\\n {\\n \\"id\\": \\"5389fba5-92a1-4ff4-9b26-773b97828144\\",\\n \\"name\\": \\"auto-name-sbvCT\\",\\n \\"cluster_id\\": \\"c666d4774f0e2440b979bf917bf100e40\\",\\n \\"cluster_type\\": \\"ACK\\",\\n \\"region\\": \\"cn-hangzhou\\",\\n \\"cluster_status\\": \\"Running\\",\\n \\"created_at\\": \\"2024-12-25T15:08:19\\",\\n \\"updated_at\\": \\"2024-12-25T15:08:19\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取当前用户纳管集群列表', ], - 'ListInstances' => [ - 'summary' => '获取实例列表', - 'path' => '/api/v1/am/instance/list_instances', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetHostCount' => [ + 'summary' => '获取集群节点数量或节点Pod数量', + 'path' => '/api/v1/openapi/cluster_health/range/host_count', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '236493', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], ], 'parameters' => [ [ - 'name' => 'current', - 'in' => 'query', - 'schema' => [ - 'description' => '页码分页时存在该字段,表示当前页', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', + 'name' => 'cluster', 'in' => 'query', - 'schema' => [ - 'description' => '每页大小,默认值为20,取值范围【1,100】', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '集群id', 'type' => 'string', 'required' => false, 'example' => '1808078950770264'], ], [ 'name' => 'instance', 'in' => 'query', - 'schema' => [ - 'description' => '通过 ECS 实例ID过滤', - 'type' => 'string', - 'required' => false, - 'example' => 'i-8vbfd3g9vs32sfuvv38h', - ], - ], - [ - 'name' => 'status', - 'in' => 'query', - 'schema' => [ - 'title' => '通过状态过滤实例', - 'description' => '通过状态过滤实例', - 'type' => 'string', - 'required' => false, - 'example' => 'Running', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9d00ut2ska3mlyhn6j'], ], [ - 'name' => 'region', + 'name' => 'start', 'in' => 'query', - 'schema' => [ - 'title' => '通过区域过滤实例'."\n", - 'description' => '通过区域过滤实例'."\n", - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shenzhen', - ], + 'schema' => ['description' => '开始时间', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1725797727754'], ], [ - 'name' => 'cluster_id', + 'name' => 'end', 'in' => 'query', - 'schema' => [ - 'title' => '集群ID', - 'description' => '集群ID', - 'type' => 'string', - 'required' => false, - 'example' => 'xxxxx', - ], + 'schema' => ['description' => '结束时间', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1725801327754'], ], ], 'responses' => [ @@ -3572,242 +2395,86 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'SysomOpenAPI.ServerError'."\n", - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'Requests for llm service failed'."\n", - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => '“”'], 'data' => [ - 'description' => '返回结果。', + 'description' => '返回数据。', 'type' => 'array', 'items' => [ - 'description' => '返回结果。', + 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'instance' => [ - 'title' => 'ECS实例ID', - 'description' => 'ECS实例ID', - 'type' => 'string', - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], - 'region' => [ - 'title' => '实例所在区域', - 'description' => '实例所在区域', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'kernel_version' => [ - 'title' => '实例当前的内核版本', - 'description' => '实例当前的内核版本', - 'type' => 'string', - 'example' => '5.10.134-16.1.an8.x86_64', - ], - 'os_arch' => [ - 'title' => 'ECS实例的架构', - 'description' => 'ECS实例的架构', - 'type' => 'string', - 'example' => 'x86', - ], - 'os_name' => [ - 'title' => '实例的操作系统名称(取自 /etc/os-release)', - 'description' => '实例的操作系统名称(取自 /etc/os-release)', - 'type' => 'string', - 'example' => 'Anolis OS', - ], - 'os_version' => [ - 'title' => '实例的操作系统版本(取自 /etc/os-release)', - 'description' => '实例的操作系统版本(取自 /etc/os-release)', - 'type' => 'string', - 'example' => '8.9', - ], - 'os_name_id' => [ - 'title' => '实例的操作系统名称ID(取自 /etc/os-release)', - 'description' => '实例的操作系统名称ID(取自 /etc/os-release)', - 'type' => 'string', - 'example' => 'anolis', - ], - 'os_version_id' => [ - 'title' => '实例操作系统版本ID(取自 /etc/os-release)', - 'description' => '实例操作系统版本ID(取自 /etc/os-release)', - 'type' => 'string', - 'example' => 'rhel fedora centos', - ], - 'os_health_score' => [ - 'title' => '实例的健康分', - 'description' => '实例的健康分', - 'type' => 'string', - 'example' => '100', - ], - 'status' => [ - 'title' => '实例的状态', - 'description' => '实例的状态', - 'type' => 'string', - 'example' => 'Running', - ], - 'meta' => [ - 'title' => '实例的元数据信息', - 'description' => '实例的元数据信息', - 'type' => 'any', - 'example' => '{'."\n" - .' "uname": "Linux",'."\n" - .' "oncpu": "off",'."\n" - .' "release": "5.10.134-16.3.al8.aarch64",'."\n" - .' "monitor": "on",'."\n" - .' "version_id": "3",'."\n" - .' "version": "3 (Soaring Falcon)",'."\n" - .' "podNs": ['."\n" - ."\n" - .' ],'."\n" - .' "machine": "aarch64",'."\n" - .' "name": "Alibaba Cloud Linux",'."\n" - .' "sysak": "3.4.0-1",'."\n" - .' "id": "alinux",'."\n" - .' "region": "cn-hangzhou",'."\n" - .' "centos-release": "Alibaba Cloud Linux release 3 (Soaring Falcon)"'."\n" - .'}', - ], - 'cluster_id' => [ - 'description' => '集群ID', - 'type' => 'string', - 'example' => 'c2218ca2b76ec45e7b7ee1693f6fcd374', - ], + 'time' => ['description' => '时间点', 'type' => 'integer', 'format' => 'int64', 'example' => '1725797727754'], + 'value' => ['description' => '数量', 'type' => 'integer', 'format' => 'int32', 'example' => '5'], ], ], ], - 'request_id' => [ - 'description' => '请求 RequestId', - 'type' => 'string', - 'example' => '9515E5A0-8905-59B0-9BBF-5F0BE568C3A0', - ], - 'total' => [ - 'description' => '总记录数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '623', - ], + 'total' => ['description' => '总条数。', 'type' => 'integer', 'format' => 'int64', 'example' => '3'], + 'request_id' => ['description' => '请求 RequestId', 'type' => 'string', 'example' => '43A910E9-A739-525E-855D-A32C257F1826'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"“”\\",\\n \\"data\\": [\\n {\\n \\"time\\": 1725797727754,\\n \\"value\\": 5\\n }\\n ],\\n \\"total\\": 3,\\n \\"request_id\\": \\"43A910E9-A739-525E-855D-A32C257F1826\\"\\n}","type":"json"}]', + 'title' => '获取集群节点数量或节点Pod数量', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHostCount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"SysomOpenAPI.ServerError\\\\n\\",\\n \\"message\\": \\"Requests for llm service failed\\\\n\\",\\n \\"data\\": [\\n {\\n \\"instance\\": \\"i-wz9d00ut2ska3mlyhn6j\\",\\n \\"region\\": \\"cn-hangzhou\\",\\n \\"kernel_version\\": \\"5.10.134-16.1.an8.x86_64\\",\\n \\"os_arch\\": \\"x86\\",\\n \\"os_name\\": \\"Anolis OS\\",\\n \\"os_version\\": \\"8.9\\",\\n \\"os_name_id\\": \\"anolis\\",\\n \\"os_version_id\\": \\"rhel fedora centos\\",\\n \\"os_health_score\\": \\"100\\",\\n \\"status\\": \\"Running\\",\\n \\"meta\\": \\"{\\\\n \\\\\\"uname\\\\\\": \\\\\\"Linux\\\\\\",\\\\n \\\\\\"oncpu\\\\\\": \\\\\\"off\\\\\\",\\\\n \\\\\\"release\\\\\\": \\\\\\"5.10.134-16.3.al8.aarch64\\\\\\",\\\\n \\\\\\"monitor\\\\\\": \\\\\\"on\\\\\\",\\\\n \\\\\\"version_id\\\\\\": \\\\\\"3\\\\\\",\\\\n \\\\\\"version\\\\\\": \\\\\\"3 (Soaring Falcon)\\\\\\",\\\\n \\\\\\"podNs\\\\\\": [\\\\n\\\\n ],\\\\n \\\\\\"machine\\\\\\": \\\\\\"aarch64\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"Alibaba Cloud Linux\\\\\\",\\\\n \\\\\\"sysak\\\\\\": \\\\\\"3.4.0-1\\\\\\",\\\\n \\\\\\"id\\\\\\": \\\\\\"alinux\\\\\\",\\\\n \\\\\\"region\\\\\\": \\\\\\"cn-hangzhou\\\\\\",\\\\n \\\\\\"centos-release\\\\\\": \\\\\\"Alibaba Cloud Linux release 3 (Soaring Falcon)\\\\\\"\\\\n}\\",\\n \\"cluster_id\\": \\"c2218ca2b76ec45e7b7ee1693f6fcd374\\"\\n }\\n ],\\n \\"request_id\\": \\"9515E5A0-8905-59B0-9BBF-5F0BE568C3A0\\",\\n \\"total\\": 623\\n}","type":"json"}]', - 'title' => '获取纳管实例列表', - 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', ], - 'ListPluginsInstances' => [ - 'summary' => '获取插件的安装/更新/卸载实例列表', - 'path' => '/api/v1/am/agent/listPluginsInstances', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetHotSpotUniqList' => [ + 'summary' => '获取实例下的某个字段列表。', + 'path' => '/api/v1/livetrace_proxy/hotspot_uniq_list', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '254533', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], ], 'parameters' => [ [ - 'name' => 'operation_type', - 'in' => 'query', - 'schema' => [ - 'description' => '通过实例的插件安装状态过滤实例', - 'type' => 'string', - 'required' => true, - 'example' => 'install', - ], - ], - [ - 'name' => 'plugin_id', - 'in' => 'query', - 'schema' => [ - 'description' => '指定本参数则过滤出指定Agent的实例列表', - 'type' => 'string', - 'required' => true, - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], - ], - [ - 'name' => 'region', - 'in' => 'query', - 'schema' => [ - 'description' => '通过区域过滤实例'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shenzhen', - ], - ], - [ - 'name' => 'instance_id_name', - 'in' => 'query', - 'schema' => [ - 'description' => '通过实例id或实例名称过滤,支持模糊查询', - 'type' => 'string', - 'required' => false, - 'example' => 'i-bpxx', - ], - ], - [ - 'name' => 'instance_tag', - 'in' => 'query', - 'schema' => [ - 'description' => '通过实例标签过滤', - 'type' => 'string', - 'required' => false, - 'example' => '{"key":"app","value":"sysom-aliyun-com"}', - ], - ], - [ - 'name' => 'current', - 'in' => 'query', - 'schema' => [ - 'description' => '页码分页时存在该字段,表示当前页', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '5', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '每页大小,默认值为10', - 'type' => 'integer', - 'format' => 'int64', + 'description' => '请求体参数', + 'type' => 'object', + 'properties' => [ + 'uniq' => ['description' => '标识位', 'type' => 'string', 'required' => true, 'example' => '默认需要为"flag",待查询的字段'], + 'instance' => ['description' => '实例ID', 'type' => 'string', 'required' => true, 'example' => 'i-bp1g2i0siirefgwnnnvy'], + 'pid' => ['description' => '进程id', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '12345'], + 'table' => ['description' => '表名称', 'type' => 'string', 'required' => false, 'example' => 'prof_on'], + 'beg_start' => ['description' => '起始时间', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1735008551000'], + 'beg_end' => ['description' => '结束时间', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1735010351000'], + ], 'required' => false, - 'example' => '20', ], ], ], @@ -3818,184 +2485,87 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '描述信息', - 'type' => 'string', - 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求id', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'success' => ['description' => 'true 接口调用成功,false 接口调用失败', 'type' => 'string', 'example' => 'true'], + 'message' => ['description' => '返回信息', 'type' => 'string', 'example' => "\n" + .'success'], 'data' => [ - 'description' => '返回结果。', - 'type' => 'array', - 'items' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'instance_id' => [ - 'description' => '实例ID', - 'type' => 'string', - 'example' => 'i-bp118piqcio9tiwgh84b', - ], - 'instance_name' => [ - 'description' => '组件实例名称。', - 'type' => 'string', - 'example' => 'allowed-repos-qmf8w', - ], - 'instance_tag' => [ - 'description' => '实例标签', - 'type' => 'array', - 'items' => [ - 'description' => '实例标签', - 'type' => 'object', - 'properties' => [ - 'tag_key' => [ - 'description' => '标签的名称。', - 'type' => 'string', - 'example' => 'test_tag_key', - ], - 'tag_value' => [ - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'test_tag_value', - ], - ], - ], - ], - 'public_ip' => [ - 'description' => '公网ip', - 'type' => 'string', - 'example' => '1.1.1.1', - ], - 'private_ip' => [ - 'description' => '私网ip', - 'type' => 'string', - 'example' => '1.1.1.1', - ], - 'resource_group_name' => [ - 'description' => '资源组名称', - 'type' => 'string', - 'example' => 'default resource group', - ], - 'resource_group_id' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-xxxx', - ], - 'os_name' => [ - 'description' => '实例的操作系统名称', - 'type' => 'string', - 'example' => 'Alibaba Cloud Linux 3.2104 LTS 64 bit', - ], - 'region' => [ - 'description' => '实例所在区域', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], + 'description' => '返回数据', + 'type' => 'object', + 'properties' => [ + 'columns' => [ + 'description' => '数据名称列表', + 'type' => 'array', + 'items' => ['description' => '数据名称', 'type' => 'string', 'example' => 'column'], + ], + 'values' => [ + 'description' => '数据值列表', + 'type' => 'array', + 'items' => ['description' => '数据值', 'type' => 'string', 'example' => 'ml'], ], ], ], - 'request_id' => [ - 'description' => '请求 RequestId', - 'type' => 'string', - 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0', - ], - 'total' => [ - 'description' => '查询结果总数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '42', - ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"success\\": \\"true\\",\\n \\"message\\": \\"\\\\nsuccess\\",\\n \\"data\\": {\\n \\"columns\\": [\\n \\"column\\"\\n ],\\n \\"values\\": [\\n \\"ml\\"\\n ]\\n }\\n}","type":"json"}]', + 'title' => '获取热点类型列表', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:hotSpotUniqList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": [\\n {\\n \\"instance_id\\": \\"i-bp118piqcio9tiwgh84b\\",\\n \\"instance_name\\": \\"allowed-repos-qmf8w\\",\\n \\"instance_tag\\": [\\n {\\n \\"tag_key\\": \\"test_tag_key\\",\\n \\"tag_value\\": \\"test_tag_value\\"\\n }\\n ],\\n \\"public_ip\\": \\"1.1.1.1\\",\\n \\"private_ip\\": \\"1.1.1.1\\",\\n \\"resource_group_name\\": \\"default resource group\\",\\n \\"resource_group_id\\": \\"rg-xxxx\\",\\n \\"os_name\\": \\"Alibaba Cloud Linux 3.2104 LTS 64 bit\\",\\n \\"region\\": \\"cn-hangzhou\\"\\n }\\n ],\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\",\\n \\"total\\": 42\\n}","type":"json"}]', - 'title' => '获取组件的实例列表', - 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', ], - 'ListPodsOfInstance' => [ - 'summary' => '获取集群或实例中的pod列表', - 'path' => '/api/v1/am/instance/list_pod_of_instance', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetHotspotAnalysis' => [ + 'path' => '/api/v1/openapi/proxy/post/livetrace_hotspot_analysis', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '256739', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREalinuxJZOVCX'], ], 'parameters' => [ [ - 'name' => 'current', - 'in' => 'query', - 'schema' => [ - 'description' => '当前页码(从1开始)', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '每页大小,默认值为10', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'cluster_id', - 'in' => 'query', - 'schema' => [ - 'description' => '集群标识符', - 'type' => 'string', - 'required' => false, - 'example' => 'c96e34d74eb6748f3b2a46552d5d653f6', - ], - ], - [ - 'name' => 'instance', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', + 'description' => '请求Body', + 'type' => 'object', + 'properties' => [ + 'appType' => ['description' => '应用类型', 'type' => 'string', 'required' => true, 'example' => 'GR'], + 'pid' => ['description' => '进程Pid', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1657494'], + 'instance' => ['description' => '实例ID', 'type' => 'string', 'required' => true, 'example' => 'i-2ze5ru5rjurix7f71sxv'], + 'beg_start' => ['description' => '起始时间', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725410348000'], + 'beg_end' => ['description' => '终止时间', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725413948000'], + 'table' => ['description' => '查询表名', 'type' => 'string', 'required' => false, 'example' => 'prof_on'], + ], 'required' => false, - 'example' => 'i-wz9d00ut2ska3mlyhn6j', ], ], ], @@ -4006,94 +2576,65 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '错误码'."\n", - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'title' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕', - 'description' => '错误信息,空代表数据已经读取完毕', - 'type' => 'string', - 'required' => true, - 'example' => 'instance not exists', - ], - 'data' => [ - 'description' => '返回数据', - 'type' => 'array', - 'items' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'pod' => [ - 'description' => 'Pod名称', - 'type' => 'string', - 'example' => 'test-pod', - ], - 'namespace' => [ - 'description' => 'Pod所在的命名空间', - 'type' => 'string', - 'example' => 'default', - ], - ], - ], - ], - 'RequestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7', - ], - 'total' => [ - 'title' => 'MaxResults本次请求所返回的最大记录条数', - 'description' => 'MaxResults本次请求所返回的最大记录条数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '42', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '错误码', 'type' => 'string', 'example' => 'SysomOpenAPI.ServerError'], + 'data' => ['description' => '返回数据', 'type' => 'string', 'example' => '"AliYunDun:1657494进程(1657494):根据提供的热点调用栈信息,热点主要集中在`__nanosleep_nocancel`以及相关的系统调用`SyS_nanosleep`上,这表明进程在等待特定的时间间隔。通常这是由于应用中存在长时间的睡眠或高频率的定时操作导致的,比如定时任务、心跳检测等。\\n\\n应用代码在需要定期执行某些检查或等待外部事件时会使用`nanosleep`来实现精确的延时控制。为了优化这种情况,可以考虑以下方案:\\n- 评估是否可以减少定时任务的频率。\\n- 使用条件变量替代单纯的睡眠等待,以响应更快的事件触发。\\n- 如果是I/O密集型操作等待,考虑优化I/O路径或提升I/O效率。建议使用SysOM平台的IO诊断工具来进一步定位具体的I/O瓶颈。"'], + 'success' => ['description' => '调用是否成功', 'type' => 'boolean', 'example' => 'True'], + 'message' => ['description' => '响应消息', 'type' => 'string', 'example' => "\n" + .'success'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'eventInfo' => [ + 'enable' => false, + 'eventNames' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"instance not exists\\",\\n \\"data\\": [\\n {\\n \\"pod\\": \\"test-pod\\",\\n \\"namespace\\": \\"default\\"\\n }\\n ],\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\",\\n \\"total\\": 42\\n}","type":"json"}]', - 'title' => '获取集群/实例中的Pod列表', - 'requestParamsDescription' => '如果只填写cluster_id,查询集群下的所有pod信息;如果填写实例id,查询实例下所有pod信息。', - ], - 'UpgradeAgentForCluster' => [ - 'summary' => '给集群更新组件', - 'path' => '/api/v1/am/agent/upgrade_agent_by_cluster', - 'methods' => [ - 'post', + 'gatewayOptions' => [ + 'gatewayProtocols' => [], ], - 'schemes' => [ - 'https', + 'title' => '获取热点分析结果', + 'summary' => '获取热点分析结果', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHotspotAnalysis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"data\\": \\"\\\\\\"AliYunDun:1657494进程(1657494):根据提供的热点调用栈信息,热点主要集中在`__nanosleep_nocancel`以及相关的系统调用`SyS_nanosleep`上,这表明进程在等待特定的时间间隔。通常这是由于应用中存在长时间的睡眠或高频率的定时操作导致的,比如定时任务、心跳检测等。\\\\\\\\n\\\\\\\\n应用代码在需要定期执行某些检查或等待外部事件时会使用`nanosleep`来实现精确的延时控制。为了优化这种情况,可以考虑以下方案:\\\\\\\\n- 评估是否可以减少定时任务的频率。\\\\\\\\n- 使用条件变量替代单纯的睡眠等待,以响应更快的事件触发。\\\\\\\\n- 如果是I/O密集型操作等待,考虑优化I/O路径或提升I/O效率。建议使用SysOM平台的IO诊断工具来进一步定位具体的I/O瓶颈。\\\\\\"\\",\\n \\"success\\": true,\\n \\"message\\": \\"\\\\nsuccess\\"\\n}","type":"json"}]', + ], + 'GetHotspotCompare' => [ + 'summary' => '获取热点对比追踪结果', + 'path' => '/api/v1/openapi/proxy/post/livetrace_hotspot_compare', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '253539', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '231282', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], ], 'parameters' => [ [ @@ -4104,26 +2645,16 @@ 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'cluster_id' => [ - 'description' => '集群ID。'."\n" - ."\n" - .'> 这个集群ID要传递 ACK 集群的ID', - 'type' => 'string', - 'required' => false, - 'example' => 'c1c187fd513cb41a19876bac0e6b05212', - ], - 'agent_id' => [ - 'description' => '组件ID', - 'type' => 'string', - 'required' => false, - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], - 'agent_version' => [ - 'description' => '组件版本', - 'type' => 'string', - 'required' => false, - 'example' => '3.4.0-1', - ], + 'table' => ['description' => '查询表名', 'type' => 'string', 'required' => true, 'example' => 'prof_on'], + 'instance1' => ['description' => '实例1', 'type' => 'string', 'required' => true, 'example' => 'i-2zei55fwj8nnu31h3z46"'], + 'pid1' => ['description' => '实例1进程', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '0'], + 'beg1_start' => ['description' => '起始时间1', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725415474000'], + 'beg1_end' => ['description' => '终止时间1', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725415774000'], + 'instance2' => ['description' => '实例2', 'type' => 'string', 'required' => true, 'example' => '0'], + 'pid2' => ['description' => '实例2进程', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => 'i-2zei55fwj8nnu31h3z46'], + 'beg2_start' => ['description' => '起始时间2', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725415474000'], + 'beg2_end' => ['description' => '终止时间2', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725415774000'], + 'hot_type' => ['description' => '热点类型', 'type' => 'string', 'required' => false, 'example' => 'alloc'], ], 'required' => false, ], @@ -4136,80 +2667,117 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => "\n" - .'success', - ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'code' => ['description' => '错误码', 'type' => 'string', 'example' => 'SysomOpenAPI.ServerError'."\n"], + 'message' => ['description' => '返回信息', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '返回数据。', + 'description' => '返回数据', 'type' => 'object', 'properties' => [ - 'task_id' => [ - 'description' => '任务ID。'."\n" - ."\n" - .'可以凭借本任务ID调用 GetAgentTask 接口查看任务的执行情况', - 'type' => 'string', - 'example' => '7523e9e0ddc74d99a5236f4f4d5056e6', + 'flame' => [ + 'description' => '差分火焰图数据', + 'type' => 'object', + 'properties' => [ + 'columns' => [ + 'description' => '字段名称列表', + 'type' => 'array', + 'items' => ['description' => '字段名称', 'type' => 'string', 'example' => '"sample", "time"'], + ], + 'values' => [ + 'description' => '火焰图数据列表', + 'type' => 'array', + 'items' => [ + 'description' => '火焰图数据', + 'type' => 'array', + 'items' => ['description' => '时间或者采样数据', 'type' => 'string', 'example' => '"{\\"metadata\\":{\\"spyName\\":\\"cprof\\",\\"leftTicks\\":38,\\"name\\":\\"liveTrace\\",\\"rightTicks\\":38,\\"format\\":\\"double\\",\\"units\\":\\"samples\\",\\"appName\\":\\"liveTrace.profiling\\",\\"sampleRate\\":100},\\"version\\":1,\\"other\\":{\\"Table\\":\\"prof_on\\",\\"leftInstance\\":\\"i-2zei55fwj8nnu31h3z46\\",\\"rightInstance\\":\\"i-2zei55fwj8nnu31h3z46\\",\\"leftPid\\":0,\\"rightPid\\":0},\\"flamebearer\\":{\\"maxSelf\\":7,\\"names\\":[\\"total\\",\\"host\\",\\"idle:0\\",\\"default_enter_idle\\",\\"default_idle\\",\\"asm_common_interrupt\\",\\"common_interrupt\\",\\"irq_exit_rcu\\",\\"do_softirq_own_stack\\",\\"asm_call_irq_on_stack\\",\\"__do_softirq\\",\\"net_rx_action\\",\\"napi_poll\\",\\"nsh_cleanup_module\\",\\"napi_complete_done\\",\\"netif_receive_skb_list_internal\\",\\"__netif_receive_skb_list\\",\\"__netif_receive_skb_list_core\\",\\"__netif_receive_skb_core\\",\\"ip_local_deliver_finish\\",\\"ip_protocol_deliver_rcu\\",\\"tcp_v4_rcv\\",\\"__xfrm_policy_check2.constprop.0\\",\\"ip_local_deliver\\",\\"nf_hook_slow\\",\\"secondary_startup_64_no_verify\\",\\"cpu_startup_entry\\",\\"do_idle\\",\\"cpuidle_idle_call\\",\\"haltpoll_reflect\\",\\"cpuidle_enter\\",\\"cpuidle_enter_state\\",\\"sched_clock_cpu\\",\\"sched_clock\\",\\"kvm_sched_clock_read\\",\\"pvclock_clocksource_read\\",\\"asm_sysvec_call_function_single\\",\\"sysvec_call_function_single\\",\\"_nohz_idle_balance\\",\\"rebalance_domains\\",\\"load_balance\\",\\"cpumask_next_and\\",\\"_find_next_bit.constprop.0\\",\\"update_blocked_averages\\",\\"asm_sysvec_apic_timer_interrupt\\",\\"sysvec_apic_timer_interrupt\\",\\"rcu_core\\",\\"rcu_report_qs_rdp\\",\\"_raw_spin_unlock_irqrestore\\",\\"rcu_do_batch\\",\\"__put_task_struct\\",\\"rcu_cblist_dequeue\\",\\"run_timer_softirq\\",\\"__run_timers.part.0\\",\\"run_rebalance_domains\\",\\"start_kernel\\",\\"call_timer_fn\\",\\"process_timeout\\",\\"note_gp_changes\\",\\"schedule_idle\\",\\"__schedule\\"],\\"numTicks\\":76,\\"levels\\":[[0,38,0,0,38,0,0],[0,38,0,0,38,0,1],[0,38,0,0,38,0,2],[0,2,0,0,2,0,3,0,1,0,0,1,0,4,0,35,0,0,35,0,25],[0,2,0,0,2,0,4,0,1,0,0,1,0,5,0,27,3,0,27,3,26,0,8,0,0,8,0,55],[0,2,0,0,2,0,5,0,1,0,0,1,0,6,3,24,0,3,24,0,27,0,8,0,0,8,0,26],[0,2,0,0,2,0,6,0,1,0,0,1,0,7,3,24,0,3,24,0,28,0,8,0,0,8,0,27],[0,2,0,0,2,0,7,0,1,0,0,1,0,8,3,1,1,3,1,1,29,0,23,0,0,23,0,30,0,7,0,0,7,0,28,0,1,0,0,1,0,59],[0,2,0,0,2,0,8,0,1,0,0,1,0,9,4,23,0,4,23,0,31,0,6,0,0,6,0,30,0,1,1,0,1,1,29,0,1,1,0,1,1,60],[0,2,0,0,2,0,9,0,1,0,0,1,0,10,4,4,1,4,4,1,32,0,19,0,0,19,0,3,0,6,0,0,6,0,31],[0,2,0,0,2,0,10,0,1,0,0,1,0,11,5,3,0,5,3,0,33,0,19,0,0,19,0,4,0,1,0,0,1,0,32,0,5,0,0,5,0,3],[0,2,0,0,2,0,11,0,1,0,0,1,0,12,5,3,0,5,3,0,34,0,2,0,0,2,0,36,0,17,0,0,17,0,44,0,1,0,0,1,0,33,0,5,0,0,5,0,4],[0,2,0,0,2,0,12,0,1,0,0,1,0,13,5,3,3,5,3,3,35,0,2,0,0,2,0,37,0,17,0,0,17,0,45,0,1,0,0,1,0,34,0,1,0,0,1,0,36,0,4,0,0,4,0,44],[0,2,0,0,2,0,13,0,1,0,0,1,0,14,8,2,0,8,2,0,7,0,17,0,0,17,0,7,0,1,1,0,1,1,35,0,1,0,0,1,0,37,0,4,0,0,4,0,45],[0,2,0,0,2,0,14,0,1,0,0,1,0,15,8,2,0,8,2,0,8,0,17,0,0,17,0,8,1,1,0,1,1,0,7,0,4,0,0,4,0,7],[0,2,0,0,2,0,15,0,1,0,0,1,0,16,8,2,0,8,2,0,9,0,17,0,0,17,0,9,1,1,0,1,1,0,8,0,4,0,0,4,0,8],[0,2,0,0,2,0,16,0,1,0,0,1,0,17,8,2,0,8,2,0,10,0,17,0,0,17,0,10,1,1,0,1,1,0,9,0,4,0,0,4,0,9],[0,2,0,0,2,0,17,0,1,0,0,1,0,18,8,2,0,8,2,0,38,0,4,0,0,4,0,46,0,3,0,0,3,0,39,0,2,0,0,2,0,52,0,1,1,0,1,1,53,0,7,0,0,7,0,54,1,1,0,1,1,0,10,0,4,1,0,4,1,10],[0,2,0,0,2,0,18,0,1,0,0,1,0,23,8,1,0,8,1,0,39,0,1,1,0,1,1,43,0,2,0,0,2,0,47,0,2,0,0,2,0,49,0,3,2,0,3,2,40,0,2,2,0,2,2,53,1,7,7,1,7,7,43,1,1,0,1,1,0,38,1,1,0,1,1,0,52,0,1,0,0,1,0,54,0,1,0,0,1,0,46],[0,1,0,0,1,0,19,0,1,0,0,1,0,23,0,1,0,0,1,0,24,8,1,0,8,1,0,40,1,2,2,1,2,2,48,0,1,1,0,1,1,50,0,1,1,0,1,1,51,2,1,0,2,1,0,41,11,1,1,11,1,1,43,1,1,0,1,1,0,53,0,1,1,0,1,1,43,0,1,0,0,1,0,58],[0,1,0,0,1,0,20,0,1,0,0,1,0,24,0,1,0,0,1,0,13,8,1,0,8,1,0,41,7,1,1,7,1,1,42,13,1,0,13,1,0,56,1,1,1,1,1,1,48],[0,1,0,0,1,0,21,0,1,0,0,1,0,13,0,1,0,0,1,0,13,8,1,1,8,1,1,42,21,1,1,21,1,1,57],[0,1,1,0,1,1,22,0,1,1,0,1,1,13,0,1,1,0,1,1,13]]},\\"timeLine\\":{\\"left\\":{\\"durationDelta\\":10,\\"startTime\\":1725415480,\\"samples\\":[3,2,5,5,7,8,7,1]},\\"right\\":{\\"durationDelta\\":10,\\"startTime\\":1725415480,\\"samples\\":[3,2,5,5,7,8,7,1]}}}"'."\n"], + ], + ], + ], + ], + 'series_instance1' => [ + 'description' => '热点时序序列1', + 'type' => 'object', + 'properties' => [ + 'columns' => [ + 'description' => '字段名称列表', + 'type' => 'array', + 'items' => ['description' => '字段名称', 'type' => 'string', 'example' => '"time", "EXPR$1"'], + ], + 'values' => [ + 'description' => '热点时序数据列表', + 'type' => 'array', + 'items' => [ + 'description' => '热点时序数据', + 'type' => 'array', + 'items' => ['description' => '时间或者热点采样值', 'type' => 'string', 'example' => '"2024-09-04T02:04:40Z", "3"'], + ], + ], + ], + ], + 'series_instance2' => [ + 'description' => '热点时序序列2', + 'type' => 'object', + 'properties' => [ + 'columns' => [ + 'description' => '字段名称列表', + 'type' => 'array', + 'items' => ['description' => '字段名称', 'type' => 'string', 'example' => '"time", "EXPR$1"'], + ], + 'values' => [ + 'description' => '热点时序数据列表', + 'type' => 'array', + 'items' => [ + 'description' => '热点时序数据', + 'type' => 'array', + 'items' => ['description' => '时间或者热点采样值', 'type' => 'string', 'example' => '"2024-09-04T02:04:40Z", "3"'], + ], + ], + ], ], ], ], + 'success' => ['description' => 'true 接口调用成功,false 接口调用失败', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\\\n\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"flame\\": {\\n \\"columns\\": [\\n \\"\\\\\\"sample\\\\\\", \\\\\\"time\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"{\\\\\\\\\\\\\\"metadata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"spyName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cprof\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"leftTicks\\\\\\\\\\\\\\":38,\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"liveTrace\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rightTicks\\\\\\\\\\\\\\":38,\\\\\\\\\\\\\\"format\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"double\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"units\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"samples\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"appName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"liveTrace.profiling\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sampleRate\\\\\\\\\\\\\\":100},\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"other\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"Table\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"prof_on\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"leftInstance\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"i-2zei55fwj8nnu31h3z46\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rightInstance\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"i-2zei55fwj8nnu31h3z46\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"leftPid\\\\\\\\\\\\\\":0,\\\\\\\\\\\\\\"rightPid\\\\\\\\\\\\\\":0},\\\\\\\\\\\\\\"flamebearer\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"maxSelf\\\\\\\\\\\\\\":7,\\\\\\\\\\\\\\"names\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"total\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"host\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"idle:0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"default_enter_idle\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"default_idle\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"asm_common_interrupt\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"common_interrupt\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"irq_exit_rcu\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"do_softirq_own_stack\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"asm_call_irq_on_stack\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__do_softirq\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"net_rx_action\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"napi_poll\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"nsh_cleanup_module\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"napi_complete_done\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"netif_receive_skb_list_internal\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__netif_receive_skb_list\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__netif_receive_skb_list_core\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__netif_receive_skb_core\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ip_local_deliver_finish\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ip_protocol_deliver_rcu\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"tcp_v4_rcv\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__xfrm_policy_check2.constprop.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ip_local_deliver\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"nf_hook_slow\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"secondary_startup_64_no_verify\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpu_startup_entry\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"do_idle\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpuidle_idle_call\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"haltpoll_reflect\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpuidle_enter\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpuidle_enter_state\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sched_clock_cpu\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sched_clock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"kvm_sched_clock_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pvclock_clocksource_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"asm_sysvec_call_function_single\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sysvec_call_function_single\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_nohz_idle_balance\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rebalance_domains\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"load_balance\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"cpumask_next_and\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_find_next_bit.constprop.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"update_blocked_averages\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"asm_sysvec_apic_timer_interrupt\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sysvec_apic_timer_interrupt\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rcu_core\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rcu_report_qs_rdp\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_raw_spin_unlock_irqrestore\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rcu_do_batch\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__put_task_struct\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rcu_cblist_dequeue\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"run_timer_softirq\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__run_timers.part.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"run_rebalance_domains\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"start_kernel\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"call_timer_fn\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"process_timeout\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"note_gp_changes\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"schedule_idle\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__schedule\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\"numTicks\\\\\\\\\\\\\\":76,\\\\\\\\\\\\\\"levels\\\\\\\\\\\\\\":[[0,38,0,0,38,0,0],[0,38,0,0,38,0,1],[0,38,0,0,38,0,2],[0,2,0,0,2,0,3,0,1,0,0,1,0,4,0,35,0,0,35,0,25],[0,2,0,0,2,0,4,0,1,0,0,1,0,5,0,27,3,0,27,3,26,0,8,0,0,8,0,55],[0,2,0,0,2,0,5,0,1,0,0,1,0,6,3,24,0,3,24,0,27,0,8,0,0,8,0,26],[0,2,0,0,2,0,6,0,1,0,0,1,0,7,3,24,0,3,24,0,28,0,8,0,0,8,0,27],[0,2,0,0,2,0,7,0,1,0,0,1,0,8,3,1,1,3,1,1,29,0,23,0,0,23,0,30,0,7,0,0,7,0,28,0,1,0,0,1,0,59],[0,2,0,0,2,0,8,0,1,0,0,1,0,9,4,23,0,4,23,0,31,0,6,0,0,6,0,30,0,1,1,0,1,1,29,0,1,1,0,1,1,60],[0,2,0,0,2,0,9,0,1,0,0,1,0,10,4,4,1,4,4,1,32,0,19,0,0,19,0,3,0,6,0,0,6,0,31],[0,2,0,0,2,0,10,0,1,0,0,1,0,11,5,3,0,5,3,0,33,0,19,0,0,19,0,4,0,1,0,0,1,0,32,0,5,0,0,5,0,3],[0,2,0,0,2,0,11,0,1,0,0,1,0,12,5,3,0,5,3,0,34,0,2,0,0,2,0,36,0,17,0,0,17,0,44,0,1,0,0,1,0,33,0,5,0,0,5,0,4],[0,2,0,0,2,0,12,0,1,0,0,1,0,13,5,3,3,5,3,3,35,0,2,0,0,2,0,37,0,17,0,0,17,0,45,0,1,0,0,1,0,34,0,1,0,0,1,0,36,0,4,0,0,4,0,44],[0,2,0,0,2,0,13,0,1,0,0,1,0,14,8,2,0,8,2,0,7,0,17,0,0,17,0,7,0,1,1,0,1,1,35,0,1,0,0,1,0,37,0,4,0,0,4,0,45],[0,2,0,0,2,0,14,0,1,0,0,1,0,15,8,2,0,8,2,0,8,0,17,0,0,17,0,8,1,1,0,1,1,0,7,0,4,0,0,4,0,7],[0,2,0,0,2,0,15,0,1,0,0,1,0,16,8,2,0,8,2,0,9,0,17,0,0,17,0,9,1,1,0,1,1,0,8,0,4,0,0,4,0,8],[0,2,0,0,2,0,16,0,1,0,0,1,0,17,8,2,0,8,2,0,10,0,17,0,0,17,0,10,1,1,0,1,1,0,9,0,4,0,0,4,0,9],[0,2,0,0,2,0,17,0,1,0,0,1,0,18,8,2,0,8,2,0,38,0,4,0,0,4,0,46,0,3,0,0,3,0,39,0,2,0,0,2,0,52,0,1,1,0,1,1,53,0,7,0,0,7,0,54,1,1,0,1,1,0,10,0,4,1,0,4,1,10],[0,2,0,0,2,0,18,0,1,0,0,1,0,23,8,1,0,8,1,0,39,0,1,1,0,1,1,43,0,2,0,0,2,0,47,0,2,0,0,2,0,49,0,3,2,0,3,2,40,0,2,2,0,2,2,53,1,7,7,1,7,7,43,1,1,0,1,1,0,38,1,1,0,1,1,0,52,0,1,0,0,1,0,54,0,1,0,0,1,0,46],[0,1,0,0,1,0,19,0,1,0,0,1,0,23,0,1,0,0,1,0,24,8,1,0,8,1,0,40,1,2,2,1,2,2,48,0,1,1,0,1,1,50,0,1,1,0,1,1,51,2,1,0,2,1,0,41,11,1,1,11,1,1,43,1,1,0,1,1,0,53,0,1,1,0,1,1,43,0,1,0,0,1,0,58],[0,1,0,0,1,0,20,0,1,0,0,1,0,24,0,1,0,0,1,0,13,8,1,0,8,1,0,41,7,1,1,7,1,1,42,13,1,0,13,1,0,56,1,1,1,1,1,1,48],[0,1,0,0,1,0,21,0,1,0,0,1,0,13,0,1,0,0,1,0,13,8,1,1,8,1,1,42,21,1,1,21,1,1,57],[0,1,1,0,1,1,22,0,1,1,0,1,1,13,0,1,1,0,1,1,13]]},\\\\\\\\\\\\\\"timeLine\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"left\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"durationDelta\\\\\\\\\\\\\\":10,\\\\\\\\\\\\\\"startTime\\\\\\\\\\\\\\":1725415480,\\\\\\\\\\\\\\"samples\\\\\\\\\\\\\\":[3,2,5,5,7,8,7,1]},\\\\\\\\\\\\\\"right\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"durationDelta\\\\\\\\\\\\\\":10,\\\\\\\\\\\\\\"startTime\\\\\\\\\\\\\\":1725415480,\\\\\\\\\\\\\\"samples\\\\\\\\\\\\\\":[3,2,5,5,7,8,7,1]}}}\\\\\\"\\\\n\\"\\n ]\\n ]\\n },\\n \\"series_instance1\\": {\\n \\"columns\\": [\\n \\"\\\\\\"time\\\\\\", \\\\\\"EXPR$1\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"2024-09-04T02:04:40Z\\\\\\", \\\\\\"3\\\\\\"\\"\\n ]\\n ]\\n },\\n \\"series_instance2\\": {\\n \\"columns\\": [\\n \\"\\\\\\"time\\\\\\", \\\\\\"EXPR$1\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"2024-09-04T02:04:40Z\\\\\\", \\\\\\"3\\\\\\"\\"\\n ]\\n ]\\n }\\n },\\n \\"success\\": true\\n}","type":"json"}]', + 'title' => '获取热点对比追踪结果', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHotspotCompare', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\nsuccess\\",\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\",\\n \\"data\\": {\\n \\"task_id\\": \\"7523e9e0ddc74d99a5236f4f4d5056e6\\"\\n }\\n}","type":"json"}]', - 'title' => '为 ACK 集群更新组件', ], - 'UpgradeAgent' => [ - 'summary' => '更新安装的组件的版本到指定版本', - 'path' => '/api/v1/am/agent/upgrade_agent', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetHotspotInstanceList' => [ + 'summary' => '获取热点实例列表', + 'path' => '/api/v1/openapi/proxy/post/livetrace_hotspot_instance_list', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREalinuxJZOVCX'], ], 'parameters' => [ [ @@ -4220,42 +2788,9 @@ 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'instances' => [ - 'description' => '要更新组件的实例列表', - 'type' => 'array', - 'items' => [ - 'description' => '实例信息', - 'type' => 'object', - 'properties' => [ - 'instance' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'i-wz9b9vucz1iubsz8sjqo', - ], - 'region' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - 'required' => true, - ], - 'required' => true, - ], - 'agent_id' => [ - 'description' => '要更新的组件ID', - 'type' => 'string', - 'required' => true, - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], - 'agent_version' => [ - 'description' => '要更新的组件版本', - 'type' => 'string', - 'required' => true, - 'example' => '3.4.0-1', - ], + 'table' => ['description' => '查询表名', 'type' => 'string', 'required' => true, 'example' => 'prof_on'], + 'beg_start' => ['description' => '起始时间', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725413647000'], + 'beg_end' => ['description' => '终止时间', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725413947000'], ], 'required' => false, ], @@ -4268,79 +2803,69 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'code' => ['description' => '错误码', 'type' => 'string', 'example' => 'SysomOpenAPI.ServerError'], + 'message' => ['description' => '描述信息', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '返回数据', + 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'task_id' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => '391f5aeba2054f66b3aaef0136142fe2', + 'columns' => [ + 'description' => '字段名称', + 'type' => 'array', + 'items' => ['description' => '查询的字段', 'type' => 'string', 'example' => 'column'], + ], + 'values' => [ + 'description' => '实例列表', + 'type' => 'array', + 'items' => ['description' => '实例ID', 'type' => 'string', 'example' => 'i-2ze5ru5rjurix7f71sxv'], ], ], ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7', - ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": {\\n \\"columns\\": [\\n \\"column\\"\\n ],\\n \\"values\\": [\\n \\"i-2ze5ru5rjurix7f71sxv\\"\\n ]\\n }\\n}","type":"json"}]', + 'title' => '获取实例列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHotspotInstanceList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": {\\n \\"task_id\\": \\"391f5aeba2054f66b3aaef0136142fe2\\"\\n },\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\"\\n}","type":"json"}]', - 'title' => '更新组件', - 'description' => '调用本接口更新 Agent 是异步的,调用接口后会返回一个 task_id,可以凭借该 ID 调用 GetAgentTask 接口获取任务的执行情况。', ], - 'UninstallAgentForCluster' => [ - 'summary' => '给集群卸载组件', - 'path' => '/api/v1/am/agent/uninstall_agent_by_cluster', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetHotspotPidList' => [ + 'summary' => '获取某个实例的pid列表', + 'path' => '/api/v1/openapi/proxy/post/livetrace_hotspot_pid_list', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '253536', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREalinuxJZOVCX'], ], 'parameters' => [ [ @@ -4351,26 +2876,10 @@ 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'cluster_id' => [ - 'description' => '集群ID。'."\n" - ."\n" - .'> 这个集群ID要传递 ACK 集群的ID', - 'type' => 'string', - 'required' => false, - 'example' => 'c822f83bb45994ddbac9326b4c2f04f35', - ], - 'agent_id' => [ - 'description' => '组件ID', - 'type' => 'string', - 'required' => false, - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], - 'agent_version' => [ - 'description' => '组件版本', - 'type' => 'string', - 'required' => false, - 'example' => '3.4.0-1', - ], + 'table' => ['description' => '查询表名', 'type' => 'string', 'required' => true, 'example' => 'prof_on'], + 'instance' => ['description' => '实例ID', 'type' => 'string', 'required' => true, 'example' => 'i-2ze5ru5rjurix7f71sxv'], + 'beg_start' => ['description' => '起始时间', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725413647000'], + 'beg_end' => ['description' => '终止时间', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725413947000'], ], 'required' => false, ], @@ -4383,34 +2892,26 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIException: SysomOpenAPI.NotAuthorizedInstance Instance 21 is not authorized', - ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => '44841312-7227-55C9-AE03-D59729BFAE38', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '错误码', 'type' => 'string', 'example' => 'SysomOpenAPI.InvalidParameter'], + 'message' => ['description' => '返回信息', 'type' => 'string', 'example' => 'Success'], 'data' => [ 'description' => '返回数据', 'type' => 'object', 'properties' => [ - 'task_id' => [ - 'description' => '任务ID。'."\n" - .'可以通过本任务 ID,调用 GetAgentTasK 查询任务的执行状态', - 'type' => 'string', - 'example' => '049ea0609515414b9e19c3389d7ba638', + 'columns' => [ + 'description' => '字段名称列表', + 'type' => 'array', + 'items' => ['description' => '字段名称', 'type' => 'string', 'example' => '"time", "pid", "comm"'], + ], + 'values' => [ + 'description' => '进程信息列表', + 'type' => 'array', + 'items' => [ + 'description' => '进程信息', + 'type' => 'array', + 'items' => ['description' => '进程信息详情', 'type' => 'string', 'example' => '"2024-09-04T01:04:30Z","6890","coredns"'], + ], ], ], ], @@ -4418,43 +2919,47 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"SysomOpenAPI.InvalidParameter\\",\\n \\"message\\": \\"Success\\",\\n \\"data\\": {\\n \\"columns\\": [\\n \\"\\\\\\"time\\\\\\", \\\\\\"pid\\\\\\", \\\\\\"comm\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"2024-09-04T01:04:30Z\\\\\\",\\\\\\"6890\\\\\\",\\\\\\"coredns\\\\\\"\\"\\n ]\\n ]\\n }\\n}","type":"json"}]', + 'title' => '获取pid列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHotspotPidList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.NotAuthorizedInstance Instance 21 is not authorized\\",\\n \\"RequestId\\": \\"44841312-7227-55C9-AE03-D59729BFAE38\\",\\n \\"data\\": {\\n \\"task_id\\": \\"049ea0609515414b9e19c3389d7ba638\\"\\n }\\n}","type":"json"}]', - 'title' => '为ACK集群卸载组件', ], - 'UninstallAgent' => [ - 'summary' => '卸载指定版本的组件', - 'path' => '/api/v1/am/agent/uninstall_agent', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'GetHotspotTracking' => [ + 'summary' => '获取热点追踪结果', + 'path' => '/api/v1/openapi/proxy/post/livetrace_hotspot_tracking', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'delete', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '230069', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], ], 'parameters' => [ [ @@ -4465,42 +2970,12 @@ 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'instances' => [ - 'description' => '要卸载组件的实例列表', - 'type' => 'array', - 'items' => [ - 'description' => '实例信息', - 'type' => 'object', - 'properties' => [ - 'instance' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'i-wz9b9vucz1iubsz8sjqo', - ], - 'region' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], - ], - 'required' => true, - ], - 'required' => true, - ], - 'agent_id' => [ - 'description' => '要卸载的组件ID', - 'type' => 'string', - 'required' => true, - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], - 'agent_version' => [ - 'description' => '要卸载的组件版本', - 'type' => 'string', - 'required' => true, - 'example' => '3.4.0-1', - ], + 'table' => ['description' => '查询表名', 'type' => 'string', 'required' => true, 'example' => 'prof_on'], + 'instance' => ['description' => '实例ID', 'type' => 'string', 'required' => true, 'example' => 'i-2ze5ru5rjurix7f71sxv'], + 'beg_start' => ['description' => '起始时间', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725410348000'], + 'beg_end' => ['description' => '终止时间', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1725413948000'], + 'pid' => ['description' => '进程Pid', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1657494'], + 'hot_type' => ['description' => '热点类型', 'type' => 'string', 'required' => true, 'example' => 'alloc'], ], 'required' => false, ], @@ -4513,80 +2988,106 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom', - ], + 'requestId' => ['description' => '请求ID', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'code' => ['description' => '错误编码', 'type' => 'string', 'example' => 'SysomOpenAPI.ServerError'], + 'message' => ['description' => '返回信息', 'type' => 'string', 'example' => 'Success'], 'data' => [ 'description' => '返回数据', 'type' => 'object', 'properties' => [ - 'task_id' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => '63fc5acb99e642d793f42912612e8001', + 'series' => [ + 'description' => '数据列表', + 'type' => 'object', + 'properties' => [ + 'columns' => [ + 'description' => '字段名称列表', + 'type' => 'array', + 'items' => ['description' => '字段名称', 'type' => 'string', 'example' => '"time", "EXPR$1"'], + ], + 'values' => [ + 'description' => '热点时序数据列表', + 'type' => 'array', + 'items' => [ + 'description' => '热点时序数据', + 'type' => 'array', + 'items' => ['description' => '热点采样值', 'type' => 'string', 'example' => '"2024-09-04T00:39:50Z", "1"'], + ], + ], + ], + ], + 'flame' => [ + 'description' => '火焰图数据', + 'type' => 'object', + 'properties' => [ + 'columns' => [ + 'description' => '字段名称列表', + 'type' => 'array', + 'items' => ['description' => '字段名称', 'type' => 'string', 'example' => '"sample","time"'], + ], + 'values' => [ + 'description' => '火焰图数据列表', + 'type' => 'array', + 'items' => [ + 'description' => '火焰图数据', + 'type' => 'array', + 'items' => ['description' => '时间戳,图数据', 'type' => 'string', 'example' => '"{\\"flamebearer\\":{\\"names\\":[\\"total\\",\\"host\\",\\"AliYunDun:1657494\\",\\"?5043000000000000\\",\\"std::basic_string::basic_string\\",\\"__memmove_ssse3_back\\",\\"_init\\",\\"std::string::_Rep::_M_set_length_and_sharable\\",\\"std::string::_S_copy_chars\\",\\"__strlen_sse2_pminub\\",\\"__read_nocancel\\",\\"system_call_fastpath\\",\\"SyS_read\\",\\"vfs_read\\",\\"seq_read\\",\\"proc_single_show\\",\\"proc_tgid_stat\\",\\"do_task_stat\\",\\"__delayacct_blkio_ticks\\",\\"_raw_spin_unlock_irqrestore\\",\\"proc_pid_status\\",\\"seq_bitmap\\",\\"bitmap_scnprintf\\",\\"bitmap_scnprintf.part.0\\",\\"scnprintf\\",\\"vscnprintf\\",\\"vsnprintf\\",\\"format_decode\\",\\"kernfs_fop_read\\",\\"kernfs_seq_show\\",\\"sysfs_kf_seq_show\\",\\"dev_attr_show\\",\\"part_stat_show\\",\\"part_in_flight\\",\\"blk_mq_in_flight\\",\\"blk_mq_queue_tag_busy_iter\\",\\"copy_user_enhanced_fast_string\\",\\"proc_reg_read\\",\\"meminfo_proc_show\\",\\"get_vmalloc_info\\",\\"aqs::CThreadUtil::ThreadFunc\\",\\"operatordelete\\",\\"CProtocolHandlerThread::run\\",\\"CSingleton::GetInstance\\",\\"CResourceMonitor::SetThreadHeartbeat\\",\\"CMonitor::SetThreadHeartbeat\\",\\"aqs::CMutexLockUtil::CMutexLockUtil\\",\\"aqs::CGetTickClock::GetClock\\",\\"__pthread_rwlock_rdlock\\",\\"pthread_rwlock_rdlock\\",\\"aqs::CReadLockUtil::CReadLockUtil\\",\\"std::map::find\\",\\"std::_Rb_tree\\",\\"std::less::operator\\",\\"std::_Rb_tree_iterator::_Rb_tree_iterator\\",\\"__GI___pthread_mutex_lock\\",\\"pthread_mutex_lock\\",\\"__nanosleep_nocancel\\",\\"SyS_nanosleep\\",\\"__check_object_size\\",\\"__virt_addr_valid\\",\\"hrtimer_nanosleep\\",\\"hrtimer_init\\",\\"do_nanosleep\\",\\"schedule\\",\\"__schedule\\",\\"rcu_note_context_switch\\",\\"finish_task_switch\\",\\"hrtimer_start_range_ns\\",\\"lock_hrtimer_base.isra.20\\",\\"_raw_spin_lock_irqsave\\",\\"__audit_syscall_entry\\",\\"CIpcPrivate::run\\",\\"std::list::empty\\",\\"stIpcRawMsg::stIpcRawMsg\\",\\"CIpcPrivate::HandleRecvRawMsg\\",\\"std::basic_string::~basic_string\\",\\"CIpcPrivate::OnRecvClientData\\",\\"CIpcPrivate::InsertMsg\\",\\"std::list::push_back\\",\\"std::list::_M_insert\\",\\"std::list::_M_create_node\\",\\"__gnu_cxx::new_allocator::allocate\\",\\"ParseIpcDataEx\\",\\"boolCSimpleSerialization::GetInt\\",\\"CSimpleSerialization::GetMemberForInteger\\",\\"CIpcPrivate::HandleSendMsg\\",\\"CIpcPrivate::SendIpcMsgPri\\",\\"CSelfGuardIpc::IpcRecvMsg\\",\\"CNetWork::run\\",\\"CNetWork::PeekRecvMessage\\",\\"CNetWork::ReadOneMessage\\",\\"evthread_use_pthreads\\",\\"pthread_self\\",\\"bufferevent_get_input\\",\\"CAtomicInt64::Get\\",\\"CNetWork::PeekSendMessage\\",\\"CTcpMessageBuffer::MarkSendMessage\\",\\"CNetWork::GetSendMessage\\",\\"__SendMessage::__SendMessage\\",\\"__epoll_wait_nocancel\\",\\"system_call_after_swapgs\\",\\"!48c69361\\",\\"!48c672e9\\",\\"!48c20f45\\",\\"!48c2106d\\",\\"!48c2eca3\\",\\"SyS_epoll_wait\\",\\"ep_poll\\",\\"__fdget\\",\\"__fget_light\\"],\\"maxSelf\\":92,\\"numTicks\\":268,\\"levels\\":[[0,268,0,0],[0,268,0,1],[0,268,92,2],[92,10,0,3,0,6,1,10,0,139,14,40,0,7,0,100,0,14,0,57],[92,8,0,4,0,2,2,9,1,5,0,11,14,3,3,41,0,36,0,42,0,3,3,6,0,45,3,57,0,15,1,72,0,3,3,43,0,20,0,89,0,1,1,101,0,1,0,102,0,5,0,11,0,1,1,101,0,13,0,11],[92,1,1,5,0,2,2,6,0,4,4,7,0,1,1,8,3,5,0,12,17,1,1,43,0,5,5,44,0,30,1,45,6,41,1,11,0,1,1,71,1,1,1,73,0,6,0,45,0,2,2,74,0,3,0,75,0,2,0,86,3,7,0,90,0,1,1,95,0,2,0,45,0,5,0,96,0,1,1,76,0,3,3,99,0,1,1,6,1,1,0,103,0,4,0,107,0,1,1,109,1,13,0,58],[103,5,0,13,24,1,1,46,0,3,3,47,0,5,5,43,0,16,0,44,0,1,1,55,0,1,1,56,0,2,2,6,7,39,1,58,0,1,1,36,3,3,0,44,0,1,1,6,0,2,2,51,2,1,1,76,0,2,0,77,0,1,0,87,0,1,1,6,3,7,1,91,1,2,0,44,0,3,3,97,0,2,0,98,6,1,0,104,0,2,0,108,0,2,0,109,2,2,2,59,0,11,0,61],[103,2,0,14,0,1,0,28,0,1,1,36,0,1,0,37,33,1,1,43,0,2,2,48,0,2,2,49,0,2,2,6,0,2,2,50,0,7,0,51,12,4,2,59,0,1,1,60,0,33,1,61,4,1,1,49,0,1,1,50,0,1,0,51,6,1,0,78,0,1,0,83,0,1,0,88,5,1,1,92,0,1,1,6,0,1,1,93,0,3,3,94,1,1,0,51,0,1,1,48,3,1,1,55,0,1,1,6,6,1,0,105,0,2,2,19,0,2,2,110,4,11,0,63],[103,2,0,15,0,1,0,14,1,1,0,14,42,6,3,52,0,1,1,6,14,2,2,60,2,2,2,62,0,30,0,63,6,1,1,52,6,1,0,79,0,1,0,84,0,1,1,9,12,1,1,52,12,1,1,106,8,5,1,64,0,6,0,68],[103,1,0,16,0,1,0,20,0,1,0,29,1,1,0,38,45,2,2,53,0,1,1,54,21,15,0,64,0,15,0,68,13,1,0,80,0,1,1,85,36,4,0,65,0,6,6,19],[103,1,0,17,0,1,0,21,0,1,0,30,1,1,1,39,69,15,0,65,0,1,0,69,0,14,14,19,13,1,0,81,37,4,4,67],[103,1,0,18,0,1,0,22,0,1,0,31,71,2,2,66,0,13,13,67,0,1,1,70,27,1,1,82],[103,1,1,19,0,1,0,23,0,1,0,32],[104,1,0,24,0,1,0,33],[104,1,0,25,0,1,0,34],[104,1,0,26,0,1,1,35],[104,1,1,27]]},\\"version\\":1,\\"metadata\\":{\\"name\\":\\"liveTrace\\",\\"sampleRate\\":100,\\"spyName\\":\\"cprof\\",\\"units\\":\\"samples\\",\\"maxNodes\\":1024,\\"appName\\":\\"liveTrace.profiling\\",\\"format\\":\\"single\\"}}"'."\n"], + ], + ], + ], ], ], ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => '13772206-1162-5A0F-81F0-79A10C249A5E', - ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"message\\": \\"Success\\",\\n \\"data\\": {\\n \\"series\\": {\\n \\"columns\\": [\\n \\"\\\\\\"time\\\\\\", \\\\\\"EXPR$1\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"2024-09-04T00:39:50Z\\\\\\", \\\\\\"1\\\\\\"\\"\\n ]\\n ]\\n },\\n \\"flame\\": {\\n \\"columns\\": [\\n \\"\\\\\\"sample\\\\\\",\\\\\\"time\\\\\\"\\"\\n ],\\n \\"values\\": [\\n [\\n \\"\\\\\\"{\\\\\\\\\\\\\\"flamebearer\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"names\\\\\\\\\\\\\\":[\\\\\\\\\\\\\\"total\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"host\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"AliYunDun:1657494\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"?5043000000000000\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::basic_string::basic_string\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__memmove_ssse3_back\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_init\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::string::_Rep::_M_set_length_and_sharable\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::string::_S_copy_chars\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__strlen_sse2_pminub\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__read_nocancel\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"system_call_fastpath\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SyS_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"vfs_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"seq_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"proc_single_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"proc_tgid_stat\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"do_task_stat\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__delayacct_blkio_ticks\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_raw_spin_unlock_irqrestore\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"proc_pid_status\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"seq_bitmap\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"bitmap_scnprintf\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"bitmap_scnprintf.part.0\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"scnprintf\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"vscnprintf\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"vsnprintf\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"format_decode\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"kernfs_fop_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"kernfs_seq_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sysfs_kf_seq_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"dev_attr_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"part_stat_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"part_in_flight\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"blk_mq_in_flight\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"blk_mq_queue_tag_busy_iter\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"copy_user_enhanced_fast_string\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"proc_reg_read\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"meminfo_proc_show\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"get_vmalloc_info\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"aqs::CThreadUtil::ThreadFunc\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"operatordelete\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CProtocolHandlerThread::run\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CSingleton::GetInstance\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CResourceMonitor::SetThreadHeartbeat\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CMonitor::SetThreadHeartbeat\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"aqs::CMutexLockUtil::CMutexLockUtil\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"aqs::CGetTickClock::GetClock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__pthread_rwlock_rdlock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pthread_rwlock_rdlock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"aqs::CReadLockUtil::CReadLockUtil\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::map::find\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::_Rb_tree\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::less::operator\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::_Rb_tree_iterator::_Rb_tree_iterator\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__GI___pthread_mutex_lock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pthread_mutex_lock\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__nanosleep_nocancel\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SyS_nanosleep\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__check_object_size\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__virt_addr_valid\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"hrtimer_nanosleep\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"hrtimer_init\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"do_nanosleep\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"schedule\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__schedule\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"rcu_note_context_switch\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"finish_task_switch\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"hrtimer_start_range_ns\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"lock_hrtimer_base.isra.20\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"_raw_spin_lock_irqsave\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__audit_syscall_entry\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::run\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::list::empty\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"stIpcRawMsg::stIpcRawMsg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::HandleRecvRawMsg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::basic_string::~basic_string\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::OnRecvClientData\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::InsertMsg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::list::push_back\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::list::_M_insert\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"std::list::_M_create_node\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__gnu_cxx::new_allocator::allocate\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ParseIpcDataEx\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"boolCSimpleSerialization::GetInt\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CSimpleSerialization::GetMemberForInteger\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::HandleSendMsg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CIpcPrivate::SendIpcMsgPri\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CSelfGuardIpc::IpcRecvMsg\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CNetWork::run\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CNetWork::PeekRecvMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CNetWork::ReadOneMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"evthread_use_pthreads\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"pthread_self\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"bufferevent_get_input\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CAtomicInt64::Get\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CNetWork::PeekSendMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CTcpMessageBuffer::MarkSendMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"CNetWork::GetSendMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__SendMessage::__SendMessage\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__epoll_wait_nocancel\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"system_call_after_swapgs\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"!48c69361\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"!48c672e9\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"!48c20f45\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"!48c2106d\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"!48c2eca3\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"SyS_epoll_wait\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"ep_poll\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__fdget\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"__fget_light\\\\\\\\\\\\\\"],\\\\\\\\\\\\\\"maxSelf\\\\\\\\\\\\\\":92,\\\\\\\\\\\\\\"numTicks\\\\\\\\\\\\\\":268,\\\\\\\\\\\\\\"levels\\\\\\\\\\\\\\":[[0,268,0,0],[0,268,0,1],[0,268,92,2],[92,10,0,3,0,6,1,10,0,139,14,40,0,7,0,100,0,14,0,57],[92,8,0,4,0,2,2,9,1,5,0,11,14,3,3,41,0,36,0,42,0,3,3,6,0,45,3,57,0,15,1,72,0,3,3,43,0,20,0,89,0,1,1,101,0,1,0,102,0,5,0,11,0,1,1,101,0,13,0,11],[92,1,1,5,0,2,2,6,0,4,4,7,0,1,1,8,3,5,0,12,17,1,1,43,0,5,5,44,0,30,1,45,6,41,1,11,0,1,1,71,1,1,1,73,0,6,0,45,0,2,2,74,0,3,0,75,0,2,0,86,3,7,0,90,0,1,1,95,0,2,0,45,0,5,0,96,0,1,1,76,0,3,3,99,0,1,1,6,1,1,0,103,0,4,0,107,0,1,1,109,1,13,0,58],[103,5,0,13,24,1,1,46,0,3,3,47,0,5,5,43,0,16,0,44,0,1,1,55,0,1,1,56,0,2,2,6,7,39,1,58,0,1,1,36,3,3,0,44,0,1,1,6,0,2,2,51,2,1,1,76,0,2,0,77,0,1,0,87,0,1,1,6,3,7,1,91,1,2,0,44,0,3,3,97,0,2,0,98,6,1,0,104,0,2,0,108,0,2,0,109,2,2,2,59,0,11,0,61],[103,2,0,14,0,1,0,28,0,1,1,36,0,1,0,37,33,1,1,43,0,2,2,48,0,2,2,49,0,2,2,6,0,2,2,50,0,7,0,51,12,4,2,59,0,1,1,60,0,33,1,61,4,1,1,49,0,1,1,50,0,1,0,51,6,1,0,78,0,1,0,83,0,1,0,88,5,1,1,92,0,1,1,6,0,1,1,93,0,3,3,94,1,1,0,51,0,1,1,48,3,1,1,55,0,1,1,6,6,1,0,105,0,2,2,19,0,2,2,110,4,11,0,63],[103,2,0,15,0,1,0,14,1,1,0,14,42,6,3,52,0,1,1,6,14,2,2,60,2,2,2,62,0,30,0,63,6,1,1,52,6,1,0,79,0,1,0,84,0,1,1,9,12,1,1,52,12,1,1,106,8,5,1,64,0,6,0,68],[103,1,0,16,0,1,0,20,0,1,0,29,1,1,0,38,45,2,2,53,0,1,1,54,21,15,0,64,0,15,0,68,13,1,0,80,0,1,1,85,36,4,0,65,0,6,6,19],[103,1,0,17,0,1,0,21,0,1,0,30,1,1,1,39,69,15,0,65,0,1,0,69,0,14,14,19,13,1,0,81,37,4,4,67],[103,1,0,18,0,1,0,22,0,1,0,31,71,2,2,66,0,13,13,67,0,1,1,70,27,1,1,82],[103,1,1,19,0,1,0,23,0,1,0,32],[104,1,0,24,0,1,0,33],[104,1,0,25,0,1,0,34],[104,1,0,26,0,1,1,35],[104,1,1,27]]},\\\\\\\\\\\\\\"version\\\\\\\\\\\\\\":1,\\\\\\\\\\\\\\"metadata\\\\\\\\\\\\\\":{\\\\\\\\\\\\\\"name\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"liveTrace\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"sampleRate\\\\\\\\\\\\\\":100,\\\\\\\\\\\\\\"spyName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"cprof\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"units\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"samples\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"maxNodes\\\\\\\\\\\\\\":1024,\\\\\\\\\\\\\\"appName\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"liveTrace.profiling\\\\\\\\\\\\\\",\\\\\\\\\\\\\\"format\\\\\\\\\\\\\\":\\\\\\\\\\\\\\"single\\\\\\\\\\\\\\"}}\\\\\\"\\\\n\\"\\n ]\\n ]\\n }\\n }\\n}","type":"json"}]', + 'title' => '获取热点追踪结果', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHotspotTracking', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": {\\n \\"task_id\\": \\"63fc5acb99e642d793f42912612e8001\\"\\n },\\n \\"RequestId\\": \\"13772206-1162-5A0F-81F0-79A10C249A5E\\"\\n}","type":"json"}]', - 'title' => '卸载组件', - 'description' => '调用本接口卸载 Agent 是异步的,调用接口后会返回一个 task_id,可以凭借该 ID 调用 GetAgentTask 接口获取任务的执行情况。', ], - 'ListRegions' => [ - 'summary' => '列出所有纳管了机器的区域', - 'path' => '/api/v1/am/instance/list_regions', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetInspectionReport' => [ + 'path' => '/api/v1/inspection/getInspectionReport', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', + 'abilityTreeNodes' => ['FEATUREalinux33ME7W'], + ], + 'parameters' => [ + [ + 'name' => 'reportId', + 'in' => 'query', + 'schema' => ['description' => '巡检报告ID。', 'type' => 'string', 'required' => false, 'example' => '91bec4c5a168494e8128468e3995df87'], ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [], 'responses' => [ 200 => [ 'schema' => [ @@ -4594,241 +3095,158 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '错误码', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误码描述,若无错误则为空', - 'type' => 'string', - 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom', - ], - 'data' => [ - 'description' => '区域列表', - 'type' => 'array', - 'items' => [ - 'description' => '区域', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'example' => '["cn-hangzhou", "cn-shengzhen"]', - ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'SysomOpenAPI.InvalidParameter'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict'], + 'data' => ['description' => '返回结果。', 'type' => 'any', 'example' => '{}'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取巡检报告', + 'summary' => '本接口用于获取SysOM巡检报告', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": [\\n \\"cn-hangzhou\\"\\n ],\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\"\\n}","type":"json"}]', - 'title' => '获取纳管实例分布的区域列表', - 'description' => '本接口获取的是当前用户存在被 SysOM 纳管机器的区域列表,如果用户在某个区域下有 ECS 实例,但是没有被 SysOM 纳管,则该区域不会出现在接口的结果里面。', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"SysomOpenAPI.InvalidParameter\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": \\"{}\\"\\n}","type":"json"}]', ], - 'ListInstancesWithEcsInfo' => [ - 'summary' => '获取已纳管/未纳管实例信息,信息中包含ECS信息', - 'path' => '/api/v1/am/instance/listInstancesWithEcsInfo', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetInstantScore' => [ + 'summary' => '获取实时集群/节点健康度分数', + 'path' => '/api/v1/openapi/cluster_health/instant/score', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeCode' => '230346', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], ], 'parameters' => [ [ - 'name' => 'region', - 'in' => 'query', - 'schema' => [ - 'description' => '通过区域过滤实例'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shenzhen', - ], - ], - [ - 'name' => 'instance_id', - 'in' => 'query', - 'schema' => [ - 'description' => '指定本字段,则过滤出指定实例的Agent安装情况', - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp118piqcio9tiwgh84b', - ], - ], - [ - 'name' => 'instance_name', + 'name' => 'cluster', 'in' => 'query', - 'schema' => [ - 'description' => '组件实例名称。', - 'type' => 'string', - 'required' => false, - 'example' => 'block-load-balancer-hjdm9', - ], + 'schema' => ['description' => '集群id', 'type' => 'string', 'required' => false, 'example' => '2ijff4be-bf24-4070-89ca-c47c879b0g32'], ], [ - 'name' => 'instance_id_name', - 'in' => 'query', - 'schema' => [ - 'description' => '通过实例名称或者实例id过滤,支持模糊查询', - 'type' => 'string', - 'required' => false, - 'example' => '84b', - ], - ], - [ - 'name' => 'is_managed', + 'name' => 'instance', 'in' => 'query', - 'schema' => [ - 'description' => '通过实例的纳管状态过滤', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9d00ut2ska3mlyhn6j'], ], - [ - 'name' => 'instance_tag', - 'in' => 'query', - 'style' => 'json', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '通过实例标签过滤', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'key' => [ - 'description' => '标签key值。', - 'type' => 'string', - 'required' => false, - 'example' => 'feature_dim_radar_chart', - ], - 'value' => [ - 'description' => '标签value值', - 'type' => 'string', - 'required' => false, - 'example' => 'test', + 'code' => ['title' => '资源一级ID', 'description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'required' => false, 'example' => 'Success', 'pattern' => '^[a-zA-Z._-]+$', 'default' => ''], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'Query no data'], + 'data' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'saturation' => ['description' => '饱和度分', 'type' => 'number', 'format' => 'float', 'example' => '100'], + 'latency' => ['description' => '延时分', 'type' => 'number', 'format' => 'float', 'example' => '100'], + 'load' => ['description' => '负载分', 'type' => 'number', 'format' => 'float', 'example' => '100'], + 'error' => ['description' => '错误分', 'type' => 'number', 'format' => 'float', 'example' => '100'], + 'total' => ['description' => '总分', 'type' => 'number', 'format' => 'float', 'example' => '100'], + ], ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], ], - 'required' => false, ], ], - [ - 'name' => 'public_ip', - 'in' => 'query', - 'schema' => [ - 'description' => '通过公网ip地址过滤实例', - 'type' => 'string', - 'required' => false, - 'example' => '1.1.1.1', - ], - ], - [ - 'name' => 'private_ip', - 'in' => 'query', - 'schema' => [ - 'description' => '通过私网ip地址过滤实例', - 'type' => 'string', - 'required' => false, - 'example' => '1.1.1.1', - ], - ], - [ - 'name' => 'resource_group_name', - 'in' => 'query', - 'schema' => [ - 'description' => '通过资源组名称过滤实例', - 'type' => 'string', - 'required' => false, - 'example' => 'default resource group', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"Query no data\\",\\n \\"data\\": {\\n \\"saturation\\": 100,\\n \\"latency\\": 100,\\n \\"load\\": 100,\\n \\"error\\": 100,\\n \\"total\\": 100\\n },\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\"\\n}","type":"json"}]', + 'title' => '获取实时集群/节点健康度分数', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetInstantScore', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + ], + 'GetListRecord' => [ + 'summary' => 'AI Infra获取分析记录列表', + 'path' => '/api/v1/app_observ/aiAnalysis/list_record', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'resource_group_id', - 'in' => 'query', - 'schema' => [ - 'description' => '通过资源组ID过滤实例', - 'type' => 'string', - 'required' => false, - 'example' => 'rg-xxxxxxx', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '255604', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ [ - 'name' => 'resource_group_id_name', + 'name' => 'current', 'in' => 'query', - 'schema' => [ - 'description' => '通过资源组名称或者资源组id过滤,支持模糊查询', - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => '当前所在分页', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '5'], ], [ - 'name' => 'health_status', + 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '通过健康状态过滤实例', - 'type' => 'string', - 'required' => false, - 'example' => 'healthy', - ], + 'schema' => ['description' => '当前页数据条数。', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], ], [ - 'name' => 'os_name', + 'name' => 'region', 'in' => 'query', - 'schema' => [ - 'description' => '通过实例操作系统名称过滤', - 'type' => 'string', - 'required' => false, - 'example' => 'Alibaba Cloud Linux 3.2104 LTS 64bit', - ], + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], [ - 'name' => 'current', + 'name' => 'customId', 'in' => 'query', - 'schema' => [ - 'description' => '页码分页时存在该字段,表示当前页', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['type' => 'integer', 'format' => 'int64', 'required' => false, 'description' => ''], ], [ - 'name' => 'pageSize', + 'name' => 'analysisId', 'in' => 'query', - 'schema' => [ - 'description' => '每页大小,默认值为10', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '查询指定分析记录的状态', 'type' => 'string', 'required' => false, 'example' => 'xxxxxxxxx-f37b-478d-87f6-2259ed8766bf'], ], ], 'responses' => [ @@ -4838,220 +3256,92 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码。', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息,空代表数据已经读取完毕', - 'type' => 'string', - 'example' => 'result: code=1 msg=(Request failed, status_code != 200)', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码。', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '状态码描述。', 'type' => 'string', 'example' => '""'], 'data' => [ 'description' => '返回数据。', 'type' => 'array', 'items' => [ - 'description' => '返回结果', + 'description' => '一条分析记录的返回对象', 'type' => 'object', 'properties' => [ - 'instance_id' => [ - 'description' => '实例ID', - 'type' => 'string', - 'example' => 'i-bp118piqcio9tiwgh84b', - ], - 'instance_name' => [ - 'description' => '实例名称。', - 'type' => 'string', - 'example' => 'allowed-repos-r2tzl', - ], - 'instance_tag' => [ - 'description' => '实例标签', - 'type' => 'array', - 'items' => [ - 'type' => 'object', - 'properties' => [ - 'tag_key' => [ - 'description' => '标签的名称。', - 'type' => 'string', - 'example' => 'test_tag_key', - ], - 'tag_value' => [ - 'description' => '标签值。', - 'type' => 'string', - 'example' => 'test_tag_value', - ], - ], - ], - ], - 'public_ip' => [ - 'description' => '实例公网ip', - 'type' => 'string', - 'example' => '1.1.1.1', - ], - 'private_ip' => [ - 'description' => '实例私网ip', - 'type' => 'string', - 'example' => '1.1.1.1', - ], - 'resource_group_name' => [ - 'description' => '资源组名称', - 'type' => 'string', - 'example' => 'default resource group', - ], - 'resource_group_id' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => 'rg-xxxxxx', - ], - 'os_name' => [ - 'description' => '实例的操作系统名称', - 'type' => 'string', - 'example' => 'Alibaba Cloud Linux 3.2104 LTS 64bit', - ], - 'os_health_score' => [ - 'description' => '实例的健康分', - 'type' => 'string', - 'example' => '100', - ], - 'status' => [ - 'description' => '实例的运行状态,取值:'."\n" - .'- **Running**:正在运行'."\n" - .'- **Offline**:离线'."\n" - ."\n\n" - ."\n" - .'> 处于 Offline 状态的实例代表节点到 SysOM 服务端的心跳丢失,并不代表对应的 ECS 实例没有运行。', - 'type' => 'string', - 'example' => 'Running', - ], - 'cluster_id' => [ - 'description' => '集群ID', - 'type' => 'string', - 'example' => 'cbf7a37bc905d4682a3338b3744810269', - ], - 'os_arch' => [ - 'description' => 'ECS实例的架构', - 'type' => 'string', - 'example' => 'x86', - ], - 'kernel_version' => [ - 'description' => '内核版本', - 'type' => 'string', - 'example' => '5.10.134-14.an8.x86_64', - ], + 'analysisId' => ['description' => 'AI分析ID', 'type' => 'string', 'example' => '16896fa8-37f6-4c70-bb32-67fa9817d426'], + 'analysisTime' => ['description' => '分析时间', 'type' => 'string', 'example' => '2024-12-24 12:02:05'."\n"], + 'status' => ['description' => '分析状态', 'type' => 'string', 'example' => '已完成/分析失败'], + 'arguments' => ['description' => 'AI作业分析的分析参数', 'type' => 'string', 'example' => 'timeout=2000 ms'], + 'failedLog' => ['description' => '分析失败日志', 'type' => 'string', 'example' => '机器i-wz9dej066kii4goqpnze分析失败, 失败原因: Not get GPU trace data for \'e59ce870-dbd4-4c44-a814-174ac6ab5bcf\' \'[\'118534\']\'!'], ], ], ], - 'request_id' => [ - 'description' => '请求 RequestId', - 'type' => 'string', - 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0', - ], - 'total' => [ - 'description' => '总记录数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '319', - ], + 'total' => ['description' => '总记录数', 'type' => 'integer', 'format' => 'int64', 'example' => '19'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": [\\n {\\n \\"analysisId\\": \\"16896fa8-37f6-4c70-bb32-67fa9817d426\\",\\n \\"analysisTime\\": \\"2024-12-24 12:02:05\\\\n\\",\\n \\"status\\": \\"已完成/分析失败\\",\\n \\"arguments\\": \\"timeout=2000 ms\\",\\n \\"failedLog\\": \\"机器i-wz9dej066kii4goqpnze分析失败, 失败原因: Not get GPU trace data for \'e59ce870-dbd4-4c44-a814-174ac6ab5bcf\' \'[\'118534\']\'!\\"\\n }\\n ],\\n \\"total\\": 19\\n}","type":"json"}]', + 'title' => '获取AI Infra分析记录', + 'changeSet' => [ + ['createdAt' => '2025-09-01T12:08:51.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"result: code=1 msg=(Request failed, status_code != 200)\\",\\n \\"data\\": [\\n {\\n \\"instance_id\\": \\"i-bp118piqcio9tiwgh84b\\",\\n \\"instance_name\\": \\"allowed-repos-r2tzl\\",\\n \\"instance_tag\\": [\\n {\\n \\"tag_key\\": \\"test_tag_key\\",\\n \\"tag_value\\": \\"test_tag_value\\"\\n }\\n ],\\n \\"public_ip\\": \\"1.1.1.1\\",\\n \\"private_ip\\": \\"1.1.1.1\\",\\n \\"resource_group_name\\": \\"default resource group\\",\\n \\"resource_group_id\\": \\"rg-xxxxxx\\",\\n \\"os_name\\": \\"Alibaba Cloud Linux 3.2104 LTS 64bit\\",\\n \\"os_health_score\\": \\"100\\",\\n \\"status\\": \\"Running\\",\\n \\"cluster_id\\": \\"cbf7a37bc905d4682a3338b3744810269\\",\\n \\"os_arch\\": \\"x86\\",\\n \\"kernel_version\\": \\"5.10.134-14.an8.x86_64\\"\\n }\\n ],\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\",\\n \\"total\\": 319\\n}","type":"json"}]', - 'title' => '获取包含ECS信息的实例列表', - 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', - ], - 'ListInstanceStatus' => [ - 'summary' => '获取实例状态', - 'path' => '/api/v1/am/instance/list_instance_status', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetListRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'GetProblemPercentage' => [ + 'summary' => '获取一定时间内集群中节点/节点中pod异常问题占比', + 'path' => '/api/v1/openapi/cluster_health/range/problem_percentage', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], ], 'parameters' => [ [ - 'name' => 'current', - 'in' => 'query', - 'schema' => [ - 'description' => '页码分页时存在该字段,表示当前页(从1开始)', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', + 'name' => 'cluster', 'in' => 'query', - 'schema' => [ - 'description' => '每页返回数目,默认 pageSize=10', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '集群id', 'type' => 'string', 'required' => false, 'example' => '2ijff4be-bf24-4070-89ca-c47c879b0g32'], ], [ 'name' => 'instance', 'in' => 'query', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-wz9b9vucz1iubsz355rh', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9d00ut2ska3mlyhn6j'], ], [ - 'name' => 'status', + 'name' => 'start', 'in' => 'query', - 'schema' => [ - 'description' => '根据状态过滤实例列表,如果指定了本字段,将会过出对应状态的实例列表', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'Running' => 'Running', - 'Offline' => 'Offline', - ], - 'example' => 'Running', - ], + 'schema' => ['description' => '开始时间', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '1725797727754'], ], [ - 'name' => 'region', + 'name' => 'end', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-shenzhen', - ], + 'schema' => ['description' => '结束时间', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '1725801327754'], ], ], 'responses' => [ @@ -5061,154 +3351,96 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'result: code=1 msg=(Request failed, status_code != 200)'], 'data' => [ - 'description' => '返回数据', + 'description' => '返回数据。', 'type' => 'array', 'items' => [ - 'description' => '返回数据', + 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'instance' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], - 'region' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'status' => [ - 'description' => '实例的运行状态,取值:'."\n" - .'- **Running**:正在运行'."\n" - .'- **Offline**:离线'."\n" - ."\n\n" - ."\n" - .'> 处于 Offline 状态的实例代表节点到 SysOM 服务端的心跳丢失,并不代表对应的 ECS 实例没有运行。', + 'type' => [ + 'description' => '异常项类型', 'type' => 'string', - 'example' => 'Running', + 'enumValueTitles' => ['饱和度' => 'saturation', '错误' => 'error', '延时' => 'latency', '负载' => 'load'], + 'example' => 'saturation', ], + 'value' => ['description' => '异常类型数量', 'type' => 'integer', 'format' => 'int64', 'example' => '5'], ], ], ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => '5BC79EF5-798B-5499-9683-4E14EBBBF712', - ], - 'total' => [ - 'description' => '总记录数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '218', - ], + 'total' => ['description' => '总数据量。', 'type' => 'integer', 'format' => 'int64', 'example' => '19'], + 'request_id' => ['description' => '请求 RequestId', 'type' => 'string', 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"result: code=1 msg=(Request failed, status_code != 200)\\",\\n \\"data\\": [\\n {\\n \\"type\\": \\"saturation\\",\\n \\"value\\": 5\\n }\\n ],\\n \\"total\\": 19,\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\"\\n}","type":"json"}]', + 'title' => '获取异常问题占比', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetProblemPercentage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": [\\n {\\n \\"instance\\": \\"i-wz9d00ut2ska3mlyhn6j\\",\\n \\"region\\": \\"cn-hangzhou\\",\\n \\"status\\": \\"Running\\"\\n }\\n ],\\n \\"RequestId\\": \\"5BC79EF5-798B-5499-9683-4E14EBBBF712\\",\\n \\"total\\": 218\\n}","type":"json"}]', - 'title' => '获取纳管实例状态', - 'description' => '本接口用于获取被 SysOM 纳管的机器列表。', ], - 'ListInstancesEcsInfoList' => [ - 'summary' => '获取ecs信息的列表,如标签列表,公网ip列表等', - 'path' => '/api/v1/am/instance/listInstancesEcsInfoList', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetRangeScore' => [ + 'summary' => '获取健康分趋势', + 'path' => '/api/v1/openapi/cluster_health/range/score', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], ], 'parameters' => [ [ - 'name' => 'region', - 'in' => 'query', - 'schema' => [ - 'description' => '通过区域过滤实例'."\n", - 'type' => 'string', - 'required' => true, - 'example' => 'cn-shenzhen', - ], - ], - [ - 'name' => 'info_type', + 'name' => 'cluster', 'in' => 'query', - 'schema' => [ - 'description' => '需要获取的信息类型', - 'type' => 'string', - 'required' => true, - 'example' => 'ip', - ], + 'schema' => ['description' => '集群id', 'type' => 'string', 'required' => false, 'example' => '2ijff4be-bf24-4070-89ca-c47c879b0g32'], ], [ - 'name' => 'managed_type', + 'name' => 'instance', 'in' => 'query', - 'schema' => [ - 'description' => '实例的纳管状态', - 'type' => 'string', - 'required' => false, - 'example' => 'managed', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9d00ut2ska3mlyhn6j'], ], [ - 'name' => 'instance_id', + 'name' => 'start', 'in' => 'query', - 'schema' => [ - 'description' => '指定本字段,则过滤出指定实例的Agent安装情况', - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp118piqcio9tiwgh84b', - ], + 'schema' => ['description' => '开始时间', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '1725797727754'], ], [ - 'name' => 'plugin_id', + 'name' => 'end', 'in' => 'query', - 'schema' => [ - 'description' => '指定本参数则过滤出对应组件的实例信息列表', - 'type' => 'string', - 'required' => false, - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], + 'schema' => ['description' => '结束时间', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '1725801327754'], ], ], 'responses' => [ @@ -5218,153 +3450,100 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '错误码', - 'type' => 'string', - 'example' => 'SysomOpenAPI.InvalidParameter', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => '""', - ], + 'code' => ['title' => '资源一级ID', 'description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'required' => false, 'example' => 'Success', 'pattern' => '^[a-zA-Z._-]+$', 'default' => ''], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => '""'], 'data' => [ 'description' => '返回数据。', 'type' => 'array', 'items' => [ - 'description' => '返回结果。', + 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'ip' => [ - 'description' => '机器的IP地址。', - 'type' => 'string', - 'example' => '11.193.52.91', - ], 'type' => [ - 'description' => 'ip类型', - 'type' => 'string', - 'example' => 'public', - ], - 'tag_key' => [ - 'description' => '标签的名称。', - 'type' => 'string', - 'example' => 'sysom', - ], - 'tag_value' => [ - 'description' => '标签值。', + 'description' => '指标类型', 'type' => 'string', - 'example' => 'diagnosis', + 'enumValueTitles' => ['总分' => 'total', '饱和度' => 'saturation', '错误' => 'error', '延时' => 'latency', '负载' => 'load'], + 'example' => 'saturation', ], + 'value' => ['description' => '分数', 'type' => 'integer', 'format' => 'int64', 'example' => '100'], + 'time' => ['description' => '时间点', 'type' => 'integer', 'format' => 'int64', 'example' => '1725797727754'], ], ], ], + 'total' => ['description' => '总数据量。', 'type' => 'number', 'format' => 'float', 'example' => '2'], + 'request_id' => ['description' => '请求 RequestId', 'type' => 'string', 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": [\\n {\\n \\"type\\": \\"saturation\\",\\n \\"value\\": 100,\\n \\"time\\": 1725797727754\\n }\\n ],\\n \\"total\\": 2,\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\"\\n}","type":"json"}]', + 'title' => '获取健康分趋势', + 'changeSet' => [ + ['createdAt' => '2025-04-30T16:02:56.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-04-28T12:44:50.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetRangeScore', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"SysomOpenAPI.InvalidParameter\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": [\\n {\\n \\"ip\\": \\"11.193.52.91\\",\\n \\"type\\": \\"public\\",\\n \\"tag_key\\": \\"sysom\\",\\n \\"tag_value\\": \\"diagnosis\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取实例的ecs信息的列表', - 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', ], - 'ListClusterAgentInstallRecords' => [ - 'summary' => '获取集群组件安装记录', - 'path' => '/api/v1/am/agent/list_cluster_agent_install_list', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetResources' => [ + 'summary' => '获取集群/节点资源实时使用情况', + 'path' => '/api/v1/openapi/cluster_health/instant/resource', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '253443', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], ], 'parameters' => [ [ - 'name' => 'current', - 'in' => 'query', - 'schema' => [ - 'description' => '当前页码(从1开始)', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '每页大小', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'cluster_id', - 'in' => 'query', - 'schema' => [ - 'description' => '通过集群 ID 过滤'."\n" - ."\n" - .'> 这个集群ID不是 ACK 集群ID,而是通过本接口返回的数据里面的 `cluster_id` 字段,或者 ListCluster 接口返回数据中的 `id` 字段。', - 'type' => 'string', - 'required' => false, - 'example' => 'cbd80af02b9d6454ebdc579c5e022d0c8', - ], - ], - [ - 'name' => 'plugin_id', + 'name' => 'cluster', 'in' => 'query', - 'schema' => [ - 'description' => '指定本参数则过滤出指定Agent的安装列表,可以搭配 plugin_version 参数使用', - 'type' => 'string', - 'required' => false, - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], + 'schema' => ['description' => '集群id', 'type' => 'string', 'required' => false, 'example' => '1808078950770264'], ], [ - 'name' => 'plugin_version', + 'name' => 'instance', 'in' => 'query', - 'schema' => [ - 'description' => '不可单独使用,搭配 plugin_id 使用,用于过滤出指定Agent指定版本的安装列表', - 'type' => 'string', - 'required' => false, - 'example' => '3.4.0-1', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9d00ut2ska3mlyhn6j'], ], [ - 'name' => 'agent_config_id', + 'name' => 'type', 'in' => 'query', 'schema' => [ + 'description' => '资源类型', 'type' => 'string', 'required' => false, + 'enumValueTitles' => ['上行速率' => 'network_input', '下行速率' => 'network_output', '磁盘' => 'disk', '内存' => 'mem', 'CPU' => 'cpu'], + 'example' => 'mem', ], ], ], @@ -5375,200 +3554,182 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => "\n" - .'success', - ], - 'total' => [ - 'description' => '查询结果总数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '42', - ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'result: code=1 msg=(Request failed, status_code != 200)'], 'data' => [ - 'description' => '返回结果。', - 'type' => 'array', - 'items' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'cluster_id' => [ - 'description' => '集群ID。'."\n" - ."\n" - .'> 这个集群ID不是 ACK 集群ID', - 'type' => 'string', - 'example' => 'cbf7a37bc905d4682a3338b3744810269', - ], - 'plugin_id' => [ - 'description' => '组件ID'."\n", - 'type' => 'string', - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], - 'plugin_version' => [ - 'description' => '插件版本'."\n", - 'type' => 'string', - 'example' => '3.4.0-1', - ], - 'created_at' => [ - 'description' => '创建时间', - 'type' => 'string', - 'example' => '2024-12-25T15:08:19', - ], - 'updated_at' => [ - 'description' => '修改时间', - 'type' => 'string', - 'example' => '2024-12-25T15:08:19', - ], - 'grayscale_config' => [ - 'title' => '灰度配置', - 'description' => '灰度配置', - 'type' => 'string', - 'example' => '{}', - ], - 'agent_config_id' => [ - 'type' => 'string', - ], - 'agent_config_name' => [ - 'type' => 'string', - ], - ], + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'total' => ['description' => '资源总数', 'type' => 'number', 'format' => 'float', 'example' => '2354'], + 'usage' => ['description' => '资源使用量', 'type' => 'number', 'format' => 'float', 'example' => '100'], + 'unit' => ['description' => '单位', 'type' => 'string', 'example' => 'Kbytes'], ], ], + 'request_id' => ['description' => '请求 RequestId', 'type' => 'string', 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"result: code=1 msg=(Request failed, status_code != 200)\\",\\n \\"data\\": {\\n \\"total\\": 2354,\\n \\"usage\\": 100,\\n \\"unit\\": \\"Kbytes\\"\\n },\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\"\\n}","type":"json"}]', + 'title' => '获取集群/节点资源实时使用情况', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetBasicResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\nsuccess\\",\\n \\"total\\": 42,\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\",\\n \\"data\\": [\\n {\\n \\"cluster_id\\": \\"cbf7a37bc905d4682a3338b3744810269\\",\\n \\"plugin_id\\": \\"74a86327-3170-412c-8e67-da3389ec56a9\\",\\n \\"plugin_version\\": \\"3.4.0-1\\",\\n \\"created_at\\": \\"2024-12-25T15:08:19\\",\\n \\"updated_at\\": \\"2024-12-25T15:08:19\\",\\n \\"grayscale_config\\": \\"{}\\",\\n \\"agent_config_id\\": \\"\\",\\n \\"agent_config_name\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取 ACK 集群组件安装记录', ], - 'ListAgentInstallRecords' => [ - 'summary' => '列出 Agent 的安装记录', - 'path' => '/api/v1/am/agent/list_agent_install_list', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'GetServiceFuncStatus' => [ + 'summary' => '获取功能模块配置', + 'path' => '/api/v1/func-switch/get-service-func-status', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], ], 'parameters' => [ [ - 'name' => 'current', + 'name' => 'params', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '当前页码(从1开始)', - 'description' => '当前页码(从1开始)', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', + 'description' => '诊断参数,不同类型的诊断要求传递不同的诊断参数,可以使用本字段过滤出参数符合为指定值的记录。', + 'type' => 'object', + 'properties' => [ + 'function_name' => ['description' => '功能名称', 'type' => 'string', 'required' => true, 'example' => 'mullprof'], + 'instance' => ['description' => '实例ID', 'type' => 'string', 'required' => false, 'example' => 'i-2zei55fwj8nnu31h3z46'], + 'uid' => ['description' => '用户ID', 'type' => 'string', 'required' => false, 'example' => '1338904783509062'], + ], + 'required' => true, ], ], [ - 'name' => 'pageSize', + 'name' => 'service_name', 'in' => 'query', - 'schema' => [ - 'title' => '每页大小', - 'description' => '每页大小', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '20', - ], + 'schema' => ['description' => '服务名称', 'type' => 'string', 'required' => true, 'example' => 'livetrace'], ], [ - 'name' => 'instance_id', + 'name' => 'channel', 'in' => 'query', - 'schema' => [ - 'title' => '指定本字段,则过滤出指定实例的Agent安装情况', - 'description' => '指定本字段,则过滤出指定实例的Agent安装情况', - 'type' => 'string', - 'required' => false, - 'example' => 'i-bp118piqcio9tiwgh84b', - ], + 'schema' => ['description' => '通道名', 'type' => 'string', 'required' => true, 'example' => 'ecs'], ], - [ - 'name' => 'plugin_id', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '指定本参数则过滤出指定Agent的安装列表,可以搭配 plugin_version 参数使用', - 'description' => '指定本参数则过滤出指定Agent的安装列表,可以搭配 plugin_version 参数使用', - 'type' => 'string', - 'required' => false, - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => "\n"], + 'data' => [ + 'description' => '返回结果', + 'type' => 'object', + 'properties' => [ + 'args' => [ + 'description' => '配置参数'."\n" + ."\n", + 'type' => 'object', + 'properties' => [ + 'add_cmd' => ['description' => '配置进程', 'type' => 'string', 'example' => 'java'], + 'mem' => ['description' => '内存追踪开关', 'type' => 'string', 'example' => 'true'], + 'locks' => ['description' => '锁追踪开关'."\n" + ."\n", 'type' => 'string', 'example' => 'true'], + 'java_store_path' => ['description' => '存储路径', 'type' => 'string', 'example' => '/tmp/sysom/java-profiler'], + 'cpu' => ['description' => 'ONCPU追踪开关', 'type' => 'string', 'example' => 'true'], + 'system_profiling' => ['description' => '系统profiling开关', 'type' => 'string', 'example' => 'true'], + 'loop' => ['description' => '追踪周期', 'type' => 'integer', 'format' => 'int32', 'example' => '-1'], + ], + ], + ], + ], + ], ], ], - [ - 'name' => 'plugin_version', - 'in' => 'query', - 'schema' => [ - 'title' => '不可单独使用,搭配 plugin_id 使用,用于过滤出指定Agent指定版本的安装列表', - 'description' => '不可单独使用,搭配 plugin_id 使用,用于过滤出指定Agent指定版本的安装列表', - 'type' => 'string', - 'required' => false, - 'example' => '3.4.0-1', + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\n\\",\\n \\"data\\": {\\n \\"args\\": {\\n \\"add_cmd\\": \\"java\\",\\n \\"mem\\": \\"true\\",\\n \\"locks\\": \\"true\\",\\n \\"java_store_path\\": \\"/tmp/sysom/java-profiler\\",\\n \\"cpu\\": \\"true\\",\\n \\"system_profiling\\": \\"true\\",\\n \\"loop\\": -1\\n }\\n }\\n}","type":"json"}]', + 'title' => '获取服务配置状态', + 'description' => '本接口用于获取服务配置状态', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetServiceFuncStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], + ], + ], + 'GetVmcoreDiagnosisTask' => [ + 'summary' => '该接口根据任务ID查询对应的任务执行状态和诊断结果。', + 'path' => '/api/v1/crashAgent/diagnosis/queryTask', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'status', - 'in' => 'query', - 'schema' => [ - 'description' => '通过状态过滤组件安装记录', - 'type' => 'string', - 'required' => false, - 'example' => 'Installed', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'region', + 'name' => 'taskId', 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'schema' => ['title' => '任务ID'."\n", 'description' => '任务ID'."\n", 'type' => 'string', 'required' => true, 'example' => 'bbe94a98-4192-4172-b856-95777e0a55d7'], ], ], 'responses' => [ @@ -5578,117 +3739,95 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom', - ], - 'total' => [ - 'description' => '总记录数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '64', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict'], 'data' => [ - 'description' => '返回结果。', - 'type' => 'array', - 'items' => [ - 'description' => '返回结果。', - 'type' => 'object', - 'properties' => [ - 'instance_id' => [ - 'title' => '实例ID', - 'description' => '实例ID', - 'type' => 'string', - 'example' => 'i-bp118piqcio9tiwgh84b', - ], - 'plugin_id' => [ - 'title' => '组件ID'."\n", - 'description' => '组件ID'."\n", - 'type' => 'string', - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], - 'plugin_version' => [ - 'title' => '插件版本'."\n", - 'description' => '插件版本'."\n", - 'type' => 'string', - 'example' => '3.4.0-1', - ], - 'status' => [ - 'title' => '组件状态', - 'description' => '组件状态', - 'type' => 'string', - 'example' => 'Installed', - ], - 'created_at' => [ - 'description' => '创建时间', - 'type' => 'string', - 'example' => '2024-11-27T16:37:53', - ], - 'updated_at' => [ - 'description' => '修改时间', - 'type' => 'string', - 'example' => '2024-11-27T16:37:53', + 'description' => '返回结果', + 'type' => 'object', + 'properties' => [ + 'taskId' => ['title' => '任务ID', 'description' => '任务ID', 'type' => 'string', 'example' => 'bbe94a98-4192-4172-b856-95777e0a55d7'], + 'createdAt' => ['title' => '任务创建时间', 'description' => '任务创建时间', 'type' => 'string', 'example' => '2025-12-02T17:36:12'], + 'diagnoseResult' => ['title' => '诊断结果', 'description' => '诊断结果', 'type' => 'string', 'example' => 'result'], + 'errorMsg' => ['title' => '诊断错误信息', 'description' => '诊断错误信息', 'type' => 'string', 'example' => 'error message'], + 'taskType' => [ + 'title' => '任务类型', + 'description' => '任务类型', + 'type' => 'string', + 'enumValueTitles' => ['dmesg' => 'dmesg', 'vmcore' => 'vmcore'], + 'example' => 'vmcore', + ], + 'taskStatus' => [ + 'title' => '任务状态', + 'description' => '任务状态', + 'type' => 'string', + 'enumValueTitles' => ['running' => 'running', 'queuing' => 'queuing', 'created' => 'created', 'success' => 'success', 'error' => 'error'], + 'example' => 'running', + ], + 'urls' => [ + 'title' => '任务携带的相关文件下载链接', + 'description' => '任务携带的相关文件下载链接', + 'type' => 'object', + 'properties' => [ + 'debuginfoCommonUrl' => ['title' => 'debuginfo-common rpm包下载链接', 'description' => 'debuginfo-common rpm包下载链接', 'type' => 'string', 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo-common/file/path'], + 'debuginfoUrl' => ['title' => 'debuginfo rpm包下载链接', 'description' => 'debuginfo rpm包下载链接', 'type' => 'string', 'example' => ' '."\n" + .'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo/file/path'], + 'dmesgUrl' => ['title' => 'dmesg日志下载链接', 'description' => 'dmesg日志下载链接', 'type' => 'string', 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/dmesg/file/path'], + 'vmcoreUrl' => ['title' => 'vmcore文件下载链接', 'description' => 'vmcore文件下载链接', 'type' => 'string', 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/vmcore/file/path'], ], ], ], ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => 'E8CDFBA1-0564-5897-B070-D3C85002AF2F', - ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": {\\n \\"taskId\\": \\"bbe94a98-4192-4172-b856-95777e0a55d7\\",\\n \\"createdAt\\": \\"2025-12-02T17:36:12\\",\\n \\"diagnoseResult\\": \\"result\\",\\n \\"errorMsg\\": \\"error message\\",\\n \\"taskType\\": \\"vmcore\\",\\n \\"taskStatus\\": \\"running\\",\\n \\"urls\\": {\\n \\"debuginfoCommonUrl\\": \\"https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo-common/file/path\\",\\n \\"debuginfoUrl\\": \\"\\\\t\\\\nhttps://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo/file/path\\",\\n \\"dmesgUrl\\": \\"https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/dmesg/file/path\\",\\n \\"vmcoreUrl\\": \\"https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/vmcore/file/path\\"\\n }\\n }\\n}","type":"json"}]', + 'title' => '查询诊断任务', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:GetVmcoreDiagnosisTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"total\\": 64,\\n \\"data\\": [\\n {\\n \\"instance_id\\": \\"i-bp118piqcio9tiwgh84b\\",\\n \\"plugin_id\\": \\"74a86327-3170-412c-8e67-da3389ec56a9\\",\\n \\"plugin_version\\": \\"3.4.0-1\\",\\n \\"status\\": \\"Installed\\",\\n \\"created_at\\": \\"2024-11-27T16:37:53\\",\\n \\"updated_at\\": \\"2024-11-27T16:37:53\\"\\n }\\n ],\\n \\"RequestId\\": \\"E8CDFBA1-0564-5897-B070-D3C85002AF2F\\"\\n}","type":"json"}]', - 'title' => '获取组件安装记录列表', ], - 'InstallAgentForCluster' => [ - 'summary' => '给集群安装组件', - 'path' => '/api/v1/am/agent/install_agent_by_cluster', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'InitialSysom' => [ + 'summary' => '初始化 SysOM,确保服务角色存在。', + 'path' => '/api/v1/openapi/initial', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '253444', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux33ME7W'], 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ @@ -5696,42 +3835,11 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求Body', + 'description' => '请求体参数', 'type' => 'object', 'properties' => [ - 'cluster_id' => [ - 'description' => '集群ID。'."\n" - ."\n" - .'> 这个集群ID要传递 ACK 集群的ID', - 'type' => 'string', - 'required' => false, - 'example' => 'c9d7f3fc3d42942afbcb65c1100ffb19d', - ], - 'agent_id' => [ - 'description' => '组件ID', - 'type' => 'string', - 'required' => false, - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], - 'agent_version' => [ - 'description' => '组件版本', - 'type' => 'string', - 'required' => false, - 'example' => '3.4.0-1', - ], - 'grayscale_config' => [ - 'title' => '灰度配置', - 'description' => '灰度配置', - 'type' => 'string', - 'required' => false, - 'example' => '{"type":"numeric","config":{"value":2}}', - ], - 'config_id' => [ - 'description' => '组件配置id', - 'type' => 'string', - 'required' => false, - 'example' => '8gj86wrt7-3170-412c-8e67-da3389ecg6a9', - ], + 'check_only' => ['title' => '是否只检查服务角色是否存在', 'description' => '是否只检查服务角色是否存在', 'type' => 'boolean', 'required' => false], + 'source' => ['title' => '初始化来源', 'description' => '来源,固定为 console。', 'type' => 'string', 'required' => false, 'example' => 'console'], ], 'required' => false, ], @@ -5744,78 +3852,70 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'SysomOpenAPI.ServerError', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7', - ], + 'RequestId' => ['title' => '', 'description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => '3FCA2E38-2A8E-5501-93BD-5CE1BA58F2EF'], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict'], 'data' => [ - 'description' => '返回数据。', + 'description' => '返回结果。', 'type' => 'object', 'properties' => [ - 'task_id' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => '049ea0609515414b9e19c3389d7ba638', - ], + 'role_exist' => ['description' => '服务角色是否存在', 'type' => 'boolean', 'example' => 'true'], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"RequestId\\": \\"3FCA2E38-2A8E-5501-93BD-5CE1BA58F2EF\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": {\\n \\"role_exist\\": true\\n }\\n}","type":"json"}]', + 'title' => '开通Alinux控制台', + 'description' => 'SysOM的部分接口需要基于 `AliyunServiceRoleForSysom ` 服务角色来进行角色扮演,因此在使用 SysOM 功能之前需要调用本接口进行初始化,确保服务角色已经创建。'."\n" + .'- `check_only` :如果本参数为 True 则代表只检查服务角色是否存在,不会创建服务角色,如果本参数为 False 或不填,则调用本接口会在服务角色不存在时自动创建服务角色。'."\n" + ."\n" + .'> '."\n" + .'> 注意:当通过API调用初始化角色时,代表您已默认同意操作系统控制台的用户协议,请参考:[操作系统控制台概述](https://help.aliyun.com/zh/alinux/product-overview/os-console-overview?spm=a2c4g.11186623.help-menu-2632541.d_0_7.35a829ffLjQtgg),[阿里云服务试用条款](https://terms.aliyun.com/legal-agreement/terms/suit_bu1_ali_cloud/suit_bu1_ali_cloud202001091714_51956.html)', + 'changeSet' => [ + ['createdAt' => '2025-08-01T01:58:08.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sysom:InitialSysom', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"message\\": \\"success\\",\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\",\\n \\"data\\": {\\n \\"task_id\\": \\"049ea0609515414b9e19c3389d7ba638\\"\\n }\\n}","type":"json"}]', - 'title' => '为ACK集群安装组件', - 'description' => '为目标 ACK 集群安装组件后:'."\n" - .'1. 首先,初次纳管集群,会为集群当前包含的所有 ECS 安装组件(如果集群节点超过 50 台,第一批次只会安装50台);'."\n" - .'2. 其次,操作系统控制台会周期性的检查被纳管集群的扩缩容情况,一旦有新的 ECS 被添加到集群中,操作系统控制台会为其自动安装组件无需用户干预。', ], 'InstallAgent' => [ - 'summary' => '在指定的实例上安装 Agent', 'path' => '/api/v1/am/agent/install_agent', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxV02H6G', - ], + 'abilityTreeNodes' => ['FEATUREalinuxV02H6G'], ], 'parameters' => [ [ @@ -5833,18 +3933,8 @@ 'description' => '实例信息', 'type' => 'object', 'properties' => [ - 'instance' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'i-wz9b9vucz1iubsz8sjqo', - ], - 'region' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => true, - 'example' => 'cn-hangzhou', - ], + 'instance' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'i-wz9b9vucz1iubsz8sjqo'], + 'region' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], 'required' => true, ], @@ -5859,25 +3949,10 @@ 'type' => 'string', 'required' => true, 'example' => 'InstallAndUpgrade', - 'enum' => [ - 'InstallAndUpgrade', - 'OnlyInstallNotHasAgent', - 'OnlyUpgradeHasAgent', - 'OnlyInstallWithoutStart', - ], - ], - 'agent_id' => [ - 'description' => '要安装的组件ID', - 'type' => 'string', - 'required' => true, - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], - 'agent_version' => [ - 'description' => '要安装的组件版本', - 'type' => 'string', - 'required' => true, - 'example' => '3.4.0-1', + 'enum' => ['InstallAndUpgrade', 'OnlyInstallNotHasAgent', 'OnlyUpgradeHasAgent', 'OnlyInstallWithoutStart'], ], + 'agent_id' => ['description' => '要安装的组件ID', 'type' => 'string', 'required' => true, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + 'agent_version' => ['description' => '要安装的组件版本', 'type' => 'string', 'required' => true, 'example' => '3.4.0-1'], ], 'required' => false, ], @@ -5890,352 +3965,96 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'title' => 'Id of the request', - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => '""', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['title' => 'Id of the request', 'description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => '""'], 'data' => [ 'description' => '返回数据', 'type' => 'object', 'properties' => [ - 'task_id' => [ - 'description' => '任务ID。'."\n" - ."\n" - .'可以凭借本任务ID调用 GetAgentTask 接口查看任务的执行情况', - 'type' => 'string', - 'example' => '26b3cd97389c43dcad6bc4901c36fcec', - ], + 'task_id' => ['description' => '任务ID。'."\n" + ."\n" + .'可以凭借本任务ID调用 GetAgentTask 接口查看任务的执行情况', 'type' => 'string', 'example' => '26b3cd97389c43dcad6bc4901c36fcec'], ], ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => '1D8887FC-4BDB-5A1C-AB19-135C29A9E481', - ], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => '1D8887FC-4BDB-5A1C-AB19-135C29A9E481'], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SysomOpenAPI.AgentNotExists', - 'errorMessage' => 'Agent not exists.', - ], - [ - 'errorCode' => 'SysomOpenAPI.AgentTaskNotFound', - 'errorMessage' => 'Agent task not found.', - ], - [ - 'errorCode' => 'SysomOpenAPI.AgentVersionNotExists', - 'errorMessage' => 'Agent version not exists.', - ], - [ - 'errorCode' => 'SysomOpenAPI.InstanceNotExists', - 'errorMessage' => 'Instance not exists.', - ], - [ - 'errorCode' => 'SysomOpenAPI.InvalidParameter', - 'errorMessage' => 'Invalid parameters passed when calling the interface.', - ], - [ - 'errorCode' => 'SysomOpenAPI.MissingParameter', - 'errorMessage' => 'Missing parameters.', - ], - [ - 'errorCode' => 'SysomOpenAPI.NoAgentInstalled', - 'errorMessage' => 'No SysOM Agent version available.', - ], - [ - 'errorCode' => 'SysomOpenAPI.NotAuthorizedInstance', - 'errorMessage' => 'Instance not authorized.', - ], - [ - 'errorCode' => 'SysomOpenAPI.NotOwnInstance', - 'errorMessage' => 'Not own current instance.', - ], - [ - 'errorCode' => 'SysomOpenAPI.NotOwnTask', - 'errorMessage' => 'Diagnosis result does not belong to the current account.', - ], - [ - 'errorCode' => 'SysomOpenAPI.NotSupportedAgentVersion', - 'errorMessage' => 'Unsupported sysom agent version.', - ], - [ - 'errorCode' => 'SysomOpenAPI.ServerError', - 'errorMessage' => 'Server error, please correct the code according to the error message.', - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": {\\n \\"task_id\\": \\"26b3cd97389c43dcad6bc4901c36fcec\\"\\n },\\n \\"RequestId\\": \\"1D8887FC-4BDB-5A1C-AB19-135C29A9E481\\"\\n}","type":"json"}]', + ['errorCode' => 'SysomOpenAPI.AgentNotExists', 'errorMessage' => 'Agent not exists.', 'description' => '组件不存在。'], + ['errorCode' => 'SysomOpenAPI.AgentTaskNotFound', 'errorMessage' => 'Agent task not found.', 'description' => '组件任务不存在。'], + ['errorCode' => 'SysomOpenAPI.AgentVersionNotExists', 'errorMessage' => 'Agent version not exists.', 'description' => '组件版本不存在。'], + ['errorCode' => 'SysomOpenAPI.InstanceNotExists', 'errorMessage' => 'Instance not exists.', 'description' => '实例不存在。'], + ['errorCode' => 'SysomOpenAPI.InvalidParameter', 'errorMessage' => 'Invalid parameters passed when calling the interface.', 'description' => '调用接口时传递了无效参数'], + ['errorCode' => 'SysomOpenAPI.MissingParameter', 'errorMessage' => 'Missing parameters.', 'description' => '参数缺失'], + ['errorCode' => 'SysomOpenAPI.NoAgentInstalled', 'errorMessage' => 'No SysOM Agent version available.', 'description' => '没有可用的 SysOM Agent。'], + ['errorCode' => 'SysomOpenAPI.NotAuthorizedInstance', 'errorMessage' => 'Instance not authorized.', 'description' => '实例未授权。'], + ['errorCode' => 'SysomOpenAPI.NotOwnInstance', 'errorMessage' => 'Not own current instance.', 'description' => '指定的实例不属于当前用户。'], + ['errorCode' => 'SysomOpenAPI.NotOwnTask', 'errorMessage' => 'Diagnosis result does not belong to the current account.', 'description' => '诊断结果不属于当前账户'], + ['errorCode' => 'SysomOpenAPI.NotSupportedAgentVersion', 'errorMessage' => 'Unsupported sysom agent version.', 'description' => '不支持的 SysOM 客户端版本。'], + ['errorCode' => 'SysomOpenAPI.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ['errorCode' => 'SysomOpenAPI.ServiceRoleNotExists', 'errorMessage' => 'Service role does not exist, please init the sysom service first.', 'description' => '服务角色不存在,请先开通Alinux控制台。'], + ['errorCode' => 'SysomOpenAPI.RegionNotSupport', 'errorMessage' => 'Region not supported.', 'description' => '地域不支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], 'title' => '安装组件', + 'summary' => '在指定的实例上安装 Agent', 'description' => '调用本接口安装 Agent 是异步的,调用接口后会返回一个 task_id,可以凭借该 ID 调用 GetAgentTask 接口获取任务的执行情况。', - ], - 'ListAgents' => [ - 'summary' => '获取 Agent 列表', - 'path' => '/api/v1/am/agent/list_agents', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": {\\n \\"task_id\\": \\"26b3cd97389c43dcad6bc4901c36fcec\\"\\n },\\n \\"RequestId\\": \\"1D8887FC-4BDB-5A1C-AB19-135C29A9E481\\"\\n}","type":"json"}]', + ], + 'InstallAgentForCluster' => [ + 'summary' => '给集群安装组件', + 'path' => '/api/v1/am/agent/install_agent_by_cluster', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeCode' => '253444', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'current', - 'in' => 'query', - 'schema' => [ - 'title' => '当前页数(从第1页开始)', - 'description' => '当前页数(从第1页开始)', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'title' => '每页大小', - 'description' => '每页大小', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'name', - 'in' => 'query', - 'schema' => [ - 'title' => '通过插件的名字过滤插件', - 'description' => '通过插件的名字过滤插件', - 'type' => 'string', - 'required' => false, - 'example' => 'SysOM', - ], - ], - [ - 'name' => 'type', - 'in' => 'query', - 'schema' => [ - 'title' => '根据 Agent 类型来获取列表,比如传递 control 表示获取所有管控类型的 Agent', - 'description' => '根据 Agent 类型来获取列表,比如传递 control 表示获取所有管控类型的 Agent', - 'type' => 'string', - 'required' => false, - 'example' => 'control', - ], - ], - ], - 'responses' => [ - 200 => [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', + 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom', - ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => '66EAED72-542B-583B-BCED-64433DC27AD7', - ], - 'total' => [ - 'description' => ' 总记录数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'data' => [ - 'description' => '返回数据', - 'type' => 'array', - 'items' => [ - 'description' => '返回数据', - 'type' => 'object', - 'properties' => [ - 'name' => [ - 'description' => '组件名称', - 'type' => 'string', - 'example' => 'SysOM Agent', - ], - 'support_arch' => [ - 'description' => '支持的架构(多个架构用逗号相连)', - 'type' => 'string', - 'example' => 'x86', - ], - 'type' => [ - 'description' => '组件的类型'."\n" - .'- Control:管控类型的组件'."\n" - .'- AI:AI组件', - 'type' => 'string', - 'example' => 'Control', - ], - 'description' => [ - 'description' => '组件描述', - 'type' => 'string', - 'example' => 'SysOM Agent', - ], - 'id' => [ - 'description' => '组件ID', - 'type' => 'string', - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], - 'versions' => [ - 'description' => '组件版本列表', - 'type' => 'array', - 'items' => [ - 'description' => '组件版本信息', - 'type' => 'object', - 'properties' => [ - 'version' => [ - 'description' => '组件版本号', - 'type' => 'string', - 'example' => '3.4.0-1', - ], - 'install_script' => [ - 'description' => '组件的安装脚本', - 'type' => 'string', - 'example' => 'sysom.sh install', - ], - 'uninstall_script' => [ - 'description' => '组件卸载脚本', - 'type' => 'string', - 'example' => 'sysom.sh uninstall', - ], - 'upgrade_script' => [ - 'description' => '组件更新脚本', - 'type' => 'string', - 'example' => 'sysom.sh upgrade', - ], - 'created_at' => [ - 'description' => '组件版本创建时间', - 'type' => 'string', - 'example' => '2024-09-14T20:46:08', - ], - 'updated_at' => [ - 'description' => '组件版本更新时间', - 'type' => 'string', - 'example' => '2024-09-14T20:46:08', - ], - ], - ], - ], - 'created_at' => [ - 'description' => '组件创建时间', - 'type' => 'string', - 'example' => '2024-09-14T20:46:08', - ], - 'updated_at' => [ - 'description' => '组件更新时间', - 'type' => 'string', - 'example' => '2024-09-14T20:46:08', - ], - ], - ], - ], + 'cluster_id' => ['description' => '集群ID。'."\n" + ."\n" + .'> 这个集群ID要传递 ACK 集群的ID', 'type' => 'string', 'required' => false, 'example' => 'c9d7f3fc3d42942afbcb65c1100ffb19d'], + 'agent_id' => ['description' => '组件ID', 'type' => 'string', 'required' => false, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + 'agent_version' => ['description' => '组件版本', 'type' => 'string', 'required' => false, 'example' => '3.4.0-1'], + 'grayscale_config' => ['title' => '灰度配置', 'description' => '灰度配置', 'type' => 'string', 'required' => false, 'example' => '{"type":"numeric","config":{"value":2}}'], + 'config_id' => ['description' => '组件配置id', 'type' => 'string', 'required' => false, 'example' => '8gj86wrt7-3170-412c-8e67-da3389ecg6a9'], ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"RequestId\\": \\"66EAED72-542B-583B-BCED-64433DC27AD7\\",\\n \\"total\\": 2,\\n \\"data\\": [\\n {\\n \\"name\\": \\"SysOM Agent\\",\\n \\"support_arch\\": \\"x86\\",\\n \\"type\\": \\"Control\\",\\n \\"description\\": \\"SysOM Agent\\",\\n \\"id\\": \\"74a86327-3170-412c-8e67-da3389ec56a9\\",\\n \\"versions\\": [\\n {\\n \\"version\\": \\"3.4.0-1\\",\\n \\"install_script\\": \\"sysom.sh install\\",\\n \\"uninstall_script\\": \\"sysom.sh uninstall\\",\\n \\"upgrade_script\\": \\"sysom.sh upgrade\\",\\n \\"created_at\\": \\"2024-09-14T20:46:08\\",\\n \\"updated_at\\": \\"2024-09-14T20:46:08\\"\\n }\\n ],\\n \\"created_at\\": \\"2024-09-14T20:46:08\\",\\n \\"updated_at\\": \\"2024-09-14T20:46:08\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取组件列表', - ], - 'GetAgentTask' => [ - 'summary' => '获取Agent安装任务执行状态', - 'path' => '/api/v1/am/agent/get_agent_task', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', - ], - 'parameters' => [ - [ - 'name' => 'task_id', - 'in' => 'query', - 'schema' => [ - 'description' => '任务ID。', - 'type' => 'string', 'required' => false, - 'example' => '42172120177e4b3abd6fabb3a6b5e2dd', ], ], ], @@ -6246,246 +4065,102 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'SysomOpenAPI.ServerError'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7'], 'data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'task_id' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'c41d8e3506224184a714682fea86d22d', - ], - 'jobs' => [ - 'description' => '子任务列表', - 'type' => 'array', - 'items' => [ - 'description' => '子任务详情', - 'type' => 'object', - 'properties' => [ - 'instance' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'i-2zehme0rs1tc090fdl3n', - ], - 'region' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-hangzhou', - ], - 'params' => [ - 'description' => '子任务参数', - 'type' => 'any', - 'example' => '{'."\n" - .' "agent_version": "3.5.0-beta",'."\n" - .' "opt": "install",'."\n" - .' "agent_id": "74a86327-3170-412c-8fd67-da3389ec56a9",'."\n" - .' "install_type": "InstallAndUpgrade"'."\n" - .'}', - ], - 'status' => [ - 'description' => '子任务状态:'."\n" - .'- Created:已创建'."\n" - .'- Running:正在运行'."\n" - .'- Success:任务运行成功'."\n" - .'- Fail:任务运行失败', - 'type' => 'string', - 'example' => 'Running', - 'enum' => [ - 'Created', - 'Running', - 'Success', - 'Failed', - 'Canceled', - ], - ], - 'result' => [ - 'description' => '子任务执行结果', - 'type' => 'string', - 'example' => '已废弃(误用)', - ], - 'error' => [ - 'description' => '当任务执行失败时,此字段会报错导致任务失败的原因', - 'type' => 'string', - 'example' => '已废弃(误用)', - ], - 'errorCode' => [ - 'description' => '子任务执行失败原因的代码,可能值:'."\n" - .'* 空:任务执行正常。'."\n" - .'* INSTANCE_NOT_SUPPORTED:实例类型不支持'."\n" - .'* INSTANCE_NOT_EXISTS:实例不存在'."\n" - .'* INSTANCE_RELEASED:实例已释放'."\n" - .'* INSTANCE_NOT_RUNNING:实例不在运行中'."\n" - .'* INSTANCE_NOT_OWNED:实例不属于当前账号'."\n" - .'* AGENT_ALREADY_INSTALLED:Agent 已安装'."\n" - .'* AGENT_NOT_INSTALLED:Agent 未安装'."\n" - .'* AGENT_SAME_VERSION:版本相同'."\n" - .'* HAS_RUNNING_JOB:有运行中的任务'."\n" - .'* RPM_LOCK_HELD:RPM lock 被占用'."\n" - .'* DISK_SPACE_INSUFFICIENT:磁盘空间不足'."\n" - .'* NODE_LOAD_HIGH:节点负载高'."\n" - .'* COMMAND_FAILED:命令执行失败'."\n" - .'* CLIENT_NOT_RUNNING:云助手 Agent 未运行'."\n" - .'* CLIENT_NOT_RESPONSE:云助手 Agent 无响应'."\n" - .'* DELIVERY_TIMEOUT:命令发送超时'."\n" - .'* EXECUTION_TIMEOUT:命令执行超时'."\n" - .'* TASK_CONCURRENCY_LIMIT:任务并发达上限', - 'type' => 'string', - 'example' => 'DISK_SPACE_INSUFFICIENT', - ], - 'errorMessage' => [ - 'description' => '子任务执行失败原因的详情,可能值:'."\n" - .'* 实例类型不支持'."\n" - .'* 实例不存在'."\n" - .'* 实例已释放'."\n" - .'* 实例不在运行中'."\n" - .'* 实例不属于当前账号'."\n" - .'* Agent 已安装'."\n" - .'* Agent 未安装'."\n" - .'* Agent 版本相同,无需升级'."\n" - .'* 存在运行中的任务,请稍后重试'."\n" - .'* RPM lock 被占用,请稍后重试'."\n" - .'* 磁盘空间不足'."\n" - .'* 节点负载过高,请稍后重试'."\n" - .'* 命令执行失败,请稍后重试'."\n" - .'* 云助手 Agent 未运行'."\n" - .'* 云助手 Agent 无响应'."\n" - .'* 命令发送超时'."\n" - .'* 命令执行超时'."\n" - .'* 任务并发数达到上限', - 'type' => 'string', - 'example' => '磁盘空间不足', - ], - ], - ], - ], - 'status' => [ - 'type' => 'string', - ], + 'task_id' => ['description' => '任务ID。', 'type' => 'string', 'example' => '049ea0609515414b9e19c3389d7ba638'], ], ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => '2E75336A-0DB2-5263-B201-A6488EC97B50', - ], ], ], ], ], 'errorCodes' => [ 400 => [ - [ - 'errorCode' => 'SysomOpenAPI.AgentNotExists', - 'errorMessage' => 'Agent not exists.', - ], - [ - 'errorCode' => 'SysomOpenAPI.AgentTaskNotFound', - 'errorMessage' => 'Agent task not found.', - ], - [ - 'errorCode' => 'SysomOpenAPI.AgentVersionNotExists', - 'errorMessage' => 'Agent version not exists.', - ], - [ - 'errorCode' => 'SysomOpenAPI.InstanceNotExists', - 'errorMessage' => 'Instance not exists.', - ], - [ - 'errorCode' => 'SysomOpenAPI.InvalidParameter', - 'errorMessage' => 'Invalid parameters passed when calling the interface.', - ], - [ - 'errorCode' => 'SysomOpenAPI.MissingParameter', - 'errorMessage' => 'Missing parameters.', - ], - [ - 'errorCode' => 'SysomOpenAPI.NoAgentInstalled', - 'errorMessage' => 'No SysOM Agent version available.', - ], - [ - 'errorCode' => 'SysomOpenAPI.NotAuthorizedInstance', - 'errorMessage' => 'Instance not authorized.', - ], - [ - 'errorCode' => 'SysomOpenAPI.NotOwnInstance', - 'errorMessage' => 'Not own current instance.', - ], - [ - 'errorCode' => 'SysomOpenAPI.NotOwnTask', - 'errorMessage' => 'Diagnosis result does not belong to the current account.', - ], - [ - 'errorCode' => 'SysomOpenAPI.NotSupportedAgentVersion', - 'errorMessage' => 'Unsupported sysom agent version.', - ], - [ - 'errorCode' => 'SysomOpenAPI.ServerError', - 'errorMessage' => 'Server error, please correct the code according to the error message.', - ], + ['errorCode' => 'SysomOpenAPI.RegionNotSupport', 'errorMessage' => 'Region not supported.', 'description' => '地域不支持。'], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": {\\n \\"task_id\\": \\"c41d8e3506224184a714682fea86d22d\\",\\n \\"jobs\\": [\\n {\\n \\"instance\\": \\"i-2zehme0rs1tc090fdl3n\\",\\n \\"region\\": \\"cn-hangzhou\\",\\n \\"params\\": \\"{\\\\n \\\\\\"agent_version\\\\\\": \\\\\\"3.5.0-beta\\\\\\",\\\\n \\\\\\"opt\\\\\\": \\\\\\"install\\\\\\",\\\\n \\\\\\"agent_id\\\\\\": \\\\\\"74a86327-3170-412c-8fd67-da3389ec56a9\\\\\\",\\\\n \\\\\\"install_type\\\\\\": \\\\\\"InstallAndUpgrade\\\\\\"\\\\n}\\",\\n \\"status\\": \\"Running\\",\\n \\"result\\": \\"已废弃(误用)\\",\\n \\"error\\": \\"已废弃(误用)\\",\\n \\"errorCode\\": \\"DISK_SPACE_INSUFFICIENT\\",\\n \\"errorMessage\\": \\"磁盘空间不足\\"\\n }\\n ],\\n \\"status\\": \\"\\"\\n },\\n \\"RequestId\\": \\"2E75336A-0DB2-5263-B201-A6488EC97B50\\"\\n}","type":"json"}]', - 'title' => '获取组件任务的执行状态', - ], - 'GetAgent' => [ - 'summary' => '获取某个组件的详情', - 'path' => '/api/v1/am/agent/get_agent', - 'methods' => [ - 'get', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '为ACK集群安装组件', + 'description' => '为目标 ACK 集群安装组件后:'."\n" + .'1. 首先,初次纳管集群,会为集群当前包含的所有 ECS 安装组件(如果集群节点超过 50 台,第一批次只会安装50台);'."\n" + .'2. 其次,操作系统控制台会周期性的检查被纳管集群的扩缩容情况,一旦有新的 ECS 被添加到集群中,操作系统控制台会为其自动安装组件无需用户干预。', + 'changeSet' => [ + ['createdAt' => '2025-06-30T14:50:09.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-02-10T13:58:04.000Z', 'description' => '请求参数发生变更'], ], - 'schemes' => [ - 'https', + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"message\\": \\"success\\",\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\",\\n \\"data\\": {\\n \\"task_id\\": \\"049ea0609515414b9e19c3389d7ba638\\"\\n }\\n}","type":"json"}]', + ], + 'InstallAgentWithType' => [ + 'summary' => '在指定的实例上安装 Agent', + 'path' => '/api/v1/am/agent/installAgent', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'create', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux33ME7W', - ], + 'abilityTreeNodes' => ['FEATUREalinuxV02H6G'], 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'agent_id', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '组件ID', - 'description' => '组件ID', - 'type' => 'string', + 'description' => '请求 Body', + 'type' => 'object', + 'properties' => [ + 'instances' => [ + 'description' => '需要安装组件的实例列表', + 'type' => 'array', + 'items' => [ + 'description' => '实例信息', + 'type' => 'object', + 'properties' => [ + 'instance' => ['description' => '实例 ID', 'type' => 'string', 'required' => true, 'example' => 'i-wz9b9vucz1iubsz8sjqo'], + 'region' => ['description' => '地域 ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + 'required' => true, + ], + 'required' => true, + ], + 'instanceType' => [ + 'title' => '', + 'description' => '实例类型', + 'type' => 'string', + 'required' => true, + 'example' => 'ecs', + 'enum' => ['ecs', 'eflo'], + ], + 'agentId' => ['description' => '要安装的组件 ID', 'type' => 'string', 'required' => true, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + 'agentVersion' => ['description' => '要安装的组件版本', 'type' => 'string', 'required' => true, 'example' => '3.4.0-1'], + 'configId' => ['description' => '要安装的组件配置 ID', 'type' => 'string', 'required' => false, 'example' => 'f0078fbb-4213-11f0-a19b-00163e4ae208'], + ], 'required' => false, - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', ], ], ], @@ -6496,266 +4171,75 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'title' => 'Id of the request', - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '""'], 'data' => [ - 'description' => '返回数据。', + 'description' => '返回数据', 'type' => 'object', 'properties' => [ - 'id' => [ - 'title' => '组件ID', - 'description' => '组件ID', - 'type' => 'string', - 'example' => '74a86327-3170-412c-8e67-da3389ec56a9', - ], - 'name' => [ - 'title' => '组件名称', - 'description' => '组件名称', - 'type' => 'string', - 'example' => 'SysOM', - ], - 'support_arch' => [ - 'title' => '支持的架构'."\n", - 'description' => '支持的架构'."\n", - 'type' => 'string', - 'example' => 'x86', - ], - 'type' => [ - 'title' => 'Agent类型', - 'description' => 'Agent类型', - 'type' => 'string', - 'example' => 'control', - ], - 'description' => [ - 'title' => '组件描述', - 'description' => '组件描述', - 'type' => 'string', - 'example' => 'SysOM Agent', - ], - 'versions' => [ - 'description' => '组件版本信息', - 'type' => 'array', - 'items' => [ - 'description' => '组件版本信息', - 'type' => 'object', - 'properties' => [ - 'version' => [ - 'title' => 'Agent 版本号', - 'description' => 'Agent 版本号', - 'type' => 'string', - 'example' => '3.4.0-1', - ], - 'install_script' => [ - 'title' => 'Agent 该版本的安装脚本', - 'description' => 'Agent 该版本的安装脚本', - 'type' => 'string', - 'example' => 'sysom.sh install', - ], - 'uninstall_script' => [ - 'title' => 'Agent 该版本的卸载脚本', - 'description' => 'Agent 该版本的卸载脚本', - 'type' => 'string', - 'example' => 'sysom.sh uninstall', - ], - 'upgrade_script' => [ - 'title' => 'Agent该版本的更新脚本', - 'description' => 'Agent该版本的更新脚本', - 'type' => 'string', - 'example' => 'sysom.sh upgrade', - ], - 'created_at' => [ - 'title' => 'Agent版本创建时间', - 'description' => 'Agent版本创建时间', - 'type' => 'string', - 'example' => '2024-09-14T20:46:08', - ], - 'updated_at' => [ - 'title' => 'Agent版本的更新时间', - 'description' => 'Agent版本的更新时间', - 'type' => 'string', - 'example' => '2024-09-14T20:46:08', - ], - ], - ], - ], - 'created_at' => [ - 'title' => '组件创建时间', - 'description' => '组件创建时间', - 'type' => 'string', - 'example' => '2024-09-14T20:46:08', - ], - 'updated_at' => [ - 'title' => '更新时间', - 'description' => '更新时间', - 'type' => 'string', - 'example' => '2024-09-14T20:46:08', - ], + 'taskId' => ['description' => '任务 ID。'."\n" + ."\n" + .'可以凭借本任务 ID 调用 GetAgentTask 接口查看任务的执行情况', 'type' => 'string', 'example' => '26b3cd97389c43dcad6bc4901c36fcec'], ], ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => '2024-09-14T20:46:08', - ], + 'requestId' => ['description' => '请求 ID,可用于全链路诊断', 'type' => 'string', 'example' => '1D8887FC-4BDB-5A1C-AB19-135C29A9E481'."\n"], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SysomOpenAPI.AgentNotExists', 'errorMessage' => 'Agent not exists.', 'description' => '组件不存在。'], + ['errorCode' => 'SysomOpenAPI.AgentTaskNotFound', 'errorMessage' => 'Agent task not found.', 'description' => '组件任务不存在。'], + ['errorCode' => 'SysomOpenAPI.AgentVersionNotExists', 'errorMessage' => 'Agent version not exists.', 'description' => '组件版本不存在。'], + ['errorCode' => 'SysomOpenAPI.InstanceNotExists', 'errorMessage' => 'Instance not exists.', 'description' => '实例不存在。'], + ['errorCode' => 'SysomOpenAPI.InvalidParameter', 'errorMessage' => 'Invalid parameters passed when calling the interface.', 'description' => '调用接口时传递了无效参数'], + ['errorCode' => 'SysomOpenAPI.MissingParameter', 'errorMessage' => 'Missing parameters.', 'description' => '参数缺失'], + ['errorCode' => 'SysomOpenAPI.NoAgentInstalled', 'errorMessage' => 'No SysOM Agent version available.', 'description' => '没有可用的 SysOM Agent。'], + ['errorCode' => 'SysomOpenAPI.NotAuthorizedInstance', 'errorMessage' => 'Instance not authorized.', 'description' => '实例未授权。'], + ['errorCode' => 'SysomOpenAPI.NotOwnInstance', 'errorMessage' => 'Not own current instance.', 'description' => '指定的实例不属于当前用户。'], + ['errorCode' => 'SysomOpenAPI.NotOwnTask', 'errorMessage' => 'Diagnosis result does not belong to the current account.', 'description' => '诊断结果不属于当前账户'], + ['errorCode' => 'SysomOpenAPI.NotSupportedAgentVersion', 'errorMessage' => 'Unsupported sysom agent version.', 'description' => '不支持的 SysOM 客户端版本。'], + ['errorCode' => 'SysomOpenAPI.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '安装组件', + 'description' => '调用本接口安装 Agent 是异步的,调用接口后会返回一个 task_id,可以凭借该 ID 调用 GetAgentTask 接口获取任务的执行情况。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": {\\n \\"id\\": \\"74a86327-3170-412c-8e67-da3389ec56a9\\",\\n \\"name\\": \\"SysOM\\",\\n \\"support_arch\\": \\"x86\\",\\n \\"type\\": \\"control\\",\\n \\"description\\": \\"SysOM Agent\\",\\n \\"versions\\": [\\n {\\n \\"version\\": \\"3.4.0-1\\",\\n \\"install_script\\": \\"sysom.sh install\\",\\n \\"uninstall_script\\": \\"sysom.sh uninstall\\",\\n \\"upgrade_script\\": \\"sysom.sh upgrade\\",\\n \\"created_at\\": \\"2024-09-14T20:46:08\\",\\n \\"updated_at\\": \\"2024-09-14T20:46:08\\"\\n }\\n ],\\n \\"created_at\\": \\"2024-09-14T20:46:08\\",\\n \\"updated_at\\": \\"2024-09-14T20:46:08\\"\\n },\\n \\"RequestId\\": \\"2024-09-14T20:46:08\\"\\n}","type":"json"}]', - 'title' => '获取组件详情', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": {\\n \\"taskId\\": \\"26b3cd97389c43dcad6bc4901c36fcec\\"\\n },\\n \\"requestId\\": \\"1D8887FC-4BDB-5A1C-AB19-135C29A9E481\\\\n\\"\\n}","type":"json"}]', ], - 'ListAllInstances' => [ - 'summary' => '此接口用于获取已纳管/未纳管实例列表并带有实例信息', - 'path' => '/api/v1/am/instance/listAllInstances', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'InvokeAnomalyDiagnosis' => [ + 'summary' => '异常项诊断发起', + 'path' => '/api/v1/openapi/cluster_health/diagnosis/invoke_anomaly_diagnose', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', - 'riskType' => 'none', + 'operationType' => 'create', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], ], 'parameters' => [ [ - 'name' => 'region', - 'in' => 'query', - 'schema' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], - ], - [ - 'name' => 'instanceType', - 'in' => 'query', - 'schema' => [ - 'description' => '实例类型。', - 'type' => 'string', - 'required' => false, - 'example' => 'ecs', - 'default' => 'all', - 'enum' => [ - 'ecs', - 'eflo', - 'all', - ], - ], - ], - [ - 'name' => 'managedType', - 'in' => 'query', - 'schema' => [ - 'description' => '纳管类型', - 'type' => 'string', - 'required' => false, - 'example' => 'managed', - 'enum' => [ - 'managed', - 'unmanaged', - 'install', - 'uninstall', - 'upgrade', - 'all', - ], - ], - ], - [ - 'name' => 'filters', - 'in' => 'query', - 'schema' => [ - 'description' => '过滤信息列表', - 'type' => 'string', - 'required' => false, - 'example' => '{}', - ], - ], - [ - 'name' => 'current', - 'in' => 'query', - 'schema' => [ - 'description' => '当前所在分页', - 'type' => 'string', - 'required' => false, - 'example' => '1', - ], - ], - [ - 'name' => 'pageSize', - 'in' => 'query', - 'schema' => [ - 'description' => '每页返回数目,默认 pageSize=10', - 'type' => 'string', - 'required' => false, - 'example' => '10', - ], - ], - [ - 'name' => 'pluginId', - 'in' => 'query', - 'schema' => [ - 'description' => '插件ID', - 'type' => 'string', - 'required' => false, - 'example' => '01fc4a0b-f199-4885-9861-b4054a310fe7', - ], - ], - [ - 'name' => 'maxResults', - 'in' => 'query', - 'schema' => [ - 'description' => '一次获取的最大记录数', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '100', - ], - ], - [ - 'name' => 'nextToken', + 'name' => 'uuid', 'in' => 'query', - 'schema' => [ - 'description' => '分页游标。'."\n" - .'> 如果该参数不为空,表示还有更多数据。', - 'type' => 'string', - 'required' => false, - 'example' => 'U+w1wv2R4ZWR5oZLXD0+Dp4dD+2BRJj42DLT6GrZysw=', - ], + 'schema' => ['description' => '异常事件对应的uuid', 'type' => 'string', 'required' => false, 'example' => '8047d763-5465-4a8c-b1cd-23f5a8ba2594'], ], ], 'responses' => [ @@ -6765,239 +4249,54 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '状态码', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'instance not exists', - ], - 'total' => [ - 'description' => '查询结果总数。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], - 'data' => [ - 'description' => '返回数据', - 'type' => 'array', - 'items' => [ - 'description' => '返回结果。', - 'type' => 'object', - 'properties' => [ - 'instanceId' => [ - 'description' => '实例ID', - 'type' => 'string', - 'example' => 'i-bp17uabeke9v7n30abm2', - ], - 'osHealthScore' => [ - 'description' => '操作系统健康分', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '100', - ], - 'resourceGroupName' => [ - 'description' => '资源组名称', - 'type' => 'string', - 'example' => 'xxxx', - ], - 'instanceName' => [ - 'description' => '实例名称。', - 'type' => 'string', - 'example' => 'test', - ], - 'installType' => [ - 'description' => '安装类型', - 'type' => 'string', - 'example' => 'console', - ], - 'instanceType' => [ - 'description' => '实例类型', - 'type' => 'string', - 'example' => 'ecs', - ], - 'installLevel' => [ - 'description' => '安装级别', - 'type' => 'string', - 'example' => 'Cluster', - ], - 'attributes' => [ - 'description' => '扩展信息。', - 'type' => 'array', - 'items' => [ - 'description' => '扩展信息。', - 'type' => 'object', - 'properties' => [ - 'infoValue' => [ - 'description' => '信息值', - 'type' => 'string', - 'example' => 'diagnosis', - ], - 'infoType' => [ - 'description' => '信息类型', - 'type' => 'string', - 'example' => 'instance_tag', - ], - 'infoKey' => [ - 'description' => '信息键', - 'type' => 'string', - 'example' => 'sysom', - ], - ], - ], - ], - 'resourceGroupId' => [ - 'description' => '资源组ID。', - 'type' => 'string', - 'example' => '3b24a621-acb3-11ef-8c90-00163e1029af', - ], - 'osName' => [ - 'description' => '操作系统名称', - 'type' => 'string', - 'example' => 'alios', - ], - 'status' => [ - 'description' => '实例的运行状态,取值:'."\n" - .'- **Running**:正在运行'."\n" - .'- **Offline**:离线'."\n" - ."\n\n" - ."\n" - .'> 处于 Offline 状态的实例代表节点到 SysOM 服务端的心跳丢失,并不代表对应的 ECS 实例没有运行。', - 'type' => 'string', - 'example' => 'Running', - ], - 'clusterId' => [ - 'description' => '集群id', - 'type' => 'string', - 'example' => '3b24a621-acb3-11ef-8c90-00163e1029af', - ], - 'osArch' => [ - 'description' => '操作系统架构', - 'type' => 'string', - 'example' => 'x86_64', - ], - 'kernelVersion' => [ - 'description' => '内核版本', - 'type' => 'string', - 'example' => '5.10.134-18.al8.x86_64', - ], - 'imageId' => [ - 'description' => '镜像ID。', - 'type' => 'string', - 'example' => 'aliyun_3_x64_20G_alibase_20250117.vhd', - ], - 'manageType' => [ - 'description' => '纳管类型', - 'type' => 'string', - 'example' => 'managed', - ], - 'manageLevel' => [ - 'description' => '纳管级别', - 'type' => 'string', - 'example' => 'cluster', - ], - 'clusterName' => [ - 'description' => '集群名称', - 'type' => 'string', - 'example' => 'zjk_vpc_domain_1', - ], - 'publicIp' => [ - 'description' => '公网IP地址。', - 'type' => 'string', - 'example' => '47.98.215.58', - ], - 'privateIp' => [ - 'description' => '私网IP地址。', - 'type' => 'string', - 'example' => '172.21.172.7', - ], - 'agentConfigId' => [ - 'description' => 'agent配置ID', - 'type' => 'string', - 'example' => 'test_id', - ], - 'agentConfigName' => [ - 'description' => 'agent配置名称', - 'type' => 'string', - 'example' => 'test_name', - ], - ], - ], - ], - 'maxResults' => [ - 'description' => '最大返回数量', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '20', - ], - 'nextToken' => [ - 'description' => '分页游标。'."\n" - ."\n" - .'> 不为空表示有更多数据。', - 'type' => 'string', - 'example' => 'c2f78a783f49457caba6bace6f6f79e4', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'success'], + 'requestId' => ['description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], ], ], ], ], - 'errorCodes' => [ - 400 => [ - [ - 'errorCode' => 'Sysom.ServerError', - 'errorMessage' => 'Server error, please correct the code according to the error message. %s.', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\"\\n}","type":"json"}]', + 'title' => '异常项诊断发起', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sysom:InvokeAnomalyDiagnosis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"instance not exists\\",\\n \\"total\\": 2,\\n \\"data\\": [\\n {\\n \\"instanceId\\": \\"i-bp17uabeke9v7n30abm2\\",\\n \\"osHealthScore\\": 100,\\n \\"resourceGroupName\\": \\"xxxx\\",\\n \\"instanceName\\": \\"test\\",\\n \\"installType\\": \\"console\\",\\n \\"instanceType\\": \\"ecs\\",\\n \\"installLevel\\": \\"Cluster\\",\\n \\"attributes\\": [\\n {\\n \\"infoValue\\": \\"diagnosis\\",\\n \\"infoType\\": \\"instance_tag\\",\\n \\"infoKey\\": \\"sysom\\"\\n }\\n ],\\n \\"resourceGroupId\\": \\"3b24a621-acb3-11ef-8c90-00163e1029af\\",\\n \\"osName\\": \\"alios\\",\\n \\"status\\": \\"Running\\",\\n \\"clusterId\\": \\"3b24a621-acb3-11ef-8c90-00163e1029af\\",\\n \\"osArch\\": \\"x86_64\\",\\n \\"kernelVersion\\": \\"5.10.134-18.al8.x86_64\\",\\n \\"imageId\\": \\"aliyun_3_x64_20G_alibase_20250117.vhd\\",\\n \\"manageType\\": \\"managed\\",\\n \\"manageLevel\\": \\"cluster\\",\\n \\"clusterName\\": \\"zjk_vpc_domain_1\\",\\n \\"publicIp\\": \\"47.98.215.58\\",\\n \\"privateIp\\": \\"172.21.172.7\\",\\n \\"agentConfigId\\": \\"test_id\\",\\n \\"agentConfigName\\": \\"test_name\\"\\n }\\n ],\\n \\"maxResults\\": 20,\\n \\"nextToken\\": \\"c2f78a783f49457caba6bace6f6f79e4\\"\\n}","type":"json"}]', - 'title' => '获取所有实例及其完整信息', ], - 'UpdateEventsAttention' => [ - 'summary' => '异常项关注度更新,通过调整关注度影响异常项检测算法的敏感度。', - 'path' => '/api/v1/openapi/proxy/post/cluster_update_events_attention', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'InvokeDiagnosis' => [ + 'summary' => '发起诊断。', + 'path' => '/api/v1/openapi/diagnosis/invoke_diagnosis', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'update', - 'riskType' => 'none', + 'operationType' => 'create', + 'riskType' => 'high', 'chargeType' => 'free', - 'abilityTreeCode' => '256747', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREalinuxV02H6G'], ], 'parameters' => [ [ @@ -7005,39 +4304,36 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求body。', + 'description' => '请求体参数', 'type' => 'object', 'properties' => [ - 'uuid' => [ - 'description' => '异常事件对应的uuid', + 'service_name' => [ + 'title' => '诊断类型', + 'description' => '诊断类型,用于区分不同类型的诊断', 'type' => 'string', 'required' => true, - 'example' => '03de78af-f49f-433d-b5b1-0f6a70c493ba', - ], - 'range' => [ - 'description' => '生效的范围,集群(cluster)或节点(node)', - 'type' => 'string', - 'required' => false, + 'docRequired' => true, 'enumValueTitles' => [ - 'node' => 'node', - 'cluster' => 'cluster', + 'iofsstat' => 'IO流量分析', 'iodiagnose' => 'IO一键诊断', 'oomcheck' => 'OOM诊断', 'diskanalysis' => '磁盘分析诊断', 'javamem' => 'Java内存诊断', 'iolatency' => 'IO时延分析', 'netjitter' => '网络抖动诊断', 'loadtask' => '系统负载诊断', 'vmcore' => '宕机诊断', 'packetdrop' => '网络丢包诊断', + 'memgraph' => '内存大盘诊断', ], - 'example' => 'cluster', + 'example' => 'memgraph', ], - 'mode' => [ - 'description' => '异常事件的敏感度,取值为-1 - 3,-1代表敏感度减1,0代表敏感度加1。', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'enumValueTitles' => [ - '0', - '1', - '2', - '3', - -1 => '-1', - ], - 'example' => '-1', + 'channel' => [ + 'title' => '诊断通道,固定为 openapi_cloud_assist', + 'description' => '诊断通道(目前固定为ecs通道)', + 'type' => 'string', + 'required' => true, + 'enumValueTitles' => ['ecs' => 'ECS通道'], + 'example' => 'ecs', ], + 'params' => ['description' => '诊断参数,不同类型的诊断要求传递不同的诊断参数,每种诊断所需的参数参见下面的请求参数补充说明。'."\n" + ."\n" + .'><notice>请传递 json 格式的字符串></notice>', 'type' => 'string', 'required' => true, 'example' => '{'."\n" + .' "instance": "i-wz9gdv7qmdhusamc4dl01",'."\n" + .' "uid": "xxxxxxxxxxxxxx",'."\n" + .' "region": "cn-shenzhen"'."\n" + .'}'], ], 'required' => false, ], @@ -7050,138 +4346,202 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'title' => 'Id of the request', - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'Instance not belong to current user', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], 'data' => [ - 'description' => '返回数据。', + 'description' => '返回结果。', 'type' => 'object', 'properties' => [ - 'mode' => [ - 'description' => '修改后的关注度值', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '1', - ], + 'task_id' => ['description' => '诊断任务ID,可以凭借该ID调用 `GetDiagnosisResult` 接口查询诊断结果', 'type' => 'string', 'example' => 'ihqhAcrt'], ], ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => '44841312-7227-55C9-AE03-D59729BFAE38', - ], + 'request_id' => ['description' => '请求 RequestId', 'type' => 'string', 'example' => '43A910E9-A739-525E-855D-A32C257F1826'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'errorCodes' => [], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '发起诊断', + 'description' => '对目标 ECS 实例进行诊断有如下要求:'."\n" + .'- 目标 ECS 实例状态必须为运行中(Running);'."\n" + .'- 目标 ECS 实例必须已经安装云助手,如果未安装,请参考 [安装云助手Agent](https://help.aliyun.com/zh/ecs/user-guide/install-the-cloud-assistant-agent) 进行安装;'."\n" + .'- 必须调用 AuthDiagnosis 接口授权 SysOM 对目标 ECS 进行诊断,如果没有授权本接口会直接失败;'."\n" + .'- 本接口依赖于SysOM服务关联角色(AliyunServiceRoleForSysom)已经创建,本接口不会主动创建服务角色,如果服务角色不存在需要首先调用 AuthDiagnosis 进行授权,该接口会创建前述服务角色。', + 'requestParamsDescription' => '## 诊断参数说明'."\n" + ."\n" + .'### 内存大盘诊断(memgraph)参数'."\n" + .'memgraph(内存全景分析)工具:内存全景分析适用于内存占用较高但无法明确识别具体内存占用情况的场景。通过使用内存全景分析诊断功能,可以扫描当前系统的内存占用状态,详细拆解内存使用情况。系统内存与应用内存的分布,并列出当前Top 30的应用内存使用、文件缓存、共享内存缓存占用情况的排序。'."\n" + ."\n" + .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" + .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" + .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" + .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" + .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" + .'| pod | string | Pod名称 | 否 | | Pod名称 |'."\n" + ."\n\n" + .'### Java内存诊断(javamem)参数'."\n" + .'javamem(Java内存诊断)工具,主要用于诊断Java应用的内存使用情况,帮助用户了解Java堆内存和非堆内存的分布和组成,识别潜在的内存泄漏和内存溢出问题,实现Java内存的可维可测可追踪。'."\n" + ."\n" + .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" + .'| -------- | -------- | -------- | -------- | ------ | ---------------------------------------------------------- |'."\n" + .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" + .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" + .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" + .'| Pid | string | Java进程Pid | 否 | | Java进程Pid,pid和pod至少提供一个 |'."\n" + .'| pod | string | Pod名称 | 否 | | Pod名称,pid和pod至少提供一个 |'."\n" + .'| duration | string | JNI内存分配profiling时长 | 否 | | JNI内存分配profiling时长,执行JNI诊断需要填写一个非0的值,否则默认不执行JNI诊断 |'."\n" + ."\n" + .'### 内存OOM诊断(oomcheck)参数'."\n" + ."\n" + .'oomcheck(OOM诊断)工具,主要用于分析和界定OOM(Out of memory)问题,找出导致OOM的主要原因,并给出相应的处理建议,帮助用户解决OOM问题,提高系统的可用性和性能。'."\n" + ."\n" + .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" + .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" + .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" + .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" + .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" + .'| pod | string | Pod名称 | 否 | | Pod名称 |'."\n" + .'| time | string | 诊断时间 | 否 | | 请输入需要诊断OOM的时间点,默认为最近一次 |'."\n" + ."\n" + .'### 系统负载诊断(loadtask)参数'."\n" + ."\n" + .'loadtask(系统负载诊断)工具主要分析系统在一分钟内的平均负载(load1指标)异常原因机器详细信息。'."\n" + ."\n" + .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" + .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" + .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" + .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" + .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" + ."\n" + .'### 调度抖动诊断(delay)参数'."\n" + .'delay(调度抖动诊断)工具主要分析CPU长时间不进行任务切换导致用户态业务进程长期得不到调度引发的问题(例如内存回收等场景)。'."\n" + ."\n" + .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" + .'| --------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" + .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" + .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" + .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" + .'| duration | string | 诊断持续的时长 | 否 | 20 | 诊断持续的时长(s)(可选),默认为20秒 |'."\n" + .'| threshold | string | 诊断阈值 | 否 | 20 | 延迟的阈值,超过这个阈值就记录,默认20ms |'."\n" + ."\n\n" + ."\n" + .'### IO流量分析诊断(iofsstat)参数'."\n" + ."\n" + .'iofsstat(IO流量分析)工具主要分析系统中IO流量的归属,结果包含每个磁盘/分区的IO流量统计列表以及每个进程的IO流量统计列表。'."\n" + ."\n" + .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" + .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------------ |'."\n" + .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" + .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" + .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID,我们将在会这台机器内部发起IO流量统计 |'."\n" + .'| timeout | string | 诊断时长 | 否 | 15 | 诊断时长,也是IO流量统计周期,单位秒,建议不超过60秒 |'."\n" + .'| disk | string | 目标磁盘 | 否 | "" | 请输入你要诊断的磁盘,如vda,sda,缺省为所有磁盘 |'."\n" + ."\n" + .'### IO一键诊断(iodiagnose)参数'."\n" + .'iodiagnose(IO一键诊断)工具专注于高频出现的IO高延迟、IO Burst及IO Wait等问题,支持对各种IO问题类型的识别,并调用相应的子工具对IO数据进行分析,从而提供结论和建议。'."\n" + ."\n" + .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" + .'| --------- | -------- | -------- | -------- | ------ | ------------------------------------------------------------ |'."\n" + .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" + .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" + .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID,我们将在会这台机器内部发起IO HANG诊断 |'."\n" + .'| timeout | string | 诊断时长 | 否 | 30 | 诊断时长(可选),默认为30秒,不建议低于30秒,单位秒 |'."\n" + ."\n\n" + .'### 网络丢包诊断(packetdrop)参数'."\n" + .'packetdrop(网络丢包诊断)工具主要分析数据包通过网络传输过程中,由于多种原因在操作系统内核层面发生的丢失问题。'."\n" + .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" + .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" + .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" + .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" + .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" + ."\n\n" + .'### 网络抖动诊断(netjitter)参数'."\n" + .'netjitter(网络抖动诊断)工具主要分析数据包在网络传输过程中,由于多种因素引起的操作系统内核层面的不稳定现象。'."\n" + .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" + .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" + .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" + .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" + .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" + .'| duration | string | 诊断持续的时长 | 否 | 20 | 诊断持续的时长(s)(可选),默认为20秒 |'."\n" + .'| threshold | string | 判定出现抖动的阈值 | 否 | 10 | 判定出现抖动的阈值(ms)(可选),默认为10ms |'."\n" + ."\n" + .'### 宕机诊断(vmcore)参数'."\n" + .'vmcore(宕机诊断)工具主要分析操作系统崩溃的原因,通过分析内核panic产生的core dump文件,结合dmesg日志,分析操作系统崩溃的原因。'."\n" + .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" + .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" + .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" + .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" + .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" + ."\n" + .'### 磁盘分析诊断(diskanalysis)参数'."\n" + .'diskanalysis(磁盘分析诊断)工具主要分析系统中磁盘的使用情况。'."\n" + .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" + .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" + .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" + .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" + .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"Instance not belong to current user\\",\\n \\"data\\": {\\n \\"mode\\": 1\\n },\\n \\"RequestId\\": \\"44841312-7227-55C9-AE03-D59729BFAE38\\"\\n}","type":"json"}]', - 'title' => '更新异常项关注度', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": {\\n \\"task_id\\": \\"ihqhAcrt\\"\\n },\\n \\"request_id\\": \\"43A910E9-A739-525E-855D-A32C257F1826\\"\\n}","type":"json"}]', ], 'ListAbnormalyEvents' => [ 'summary' => '获取一定时间段内的集群/节点/Pod的异常事件信息', 'path' => '/api/v1/openapi/cluster_health/range/abnormaly_events', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], ], 'parameters' => [ [ 'name' => 'cluster', 'in' => 'query', - 'schema' => [ - 'description' => '集群id', - 'type' => 'string', - 'required' => false, - 'example' => '2d33d4be-bf54-4070-82ca-c1dc2d8b1562', - ], + 'schema' => ['description' => '集群id', 'type' => 'string', 'required' => false, 'example' => '2d33d4be-bf54-4070-82ca-c1dc2d8b1562'], ], [ 'name' => 'instance', 'in' => 'query', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9d00ut2ska3mlyhn6j'], ], [ 'name' => 'start', 'in' => 'query', - 'schema' => [ - 'description' => '起始时间', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1725797727754', - ], + 'schema' => ['description' => '起始时间', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1725797727754'], ], [ 'name' => 'pod', 'in' => 'query', - 'schema' => [ - 'description' => 'Pod名称', - 'type' => 'string', - 'required' => false, - 'example' => 'test-pod', - ], + 'schema' => ['description' => 'Pod名称', 'type' => 'string', 'required' => false, 'example' => 'test-pod'], ], [ 'name' => 'namespace', 'in' => 'query', - 'schema' => [ - 'description' => 'Pod所在的命名空间', - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], + 'schema' => ['description' => 'Pod所在的命名空间', 'type' => 'string', 'required' => false, 'example' => 'default'], ], [ 'name' => 'end', 'in' => 'query', - 'schema' => [ - 'description' => '结束时间', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1725801327754', - ], + 'schema' => ['description' => '结束时间', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '1725801327754'], ], [ 'name' => 'level', @@ -7190,11 +4550,7 @@ 'description' => '异常事件的等级', 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - 'warning' => 'warning', - 'error' => 'error', - 'potential' => 'potential', - ], + 'enumValueTitles' => ['warning' => 'warning', 'error' => 'error', 'potential' => 'potential'], 'example' => 'potential', ], ], @@ -7206,43 +4562,24 @@ 'type' => 'integer', 'format' => 'int32', 'required' => false, - 'enumValueTitles' => [ - '0', - ], + 'enumValueTitles' => ['0'], 'example' => '1', ], ], [ 'name' => 'current', 'in' => 'query', - 'schema' => [ - 'description' => '页码分页时存在该字段,表示当前页', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['description' => '页码分页时存在该字段,表示当前页', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '每页大小,默认值为5,取值范围【1,100】', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '每页大小,默认值为5,取值范围【1,100】', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ 'name' => 'event', 'in' => 'query', - 'schema' => [ - 'description' => '异常事件名称', - 'type' => 'string', - 'required' => false, - 'example' => '节点根文件系统使用检测', - ], + 'schema' => ['description' => '异常事件名称', 'type' => 'string', 'required' => false, 'example' => '节点根文件系统使用检测'], ], ], 'responses' => [ @@ -7252,18 +4589,10 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误码描述,若无错误则为空', - 'type' => 'string', - 'example' => "\n", - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误码描述,若无错误则为空', 'type' => 'string', 'example' => 'Success'], 'data' => [ 'description' => '返回结果。', 'type' => 'array', @@ -7271,22 +4600,9 @@ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'end_at' => [ - 'description' => '异常事件结束时间', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1725797727754', - ], - 'item' => [ - 'description' => '异常项名称', - 'type' => 'string', - 'example' => '节点CPU使用率检测', - ], - 'instance' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], + 'end_at' => ['description' => '异常事件结束时间', 'type' => 'integer', 'format' => 'int64', 'example' => '1725797727754'], + 'item' => ['description' => '异常项名称', 'type' => 'string', 'example' => '节点CPU使用率检测'], + 'instance' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'i-wz9d00ut2ska3mlyhn6j'], 'opts' => [ 'description' => '异常项操作列表', 'type' => 'array', @@ -7298,228 +4614,144 @@ 'description' => '异常项诊断结果', 'type' => 'object', 'properties' => [ - 'url' => [ - 'description' => '诊断详情URL', - 'type' => 'string', - 'example' => '/diagnose/result/PhfFg456', - ], - 'status' => [ - 'description' => '诊断状态', - 'type' => 'string', - 'example' => 'success', - ], + 'url' => ['description' => '诊断详情URL', 'type' => 'string', 'example' => '/diagnose/result/PhfFg456'], + 'status' => ['description' => '诊断状态', 'type' => 'string', 'example' => 'success'], ], ], - 'label' => [ - 'description' => '操作类型', - 'type' => 'string', - 'example' => 'diagnose', - ], - 'type' => [ - 'description' => '诊断类型', - 'type' => 'string', - 'example' => 'auto', - ], + 'label' => ['description' => '操作类型', 'type' => 'string', 'example' => 'diagnose'], + 'type' => ['description' => '诊断类型', 'type' => 'string', 'example' => 'auto'], ], ], ], 'level' => [ 'description' => '异常项等级', 'type' => 'string', - 'enumValueTitles' => [ - 'warning' => 'warning', - 'error' => 'error', - 'potential' => 'potential', - ], + 'enumValueTitles' => ['warning' => 'warning', 'error' => 'error', 'potential' => 'potential'], 'example' => 'potential', ], - 'region_id' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-shanghai', - ], - 'description' => [ - 'description' => '异常项的具体描述', - 'type' => 'string', - 'example' => '节点发生OOM, 可查看OOM发生原因', - ], - 'created_at' => [ - 'description' => '创建时间', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1725801090000', - ], + 'region_id' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-shanghai'], + 'description' => ['description' => '异常项的具体描述', 'type' => 'string', 'example' => '节点发生OOM, 可查看OOM发生原因'], + 'created_at' => ['description' => '创建时间', 'type' => 'integer', 'format' => 'int64', 'example' => '1725801090000'], 'type' => [ 'description' => '异常项类型', 'type' => 'string', - 'enumValueTitles' => [ - 'saturation' => 'saturation', - 'load' => 'load', - 'latency' => 'latency', - 'error' => 'error', - ], + 'enumValueTitles' => ['saturation' => 'saturation', 'load' => 'load', 'latency' => 'latency', 'error' => 'error'], 'example' => 'saturation', ], 'diag_status' => [ 'description' => '诊断状态(1为诊断已就绪,2代表诊断运行中,3代表诊断完成,4代表不可诊断,5代表诊断失败)', 'type' => 'integer', 'format' => 'int32', - 'enumValueTitles' => [ - '不可诊断' => '4', - '诊断完成' => '3', - '诊断失败' => '5', - '诊断运行中' => '2', - '诊断已就绪' => '1', - ], + 'enumValueTitles' => ['不可诊断' => '4', '诊断完成' => '3', '诊断失败' => '5', '诊断运行中' => '2', '诊断已就绪' => '1'], 'example' => '3', ], - 'uuid' => [ - 'description' => '异常事件对应的uuid', - 'type' => 'string', - 'example' => '43f05b46-1034-42e8-a528-6e5ca1108277', - ], - 'pod' => [ - 'description' => 'Pod名称', - 'type' => 'string', - 'example' => 'test-pod', - ], - 'namespace' => [ - 'description' => 'Pod所在的命名空间', - 'type' => 'string', - 'example' => 'default', - ], + 'uuid' => ['description' => '异常事件对应的uuid', 'type' => 'string', 'example' => '43f05b46-1034-42e8-a528-6e5ca1108277'], + 'pod' => ['description' => 'Pod名称', 'type' => 'string', 'example' => 'test-pod'], + 'namespace' => ['description' => 'Pod所在的命名空间', 'type' => 'string', 'example' => 'default'], 'raw_metrics' => [ + 'description' => '原始指标', 'type' => 'object', 'properties' => [ 'metrics' => [ + 'description' => '指标数值列表。', 'type' => 'array', - 'items' => [ - 'type' => 'string', - ], - ], - 'start_time' => [ - 'type' => 'number', - 'format' => 'float', - ], - 'end_time' => [ - 'type' => 'number', - 'format' => 'float', + 'items' => ['description' => '指标名称', 'type' => 'string', 'example' => 'sys_cpu_total'], ], + 'start_time' => ['description' => '开始时间', 'type' => 'number', 'format' => 'float', 'example' => '1761814928'], + 'end_time' => ['description' => '结束时间', 'type' => 'number', 'format' => 'float', 'example' => '1761814928'], ], ], ], ], ], - 'total' => [ - 'description' => '总记录数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '4', - ], + 'total' => ['description' => '总记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '4'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\n\\",\\n \\"data\\": [\\n {\\n \\"end_at\\": 1725797727754,\\n \\"item\\": \\"节点CPU使用率检测\\",\\n \\"instance\\": \\"i-wz9d00ut2ska3mlyhn6j\\",\\n \\"opts\\": [\\n {\\n \\"result\\": {\\n \\"url\\": \\"/diagnose/result/PhfFg456\\",\\n \\"status\\": \\"success\\"\\n },\\n \\"label\\": \\"diagnose\\",\\n \\"type\\": \\"auto\\"\\n }\\n ],\\n \\"level\\": \\"potential\\",\\n \\"region_id\\": \\"cn-shanghai\\",\\n \\"description\\": \\"节点发生OOM, 可查看OOM发生原因\\",\\n \\"created_at\\": 1725801090000,\\n \\"type\\": \\"saturation\\",\\n \\"diag_status\\": 3,\\n \\"uuid\\": \\"43f05b46-1034-42e8-a528-6e5ca1108277\\",\\n \\"pod\\": \\"test-pod\\",\\n \\"namespace\\": \\"default\\",\\n \\"raw_metrics\\": {\\n \\"metrics\\": [\\n \\"\\"\\n ],\\n \\"start_time\\": 0,\\n \\"end_time\\": 0\\n }\\n }\\n ],\\n \\"total\\": 4\\n}","type":"json"}]', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"Success\\",\\n \\"data\\": [\\n {\\n \\"end_at\\": 1725797727754,\\n \\"item\\": \\"节点CPU使用率检测\\",\\n \\"instance\\": \\"i-wz9d00ut2ska3mlyhn6j\\",\\n \\"opts\\": [\\n {\\n \\"result\\": {\\n \\"url\\": \\"/diagnose/result/PhfFg456\\",\\n \\"status\\": \\"success\\"\\n },\\n \\"label\\": \\"diagnose\\",\\n \\"type\\": \\"auto\\"\\n }\\n ],\\n \\"level\\": \\"potential\\",\\n \\"region_id\\": \\"cn-shanghai\\",\\n \\"description\\": \\"节点发生OOM, 可查看OOM发生原因\\",\\n \\"created_at\\": 1725801090000,\\n \\"type\\": \\"saturation\\",\\n \\"diag_status\\": 3,\\n \\"uuid\\": \\"43f05b46-1034-42e8-a528-6e5ca1108277\\",\\n \\"pod\\": \\"test-pod\\",\\n \\"namespace\\": \\"default\\",\\n \\"raw_metrics\\": {\\n \\"metrics\\": [\\n \\"sys_cpu_total\\"\\n ],\\n \\"start_time\\": 1761814928,\\n \\"end_time\\": 1761814928\\n }\\n }\\n ],\\n \\"total\\": 4\\n}","type":"json"}]', 'title' => '获取异常事件详情', - ], - 'ListInstanceHealth' => [ - 'summary' => '获取一定时间内集群节点/Pod健康度列表', - 'path' => '/api/v1/openapi/cluster_health/range/instance_health_list', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'changeSet' => [ + ['createdAt' => '2025-09-19T08:38:45.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-08-03T12:17:50.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-04-24T02:34:11.000Z', 'description' => '响应参数发生变更'], + ['createdAt' => '2025-03-12T11:06:37.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListAbnormalyEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListAgentInstallRecords' => [ + 'summary' => '列出 Agent 的安装记录', + 'path' => '/api/v1/am/agent/list_agent_install_list', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'cluster', + 'name' => 'current', 'in' => 'query', - 'schema' => [ - 'description' => '集群id', - 'type' => 'string', - 'required' => false, - 'example' => '2dc6f3be-bf24-4070-8d3a-c03c26850532', - ], + 'schema' => ['title' => '当前页码(从1开始)', 'description' => '当前页码(从1开始)', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], ], [ - 'name' => 'instance', + 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], + 'schema' => ['title' => '每页大小', 'description' => '每页大小', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20'], ], [ - 'name' => 'start', + 'name' => 'instance_id', 'in' => 'query', - 'schema' => [ - 'description' => '开始时间', - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '1725797727754', - ], + 'schema' => ['title' => '指定本字段,则过滤出指定实例的Agent安装情况', 'description' => '指定本字段,则过滤出指定实例的Agent安装情况', 'type' => 'string', 'required' => false, 'example' => 'i-bp118piqcio9tiwgh84b'], ], [ - 'name' => 'end', + 'name' => 'plugin_id', 'in' => 'query', - 'schema' => [ - 'description' => '结束时间', - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '1725801327754', - ], + 'schema' => ['title' => '指定本参数则过滤出指定Agent的安装列表,可以搭配 plugin_version 参数使用', 'description' => '指定本参数则过滤出指定Agent的安装列表,可以搭配 plugin_version 参数使用', 'type' => 'string', 'required' => false, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], ], [ - 'name' => 'current', + 'name' => 'plugin_version', 'in' => 'query', - 'schema' => [ - 'description' => '当前所在分页', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['title' => '不可单独使用,搭配 plugin_id 使用,用于过滤出指定Agent指定版本的安装列表', 'description' => '不可单独使用,搭配 plugin_id 使用,用于过滤出指定Agent指定版本的安装列表', 'type' => 'string', 'required' => false, 'example' => '3.4.0-1'], ], [ - 'name' => 'pageSize', + 'name' => 'status', 'in' => 'query', - 'schema' => [ - 'description' => '每页大小,默认值为5,取值范围【1,100】', - 'type' => 'integer', - 'format' => 'int32', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['description' => '通过状态过滤组件安装记录', 'type' => 'string', 'required' => false, 'example' => 'Installed'], + ], + [ + 'name' => 'region', + 'in' => 'query', + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], ], ], 'responses' => [ @@ -7529,136 +4761,99 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'SysomOpenAPI.ServerError', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'Query no data', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], + 'total' => ['description' => '总记录数。', 'type' => 'integer', 'format' => 'int64', 'example' => '64'], 'data' => [ - 'description' => '返回数据。', + 'description' => '返回结果。', 'type' => 'array', 'items' => [ - 'description' => '响应数据。', + 'description' => '返回结果。', 'type' => 'object', 'properties' => [ - 'score' => [ - 'description' => '健康分数值。', - 'type' => 'number', - 'format' => 'float', - 'example' => '100', - ], - 'instance' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], - 'region_id' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'example' => 'cn-shanghai', - ], - 'status' => [ - 'description' => '实例的运行状态,取值:'."\n" - .'- **Running**:正在运行'."\n" - .'- **Offline**:离线'."\n" - ."\n\n" - ."\n" - .'> 处于 Offline 状态的实例代表节点到 SysOM 服务端的心跳丢失,并不代表对应的 ECS 实例没有运行。', - 'type' => 'string', - 'example' => 'Running', - ], - 'pod' => [ - 'description' => 'Pod名称', - 'type' => 'string', - 'example' => 'test-pod', - ], - 'namespace' => [ - 'description' => 'Pod所在的命名空间', - 'type' => 'string', - 'example' => 'default', - ], - 'images' => [ - 'description' => 'Pod中容器的镜像名称列表', - 'type' => 'array', - 'items' => [ - 'description' => '容器镜像名称', - 'type' => 'string', - 'example' => 'alinux3:latest', - ], - ], + 'instance_id' => ['title' => '实例ID', 'description' => '实例ID', 'type' => 'string', 'example' => 'i-bp118piqcio9tiwgh84b'], + 'plugin_id' => ['title' => '组件ID'."\n", 'description' => '组件ID'."\n", 'type' => 'string', 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + 'plugin_version' => ['title' => '插件版本'."\n", 'description' => '插件版本'."\n", 'type' => 'string', 'example' => '3.4.0-1'], + 'status' => ['title' => '组件状态', 'description' => '组件状态', 'type' => 'string', 'example' => 'Installed'], + 'created_at' => ['description' => '创建时间', 'type' => 'string', 'example' => '2024-11-27T16:37:53'], + 'updated_at' => ['description' => '修改时间', 'type' => 'string', 'example' => '2024-11-27T16:37:53'], ], ], ], - 'total' => [ - 'description' => '查询结果总数。', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '42', - ], - 'request_id' => [ - 'description' => '请求 RequestId', - 'type' => 'string', - 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0', - ], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => 'E8CDFBA1-0564-5897-B070-D3C85002AF2F'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"total\\": 64,\\n \\"data\\": [\\n {\\n \\"instance_id\\": \\"i-bp118piqcio9tiwgh84b\\",\\n \\"plugin_id\\": \\"74a86327-3170-412c-8e67-da3389ec56a9\\",\\n \\"plugin_version\\": \\"3.4.0-1\\",\\n \\"status\\": \\"Installed\\",\\n \\"created_at\\": \\"2024-11-27T16:37:53\\",\\n \\"updated_at\\": \\"2024-11-27T16:37:53\\"\\n }\\n ],\\n \\"RequestId\\": \\"E8CDFBA1-0564-5897-B070-D3C85002AF2F\\"\\n}","type":"json"}]', + 'title' => '获取组件安装记录列表', + 'changeSet' => [ + ['createdAt' => '2025-06-30T14:50:09.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"message\\": \\"Query no data\\",\\n \\"data\\": [\\n {\\n \\"score\\": 100,\\n \\"instance\\": \\"i-wz9d00ut2ska3mlyhn6j\\",\\n \\"region_id\\": \\"cn-shanghai\\",\\n \\"status\\": \\"Running\\",\\n \\"pod\\": \\"test-pod\\",\\n \\"namespace\\": \\"default\\",\\n \\"images\\": [\\n \\"alinux3:latest\\"\\n ]\\n }\\n ],\\n \\"total\\": 42,\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\"\\n}","type":"json"}]', - 'title' => '获取集群中节点/Pod的健康度列表', - ], - 'InvokeAnomalyDiagnosis' => [ - 'summary' => '异常项诊断发起', - 'path' => '/api/v1/openapi/cluster_health/diagnosis/invoke_anomaly_diagnose', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListAgentInstallRecords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListAgents' => [ + 'summary' => '获取 Agent 列表', + 'path' => '/api/v1/am/agent/list_agents', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'high', + 'operationType' => 'list', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'uuid', + 'name' => 'current', 'in' => 'query', - 'schema' => [ - 'description' => '异常事件对应的uuid', - 'type' => 'string', - 'required' => false, - 'example' => '8047d763-5465-4a8c-b1cd-23f5a8ba2594', - ], + 'schema' => ['title' => '当前页数(从第1页开始)', 'description' => '当前页数(从第1页开始)', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['title' => '每页大小', 'description' => '每页大小', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'name', + 'in' => 'query', + 'schema' => ['title' => '通过插件的名字过滤插件', 'description' => '通过插件的名字过滤插件', 'type' => 'string', 'required' => false, 'example' => 'SysOM'], + ], + [ + 'name' => 'type', + 'in' => 'query', + 'schema' => ['title' => '根据 Agent 类型来获取列表,比如传递 control 表示获取所有管控类型的 Agent', 'description' => '根据 Agent 类型来获取列表,比如传递 control 表示获取所有管控类型的 Agent', 'type' => 'string', 'required' => false, 'example' => 'control'], ], ], 'responses' => [ @@ -7668,107 +4863,118 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'success', - ], - 'requestId' => [ - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => '66EAED72-542B-583B-BCED-64433DC27AD7'], + 'total' => ['description' => ' 总记录数。', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], + 'data' => [ + 'description' => '返回数据', + 'type' => 'array', + 'items' => [ + 'description' => '返回数据', + 'type' => 'object', + 'properties' => [ + 'name' => ['description' => '组件名称', 'type' => 'string', 'example' => 'SysOM Agent'], + 'support_arch' => ['description' => '支持的架构(多个架构用逗号相连)', 'type' => 'string', 'example' => 'x86'], + 'type' => ['description' => '组件的类型'."\n" + .'- Control:管控类型的组件'."\n" + .'- AI:AI组件', 'type' => 'string', 'example' => 'Control'], + 'description' => ['description' => '组件描述', 'type' => 'string', 'example' => 'SysOM Agent'], + 'id' => ['description' => '组件ID', 'type' => 'string', 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + 'versions' => [ + 'description' => '组件版本列表', + 'type' => 'array', + 'items' => [ + 'description' => '组件版本信息', + 'type' => 'object', + 'properties' => [ + 'version' => ['description' => '组件版本号', 'type' => 'string', 'example' => '3.4.0-1'], + 'install_script' => ['description' => '组件的安装脚本', 'type' => 'string', 'example' => 'sysom.sh install'], + 'uninstall_script' => ['description' => '组件卸载脚本', 'type' => 'string', 'example' => 'sysom.sh uninstall'], + 'upgrade_script' => ['description' => '组件更新脚本', 'type' => 'string', 'example' => 'sysom.sh upgrade'], + 'created_at' => ['description' => '组件版本创建时间', 'type' => 'string', 'example' => '2024-09-14T20:46:08'], + 'updated_at' => ['description' => '组件版本更新时间', 'type' => 'string', 'example' => '2024-09-14T20:46:08'], + ], + ], + ], + 'created_at' => ['description' => '组件创建时间', 'type' => 'string', 'example' => '2024-09-14T20:46:08'], + 'updated_at' => ['description' => '组件更新时间', 'type' => 'string', 'example' => '2024-09-14T20:46:08'], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"RequestId\\": \\"66EAED72-542B-583B-BCED-64433DC27AD7\\",\\n \\"total\\": 2,\\n \\"data\\": [\\n {\\n \\"name\\": \\"SysOM Agent\\",\\n \\"support_arch\\": \\"x86\\",\\n \\"type\\": \\"Control\\",\\n \\"description\\": \\"SysOM Agent\\",\\n \\"id\\": \\"74a86327-3170-412c-8e67-da3389ec56a9\\",\\n \\"versions\\": [\\n {\\n \\"version\\": \\"3.4.0-1\\",\\n \\"install_script\\": \\"sysom.sh install\\",\\n \\"uninstall_script\\": \\"sysom.sh uninstall\\",\\n \\"upgrade_script\\": \\"sysom.sh upgrade\\",\\n \\"created_at\\": \\"2024-09-14T20:46:08\\",\\n \\"updated_at\\": \\"2024-09-14T20:46:08\\"\\n }\\n ],\\n \\"created_at\\": \\"2024-09-14T20:46:08\\",\\n \\"updated_at\\": \\"2024-09-14T20:46:08\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '获取组件列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListAgents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\"\\n}","type":"json"}]', - 'title' => '异常项诊断发起', ], - 'GetRangeScore' => [ - 'summary' => '获取健康分趋势', - 'path' => '/api/v1/openapi/cluster_health/range/score', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListAlertDestinations' => [ + 'summary' => '本接口用于获取告警联系人列表', + 'path' => '/api/v1/alertPusher/alert/listDestinations', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], + 'abilityTreeNodes' => ['FEATUREalinux33ME7W'], ], 'parameters' => [ [ - 'name' => 'cluster', + 'name' => 'name', 'in' => 'query', - 'schema' => [ - 'description' => '集群id', - 'type' => 'string', - 'required' => false, - 'example' => '2ijff4be-bf24-4070-89ca-c47c879b0g32', - ], + 'schema' => ['description' => '告警联系人名称', 'type' => 'string', 'required' => false, 'example' => 'name1'], ], [ - 'name' => 'instance', + 'name' => 'maxResults', 'in' => 'query', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], + 'schema' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], [ - 'name' => 'start', + 'name' => 'nextToken', 'in' => 'query', - 'schema' => [ - 'description' => '开始时间', - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '1725797727754', - ], + 'schema' => ['description' => '下一次请求的分页token。', 'type' => 'string', 'required' => false, 'example' => 'c2f78a783f49457caba6bace6f6f79e4'], ], [ - 'name' => 'end', + 'name' => 'current', 'in' => 'query', - 'schema' => [ - 'description' => '结束时间', - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '1725801327754', - ], + 'schema' => ['description' => '当前页码(从1开始)', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '每页大小', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], ], ], 'responses' => [ @@ -7778,151 +4984,181 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'title' => '资源一级ID', - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'required' => false, - 'example' => 'Success', - 'pattern' => '^[a-zA-Z._-]+$', - 'default' => '', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => '""', - ], - 'data' => [ - 'description' => '返回数据。', - 'type' => 'array', - 'items' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'type' => [ - 'description' => '指标类型', - 'type' => 'string', - 'enumValueTitles' => [ - '总分' => 'total', - '饱和度' => 'saturation', - '错误' => 'error', - '延时' => 'latency', - '负载' => 'load', - ], - 'example' => 'saturation', - ], - 'value' => [ - 'description' => '分数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '100', - ], - 'time' => [ - 'description' => '时间点', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1725797727754', - ], - ], - ], - ], - 'total' => [ - 'description' => '总数据量。', - 'type' => 'number', - 'format' => 'float', - 'example' => '2', - ], - 'request_id' => [ - 'description' => '请求 RequestId', - 'type' => 'string', - 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID。', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'server error'], + 'data' => ['description' => '返回数据。', 'type' => 'any', 'example' => '{}'], + 'nextToken' => ['description' => '下一次请求的分页token。', 'type' => 'string', 'example' => 'c2f78a783f49457caba6bace6f6f79e4'], + 'maxResults' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'example' => '10'], + 'total' => ['description' => 'MaxResults本次请求所返回的最大记录条数', 'type' => 'integer', 'format' => 'int32', 'example' => '623'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": [\\n {\\n \\"type\\": \\"saturation\\",\\n \\"value\\": 100,\\n \\"time\\": 1725797727754\\n }\\n ],\\n \\"total\\": 2,\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\"\\n}","type":"json"}]', - 'title' => '获取健康分趋势', - ], - 'GetProblemPercentage' => [ - 'summary' => '获取一定时间内集群中节点/节点中pod异常问题占比', - 'path' => '/api/v1/openapi/cluster_health/range/problem_percentage', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Sysom.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message. %s.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ['errorCode' => 'SysomOpenAPI.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ], ], - 'schemes' => [ - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取告警联系人列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"server error\\",\\n \\"data\\": \\"{}\\",\\n \\"nextToken\\": \\"c2f78a783f49457caba6bace6f6f79e4\\",\\n \\"maxResults\\": 10,\\n \\"total\\": 623\\n}","type":"json"}]', + ], + 'ListAlertItems' => [ + 'summary' => '获取所有告警项', + 'path' => '/api/v1/alertPusher/alert/listItems', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREalinuxJZOVCX'], + 'tenantRelevance' => 'publicInformation', ], - 'produces' => [ - 'application/json', + 'parameters' => [], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'success'], + 'data' => ['description' => '返回数据。', 'type' => 'any', 'example' => '{'."\n" + .' "NODE": {'."\n" + .' "饱和度": ['."\n" + .' "节点CPU使用率检测",'."\n" + .' "节点内核态CPU使用检测",'."\n" + .' "节点软中断CPU使用检测",'."\n" + .' "节点内存使用检测",'."\n" + .' "节点内核内存使用检测",'."\n" + .' "节点文件描述符使用检测",'."\n" + .' "节点根文件系统使用检测",'."\n" + .' "节点cgroup泄漏检测",'."\n" + .' "节点Sockets使用检测",'."\n" + .' "节点TCP内存使用检测"'."\n" + .' ],'."\n" + .' "延时": ['."\n" + .' "节点调度延时检测",'."\n" + .' "节点网络延时检测",'."\n" + .' "节点磁盘写入延迟检测",'."\n" + .' "节点磁盘读取延迟检测"'."\n" + .' ],'."\n" + .' "负载": ['."\n" + .' "节点磁盘IO流量检测",'."\n" + .' "节点load average检测"'."\n" + .' ],'."\n" + .' "错误": ['."\n" + .' "节点网络丢包检测",'."\n" + .' "节点OOM夯机预测及检测"'."\n" + .' ]'."\n" + .' },'."\n" + .' "POD": {'."\n" + .' "饱和度": ['."\n" + .' "Pod内存使用检测",'."\n" + .' "Pod CPU使用率检测"'."\n" + .' ],'."\n" + .' "错误": ['."\n" + .' "Pod CPU限流检测",'."\n" + .' "Pod OOM事件检测"'."\n" + .' ]'."\n" + .' }'."\n" + .'}'], + ], + ], + ], ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": \\"{\\\\n \\\\\\"NODE\\\\\\": {\\\\n \\\\\\"饱和度\\\\\\": [\\\\n \\\\\\"节点CPU使用率检测\\\\\\",\\\\n \\\\\\"节点内核态CPU使用检测\\\\\\",\\\\n \\\\\\"节点软中断CPU使用检测\\\\\\",\\\\n \\\\\\"节点内存使用检测\\\\\\",\\\\n \\\\\\"节点内核内存使用检测\\\\\\",\\\\n \\\\\\"节点文件描述符使用检测\\\\\\",\\\\n \\\\\\"节点根文件系统使用检测\\\\\\",\\\\n \\\\\\"节点cgroup泄漏检测\\\\\\",\\\\n \\\\\\"节点Sockets使用检测\\\\\\",\\\\n \\\\\\"节点TCP内存使用检测\\\\\\"\\\\n ],\\\\n \\\\\\"延时\\\\\\": [\\\\n \\\\\\"节点调度延时检测\\\\\\",\\\\n \\\\\\"节点网络延时检测\\\\\\",\\\\n \\\\\\"节点磁盘写入延迟检测\\\\\\",\\\\n \\\\\\"节点磁盘读取延迟检测\\\\\\"\\\\n ],\\\\n \\\\\\"负载\\\\\\": [\\\\n \\\\\\"节点磁盘IO流量检测\\\\\\",\\\\n \\\\\\"节点load average检测\\\\\\"\\\\n ],\\\\n \\\\\\"错误\\\\\\": [\\\\n \\\\\\"节点网络丢包检测\\\\\\",\\\\n \\\\\\"节点OOM夯机预测及检测\\\\\\"\\\\n ]\\\\n },\\\\n \\\\\\"POD\\\\\\": {\\\\n \\\\\\"饱和度\\\\\\": [\\\\n \\\\\\"Pod内存使用检测\\\\\\",\\\\n \\\\\\"Pod CPU使用率检测\\\\\\"\\\\n ],\\\\n \\\\\\"错误\\\\\\": [\\\\n \\\\\\"Pod CPU限流检测\\\\\\",\\\\n \\\\\\"Pod OOM事件检测\\\\\\"\\\\n ]\\\\n }\\\\n}\\"\\n}","type":"json"}]', + 'title' => '获取告警异常项列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:ListAlertItems', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + ], + 'ListAlertStrategies' => [ + 'path' => '/api/v1/alertPusher/alert/listStrategies', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], ], 'parameters' => [ [ - 'name' => 'cluster', + 'name' => 'maxResults', 'in' => 'query', - 'schema' => [ - 'description' => '集群id', - 'type' => 'string', - 'required' => false, - 'example' => '2ijff4be-bf24-4070-89ca-c47c879b0g32', - ], + 'schema' => ['description' => '一次获取的最大记录数。', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '20'], ], [ - 'name' => 'instance', + 'name' => 'nextToken', 'in' => 'query', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], + 'schema' => ['description' => '下一次请求的分页token。', 'type' => 'string', 'required' => false, 'example' => 'c2f78a783f49457caba6bace6f6f79e4'], ], [ - 'name' => 'start', + 'name' => 'current', 'in' => 'query', - 'schema' => [ - 'description' => '开始时间', - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '1725797727754', - ], + 'schema' => ['description' => '当前页码(从1开始)', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], ], [ - 'name' => 'end', + 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '结束时间', - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '1725801327754', - ], + 'schema' => ['description' => '每页大小', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'name', + 'in' => 'query', + 'schema' => ['description' => '告警策略名称', 'type' => 'string', 'required' => false, 'example' => 'strategy1'], ], ], 'responses' => [ @@ -7932,120 +5168,161 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'result: code=1 msg=(Request failed, status_code != 200)', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'success'], 'data' => [ - 'description' => '返回数据。', + 'description' => '返回结果。', 'type' => 'array', 'items' => [ - 'description' => '返回数据。', + 'description' => '返回的告警策略列表', 'type' => 'object', 'properties' => [ - 'type' => [ - 'description' => '异常项类型', - 'type' => 'string', - 'enumValueTitles' => [ - '饱和度' => 'saturation', - '错误' => 'error', - '延时' => 'latency', - '负载' => 'load', + 'uid' => ['description' => '用户ID', 'type' => 'string', 'example' => '1880327028143673'], + 'createdAt' => ['description' => '创建时间。', 'type' => 'string', 'example' => '1753669116286'], + 'name' => ['description' => '策略名称', 'type' => 'string', 'example' => 'strategy1'], + 'id' => ['description' => '策略ID', 'type' => 'integer', 'format' => 'int64', 'example' => '1'], + 'strategy' => [ + 'description' => '告警策略详情', + 'type' => 'object', + 'properties' => [ + 'items' => [ + 'description' => '接收告警的异常项列表', + 'type' => 'array', + 'items' => ['description' => '异常项名称', 'type' => 'string', 'example' => 'Pod OOM事件检测'], + ], + 'clusters' => [ + 'description' => '接收告警的集群合集', + 'type' => 'array', + 'items' => ['description' => '集群名称', 'type' => 'string', 'example' => 'cluster1'], + ], + 'destinations' => [ + 'type' => 'array', + 'items' => ['type' => 'integer', 'format' => 'int32'], + ], ], - 'example' => 'saturation', - ], - 'value' => [ - 'description' => '异常类型数量', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '5', ], + 'enabled' => ['description' => '告警策略是否生效', 'type' => 'boolean', 'example' => 'false'], + 'updatedAt' => ['description' => '更新时间', 'type' => 'integer', 'format' => 'int64', 'example' => '1753237017710'], + 'k8sLabel' => ['type' => 'boolean', 'description' => ''], ], ], ], - 'total' => [ - 'description' => '总数据量。', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '19', - ], - 'request_id' => [ - 'description' => '请求 RequestId', - 'type' => 'string', - 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0', - ], + 'total' => ['description' => '总记录数', 'type' => 'integer', 'format' => 'int64', 'example' => '92'], + 'nextToken' => ['description' => '下一次请求的分页token。', 'type' => 'string', 'example' => 'c2f78a783f49457caba6bace6f6f79e4'], + 'maxResults' => ['description' => '最大返回数量', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '获取告警策略列表', + 'summary' => '用于获取用户所有推送告警的策略', + 'changeSet' => [ + ['createdAt' => '2025-11-03T02:34:05.000Z', 'description' => '响应参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"result: code=1 msg=(Request failed, status_code != 200)\\",\\n \\"data\\": [\\n {\\n \\"type\\": \\"saturation\\",\\n \\"value\\": 5\\n }\\n ],\\n \\"total\\": 19,\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\"\\n}","type":"json"}]', - 'title' => '获取异常问题占比', - ], - 'GetInstantScore' => [ - 'summary' => '获取实时集群/节点健康度分数', - 'path' => '/api/v1/openapi/cluster_health/instant/score', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListAlertStrategies', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": [\\n {\\n \\"uid\\": \\"1880327028143673\\",\\n \\"createdAt\\": \\"1753669116286\\",\\n \\"name\\": \\"strategy1\\",\\n \\"id\\": 1,\\n \\"strategy\\": {\\n \\"items\\": [\\n \\"Pod OOM事件检测\\"\\n ],\\n \\"clusters\\": [\\n \\"cluster1\\"\\n ],\\n \\"destinations\\": [\\n 0\\n ]\\n },\\n \\"enabled\\": false,\\n \\"updatedAt\\": 1753237017710,\\n \\"k8sLabel\\": true\\n }\\n ],\\n \\"total\\": 92,\\n \\"nextToken\\": \\"c2f78a783f49457caba6bace6f6f79e4\\",\\n \\"maxResults\\": 20\\n}","type":"json"}]', + ], + 'ListAllInstances' => [ + 'summary' => '此接口用于获取已纳管/未纳管实例列表并带有实例信息', + 'path' => '/api/v1/am/instance/listAllInstances', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '230346', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], ], 'parameters' => [ [ - 'name' => 'cluster', + 'name' => 'region', + 'in' => 'query', + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-hangzhou'], + ], + [ + 'name' => 'instanceType', 'in' => 'query', 'schema' => [ - 'description' => '集群id', + 'description' => '实例类型。', 'type' => 'string', 'required' => false, - 'example' => '2ijff4be-bf24-4070-89ca-c47c879b0g32', + 'example' => 'ecs', + 'default' => 'all', + 'enum' => ['ecs', 'eflo', 'all'], ], ], [ - 'name' => 'instance', + 'name' => 'managedType', 'in' => 'query', 'schema' => [ - 'description' => '实例ID。', + 'description' => '纳管类型', 'type' => 'string', 'required' => false, - 'example' => 'i-wz9d00ut2ska3mlyhn6j', + 'example' => 'managed', + 'enum' => ['managed', 'unmanaged', 'install', 'uninstall', 'upgrade', 'all'], ], ], + [ + 'name' => 'filters', + 'in' => 'query', + 'schema' => ['description' => '过滤信息列表', 'type' => 'string', 'required' => false, 'example' => '{}'], + ], + [ + 'name' => 'current', + 'in' => 'query', + 'schema' => ['description' => '当前所在分页', 'type' => 'string', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '每页返回数目,默认 pageSize=10', 'type' => 'string', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'pluginId', + 'in' => 'query', + 'schema' => ['description' => '插件ID', 'type' => 'string', 'required' => false, 'example' => '01fc4a0b-f199-4885-9861-b4054a310fe7'], + ], + [ + 'name' => 'maxResults', + 'in' => 'query', + 'schema' => ['description' => '一次获取的最大记录数', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '100'], + ], + [ + 'name' => 'nextToken', + 'in' => 'query', + 'schema' => ['description' => '分页游标。'."\n" + .'> 如果该参数不为空,表示还有更多数据。', 'type' => 'string', 'required' => false, 'example' => 'U+w1wv2R4ZWR5oZLXD0+Dp4dD+2BRJj42DLT6GrZysw='], + ], ], 'responses' => [ 200 => [ @@ -8054,149 +5331,150 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'title' => '资源一级ID', - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'required' => false, - 'example' => 'Success', - 'pattern' => '^[a-zA-Z._-]+$', - 'default' => '', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'Query no data', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'instance not exists'], + 'total' => ['description' => '查询结果总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], 'data' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'saturation' => [ - 'description' => '饱和度分', - 'type' => 'number', - 'format' => 'float', - 'example' => '100', - ], - 'latency' => [ - 'description' => '延时分', - 'type' => 'number', - 'format' => 'float', - 'example' => '100', - ], - 'load' => [ - 'description' => '负载分', - 'type' => 'number', - 'format' => 'float', - 'example' => '100', - ], - 'error' => [ - 'description' => '错误分', - 'type' => 'number', - 'format' => 'float', - 'example' => '100', - ], - 'total' => [ - 'description' => '总分', - 'type' => 'number', - 'format' => 'float', - 'example' => '100', + 'description' => '返回数据', + 'type' => 'array', + 'items' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'instanceId' => ['description' => '实例ID', 'type' => 'string', 'example' => 'i-bp17uabeke9v7n30abm2'], + 'osHealthScore' => ['description' => '操作系统健康分', 'type' => 'integer', 'format' => 'int32', 'example' => '100'], + 'resourceGroupName' => ['description' => '资源组名称', 'type' => 'string', 'example' => 'xxxx'], + 'instanceName' => ['description' => '实例名称。', 'type' => 'string', 'example' => 'test'], + 'installType' => ['description' => '安装类型', 'type' => 'string', 'example' => 'console'], + 'instanceType' => ['description' => '实例类型', 'type' => 'string', 'example' => 'ecs'], + 'installLevel' => ['description' => '安装级别', 'type' => 'string', 'example' => 'Cluster'], + 'attributes' => [ + 'description' => '扩展信息。', + 'type' => 'array', + 'items' => [ + 'description' => '扩展信息。', + 'type' => 'object', + 'properties' => [ + 'infoValue' => ['description' => '信息值', 'type' => 'string', 'example' => 'diagnosis'], + 'infoType' => ['description' => '信息类型', 'type' => 'string', 'example' => 'instance_tag'], + 'infoKey' => ['description' => '信息键', 'type' => 'string', 'example' => 'sysom'], + ], + ], + ], + 'resourceGroupId' => ['description' => '资源组ID。', 'type' => 'string', 'example' => '3b24a621-acb3-11ef-8c90-00163e1029af'], + 'osName' => ['description' => '操作系统名称', 'type' => 'string', 'example' => 'alios'], + 'status' => ['description' => '实例的运行状态,取值:'."\n" + .'- **Running**:正在运行'."\n" + .'- **Offline**:离线'."\n" + ."\n\n" + ."\n" + .'> 处于 Offline 状态的实例代表节点到 SysOM 服务端的心跳丢失,并不代表对应的 ECS 实例没有运行。', 'type' => 'string', 'example' => 'Running'], + 'clusterId' => ['description' => '集群id', 'type' => 'string', 'example' => '3b24a621-acb3-11ef-8c90-00163e1029af'], + 'osArch' => ['description' => '操作系统架构', 'type' => 'string', 'example' => 'x86_64'], + 'kernelVersion' => ['description' => '内核版本', 'type' => 'string', 'example' => '5.10.134-18.al8.x86_64'], + 'imageId' => ['description' => '镜像ID。', 'type' => 'string', 'example' => 'aliyun_3_x64_20G_alibase_20250117.vhd'], + 'manageType' => ['description' => '纳管类型', 'type' => 'string', 'example' => 'managed'], + 'manageLevel' => ['description' => '纳管级别', 'type' => 'string', 'example' => 'cluster'], + 'clusterName' => ['description' => '集群名称', 'type' => 'string', 'example' => 'zjk_vpc_domain_1'], + 'publicIp' => ['description' => '公网IP地址。', 'type' => 'string', 'example' => '47.98.215.58'], + 'privateIp' => ['description' => '私网IP地址。', 'type' => 'string', 'example' => '172.21.172.7'], + 'agentConfigId' => ['description' => 'agent配置ID', 'type' => 'string', 'example' => 'test_id'], + 'agentConfigName' => ['description' => 'agent配置名称', 'type' => 'string', 'example' => 'test_name'], ], ], ], - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], + 'maxResults' => ['description' => '最大返回数量', 'type' => 'integer', 'format' => 'int32', 'example' => '20'], + 'nextToken' => ['description' => '分页游标。'."\n" + ."\n" + .'> 不为空表示有更多数据。', 'type' => 'string', 'example' => 'c2f78a783f49457caba6bace6f6f79e4'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"Query no data\\",\\n \\"data\\": {\\n \\"saturation\\": 100,\\n \\"latency\\": 100,\\n \\"load\\": 100,\\n \\"error\\": 100,\\n \\"total\\": 100\\n },\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\"\\n}","type":"json"}]', - 'title' => '获取实时集群/节点健康度分数', - ], - 'GetHealthPercentage' => [ - 'summary' => '获取一段时间内节点/Pod健康状态占比', - 'path' => '/api/v1/openapi/cluster_health/range/health_percentage', - 'methods' => [ - 'get', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Sysom.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message. %s.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ], ], - 'schemes' => [ - 'https', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"instance not exists\\",\\n \\"total\\": 2,\\n \\"data\\": [\\n {\\n \\"instanceId\\": \\"i-bp17uabeke9v7n30abm2\\",\\n \\"osHealthScore\\": 100,\\n \\"resourceGroupName\\": \\"xxxx\\",\\n \\"instanceName\\": \\"test\\",\\n \\"installType\\": \\"console\\",\\n \\"instanceType\\": \\"ecs\\",\\n \\"installLevel\\": \\"Cluster\\",\\n \\"attributes\\": [\\n {\\n \\"infoValue\\": \\"diagnosis\\",\\n \\"infoType\\": \\"instance_tag\\",\\n \\"infoKey\\": \\"sysom\\"\\n }\\n ],\\n \\"resourceGroupId\\": \\"3b24a621-acb3-11ef-8c90-00163e1029af\\",\\n \\"osName\\": \\"alios\\",\\n \\"status\\": \\"Running\\",\\n \\"clusterId\\": \\"3b24a621-acb3-11ef-8c90-00163e1029af\\",\\n \\"osArch\\": \\"x86_64\\",\\n \\"kernelVersion\\": \\"5.10.134-18.al8.x86_64\\",\\n \\"imageId\\": \\"aliyun_3_x64_20G_alibase_20250117.vhd\\",\\n \\"manageType\\": \\"managed\\",\\n \\"manageLevel\\": \\"cluster\\",\\n \\"clusterName\\": \\"zjk_vpc_domain_1\\",\\n \\"publicIp\\": \\"47.98.215.58\\",\\n \\"privateIp\\": \\"172.21.172.7\\",\\n \\"agentConfigId\\": \\"test_id\\",\\n \\"agentConfigName\\": \\"test_name\\"\\n }\\n ],\\n \\"maxResults\\": 20,\\n \\"nextToken\\": \\"c2f78a783f49457caba6bace6f6f79e4\\"\\n}","type":"json"}]', + 'title' => '获取所有实例及其完整信息', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListAllInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListClusterAgentInstallRecords' => [ + 'summary' => '获取集群组件安装记录', + 'path' => '/api/v1/am/agent/list_cluster_agent_install_list', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '230371', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeCode' => '253443', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'cluster', + 'name' => 'current', 'in' => 'query', - 'schema' => [ - 'description' => '集群id', - 'type' => 'string', - 'required' => false, - 'example' => '2ijff4be-bf24-4070-89ca-c47c879b0g32', - ], + 'schema' => ['description' => '当前页码(从1开始)', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], ], [ - 'name' => 'instance', + 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], + 'schema' => ['description' => '每页大小', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], ], [ - 'name' => 'start', + 'name' => 'cluster_id', 'in' => 'query', - 'schema' => [ - 'description' => '开始时间', - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '1725797727754', - ], + 'schema' => ['description' => '通过集群 ID 过滤'."\n" + ."\n" + .'> 这个集群ID不是 ACK 集群ID,而是通过本接口返回的数据里面的 `cluster_id` 字段,或者 ListCluster 接口返回数据中的 `id` 字段。', 'type' => 'string', 'required' => false, 'example' => 'cbd80af02b9d6454ebdc579c5e022d0c8'], ], [ - 'name' => 'end', + 'name' => 'plugin_id', 'in' => 'query', - 'schema' => [ - 'description' => '结束时间', - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '1725801327754', - ], + 'schema' => ['description' => '指定本参数则过滤出指定Agent的安装列表,可以搭配 plugin_version 参数使用', 'type' => 'string', 'required' => false, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + ], + [ + 'name' => 'plugin_version', + 'in' => 'query', + 'schema' => ['description' => '不可单独使用,搭配 plugin_id 使用,用于过滤出指定Agent指定版本的安装列表', 'type' => 'string', 'required' => false, 'example' => '3.4.0-1'], + ], + [ + 'name' => 'agent_config_id', + 'in' => 'query', + 'schema' => ['type' => 'string', 'required' => false, 'description' => ''], ], ], 'responses' => [ @@ -8206,42 +5484,32 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'SysomOpenAPI.ServerError'."\n", - ], - 'message' => [ - 'description' => '错误详情'."\n", - 'type' => 'string', - 'example' => '""', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => "\n" + .'success'], + 'total' => ['description' => '查询结果总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '42'], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7'], 'data' => [ - 'description' => '返回数据。', + 'description' => '返回结果。', 'type' => 'array', 'items' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'type' => [ - 'description' => '节点/Pod的健康等级', - 'type' => 'string', - 'enumValueTitles' => [ - '不健康' => 'warning', - '健康' => 'health', - '亚健康' => 'potential', - '严重不健康' => 'error', - ], - 'example' => 'health', - ], - 'value' => [ - 'description' => '数量', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], + 'cluster_id' => ['description' => '集群ID。'."\n" + ."\n" + .'> 这个集群ID不是 ACK 集群ID', 'type' => 'string', 'example' => 'cbf7a37bc905d4682a3338b3744810269'], + 'plugin_id' => ['description' => '组件ID'."\n", 'type' => 'string', 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + 'plugin_version' => ['description' => '插件版本'."\n", 'type' => 'string', 'example' => '3.4.0-1'], + 'created_at' => ['description' => '创建时间', 'type' => 'string', 'example' => '2024-12-25T15:08:19'], + 'updated_at' => ['description' => '修改时间', 'type' => 'string', 'example' => '2024-12-25T15:08:19'], + 'grayscale_config' => ['title' => '灰度配置', 'description' => '灰度配置', 'type' => 'string', 'example' => '{}'], + 'agent_config_id' => ['type' => 'string', 'description' => ''], + 'agent_config_name' => ['type' => 'string', 'description' => ''], ], ], ], @@ -8249,135 +5517,107 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\nsuccess\\",\\n \\"total\\": 42,\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\",\\n \\"data\\": [\\n {\\n \\"cluster_id\\": \\"cbf7a37bc905d4682a3338b3744810269\\",\\n \\"plugin_id\\": \\"74a86327-3170-412c-8e67-da3389ec56a9\\",\\n \\"plugin_version\\": \\"3.4.0-1\\",\\n \\"created_at\\": \\"2024-12-25T15:08:19\\",\\n \\"updated_at\\": \\"2024-12-25T15:08:19\\",\\n \\"grayscale_config\\": \\"{}\\",\\n \\"agent_config_id\\": \\"\\",\\n \\"agent_config_name\\": \\"\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '获取 ACK 集群组件安装记录', + 'changeSet' => [ + ['createdAt' => '2025-06-30T14:50:09.000Z', 'description' => '请求参数发生变更、响应参数发生变更'], + ['createdAt' => '2025-02-11T02:32:57.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListClusterAgentInstallRecords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"SysomOpenAPI.ServerError\\\\n\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": [\\n {\\n \\"type\\": \\"health\\",\\n \\"value\\": 1\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取节点/Pod健康状态占比', ], - 'GetAbnormalEventsCount' => [ - 'summary' => '获取节点/Pod不同等级未处理(未诊断)异常事件的数量', - 'path' => '/api/v1/openapi/cluster_health/range/abnormaly_events_count', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'ListClusters' => [ + 'summary' => '获取当前用户所有已纳管的集群', + 'path' => '/api/v1/am/cluster/list_clusters', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeCode' => '237718', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeCode' => '253340', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'cluster', + 'name' => 'current', 'in' => 'query', - 'schema' => [ - 'description' => '集群id', - 'type' => 'string', - 'required' => false, - 'example' => '2ijff4be-bf24-4070-89ca-c47c879b0g32', - ], + 'schema' => ['title' => '', 'description' => '当前页数(从第1页开始)', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], ], [ - 'name' => 'instance', + 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], + 'schema' => ['description' => '每页大小', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], ], [ - 'name' => 'pod', + 'name' => 'name', 'in' => 'query', - 'schema' => [ - 'description' => 'pod名称', - 'type' => 'string', - 'required' => false, - 'example' => 'test-pod', - ], + 'schema' => ['description' => '通过插件的名字过滤插件', 'type' => 'string', 'required' => false, 'example' => 'proxy-next-upstream'], ], [ - 'name' => 'namespace', - 'in' => 'query', - 'schema' => [ - 'description' => 'Pod所在的命名空间', - 'type' => 'string', - 'required' => false, - 'example' => 'default', - ], - ], - [ - 'name' => 'start', + 'name' => 'cluster_id', 'in' => 'query', - 'schema' => [ - 'description' => '起始时间', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '1725797727754', - ], + 'schema' => ['description' => '通过集群 ID 过滤'."\n" + ."\n" + .'> 这个集群ID不是 ACK 集群ID,而是通过本接口返回的数据里面的 `id` 字段', 'type' => 'string', 'required' => false, 'example' => 'cb7d4cc26c8f845fb8a8255ffd394820e'], ], [ - 'name' => 'end', + 'name' => 'cluster_status', 'in' => 'query', 'schema' => [ - 'description' => '结束时间', - 'type' => 'number', - 'format' => 'float', + 'description' => '- `Running` : 集群纳管正常;'."\n" + .'- `Installing`: 集群有安装任务正在进行;'."\n" + .'- `Uninstalling`: 集群有卸载任务正在进行;'."\n" + .'- `Upgrading`: 集群有更新任务正在进行;'."\n" + .'- `Offline`: 集群离线,纳管异常。', + 'type' => 'string', 'required' => false, - 'example' => '1725801327754', + 'example' => 'Running', + 'enum' => ['Running', 'Installing', 'Uninstalling', 'Upgrading', 'Offline'], ], ], [ - 'name' => 'showPod', + 'name' => 'cluster_type', 'in' => 'query', 'schema' => [ - 'description' => '是否展示Pod的异常事件', - 'type' => 'integer', - 'format' => 'int32', + 'description' => '- `ACK`: ACK 集群'."\n" + .'- `CUSTOM`: 自定义集群(默认集群属于自定义集群)', + 'type' => 'string', 'required' => false, - 'enumValueTitles' => [ - '不展示' => '0', - '展示' => '1', - ], - 'example' => '1', + 'example' => 'ACK', + 'enum' => ['ACK', 'CUSTOM'], ], ], [ - 'name' => 'level', + 'name' => 'id', 'in' => 'query', - 'schema' => [ - 'description' => '异常事件的等级', - 'type' => 'string', - 'required' => false, - 'enumValueTitles' => [ - 'warning' => 'warning', - 'error' => 'error', - 'potential' => 'potential', - ], - 'example' => 'potential', - ], + 'schema' => ['description' => '本字段已废弃,请使用 cluster_id 字段过滤', 'type' => 'string', 'required' => false, 'example' => 'cb7d4cc26c8f845fb8a8255ffd394820e'], ], ], 'responses' => [ @@ -8387,48 +5627,42 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '响应码。', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '当success为false时,该值不为空,表示业务错误信息', - 'type' => 'string', - 'example' => 'result: code=1 msg=(Request failed, status_code != 200)', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'success'], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7'], + 'total' => ['description' => '总记录数', 'type' => 'integer', 'format' => 'int64', 'example' => '64'], 'data' => [ - 'description' => '返回数据。', + 'description' => '返回数据', 'type' => 'array', 'items' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'type' => [ - 'description' => '异常类型', + 'id' => ['description' => '集群ID', 'type' => 'string', 'example' => '5389fba5-92a1-4ff4-9b26-773b97828144'], + 'name' => ['description' => '集群名称', 'type' => 'string', 'example' => 'auto-name-sbvCT'], + 'cluster_id' => ['description' => '实际集群ID。'."\n" + ."\n" + .'> - 对于 `ACK` 类型的集群,这个集群ID为 ACK 集群的ID;'."\n" + .'> - 对于 `CUSTOM` 类型的集群,这个集群ID作为唯一标识,没有其它额外含义。', 'type' => 'string', 'example' => 'c666d4774f0e2440b979bf917bf100e40'], + 'cluster_type' => [ + 'description' => '- `ACK`: ACK 集群'."\n" + .'- `CUSTOM`: 自定义集群(默认集群属于自定义集群)', 'type' => 'string', - 'enumValueTitles' => [ - '"potential"' => 'potential', - '"error"' => 'error', - '"warning"' => 'warning', - ], - 'example' => 'health', - ], - 'value' => [ - 'description' => '异常类型数量', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '1', - ], - 'eventList' => [ - 'description' => '异常事件列表', - 'type' => 'array', - 'items' => [ - 'description' => '异常事件名称', - 'type' => 'string', - 'example' => '节点根文件系统使用检测', - ], - ], + 'example' => 'ACK', + 'enum' => ['ACK', 'CUSTOM'], + ], + 'region' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'cluster_status' => ['description' => '- `Running` : 集群纳管正常;'."\n" + .'- `Installing`: 集群有安装任务正在进行;'."\n" + .'- `Uninstalling`: 集群有卸载任务正在进行;'."\n" + .'- `Upgrading`: 集群有更新任务正在进行;'."\n" + .'- `Offline`: 集群离线,纳管异常。', 'type' => 'string', 'example' => 'Running'], + 'created_at' => ['description' => '创建时间', 'type' => 'string', 'example' => '2024-12-25T15:08:19'], + 'updated_at' => ['description' => '更新时间', 'type' => 'string', 'example' => '2024-12-25T15:08:19'], ], ], ], @@ -8436,103 +5670,74 @@ ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\",\\n \\"total\\": 64,\\n \\"data\\": [\\n {\\n \\"id\\": \\"5389fba5-92a1-4ff4-9b26-773b97828144\\",\\n \\"name\\": \\"auto-name-sbvCT\\",\\n \\"cluster_id\\": \\"c666d4774f0e2440b979bf917bf100e40\\",\\n \\"cluster_type\\": \\"ACK\\",\\n \\"region\\": \\"cn-hangzhou\\",\\n \\"cluster_status\\": \\"Running\\",\\n \\"created_at\\": \\"2024-12-25T15:08:19\\",\\n \\"updated_at\\": \\"2024-12-25T15:08:19\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '获取当前用户纳管集群列表', + 'changeSet' => [], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListClusters', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"result: code=1 msg=(Request failed, status_code != 200)\\",\\n \\"data\\": [\\n {\\n \\"type\\": \\"health\\",\\n \\"value\\": 1,\\n \\"eventList\\": [\\n \\"节点根文件系统使用检测\\"\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取异常事件的数量', ], 'ListDiagnosis' => [ 'summary' => '获取诊断历史记录列表。', 'path' => '/api/v1/openapi/diagnosis/list_diagnosis', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], ], 'parameters' => [ [ 'name' => 'current', 'in' => 'query', - 'schema' => [ - 'title' => '当前页数', - 'description' => '当前页数', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1', - ], + 'schema' => ['title' => '当前页数', 'description' => '当前页数', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], ], [ 'name' => 'pageSize', 'in' => 'query', - 'schema' => [ - 'title' => '每页大小', - 'description' => '每页大小', - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '10', - ], + 'schema' => ['title' => '每页大小', 'description' => '每页大小', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], ], [ 'name' => 'service_name', 'in' => 'query', - 'schema' => [ - 'title' => '诊断类型', - 'description' => '诊断类型', - 'type' => 'string', - 'required' => false, - 'example' => 'memgraph', - ], + 'schema' => ['title' => '诊断类型', 'description' => '诊断类型', 'type' => 'string', 'required' => false, 'example' => 'memgraph'], ], [ 'name' => 'params', 'in' => 'query', - 'schema' => [ - 'description' => '诊断参数,不同类型的诊断要求传递不同的诊断参数,可以使用本字段过滤出参数符合为指定值的记录。', - 'type' => 'string', - 'required' => false, - 'example' => '[{\\"key\\":\\"region\\",\\"value\\":\\"cn-beijing\\"}]', - ], + 'schema' => ['description' => '诊断参数,不同类型的诊断要求传递不同的诊断参数,可以使用本字段过滤出参数符合为指定值的记录。', 'type' => 'string', 'required' => false, 'example' => '[{\\"key\\":\\"region\\",\\"value\\":\\"cn-beijing\\"}]'], ], [ 'name' => 'status', 'in' => 'query', - 'schema' => [ - 'title' => '诊断状态'."\n", - 'description' => '诊断任务执行状态。'."\n" - .'取值:'."\n" - .'- **Ready**:就绪'."\n" - .'- **Running**:正在执行'."\n" - .'- **Success**:执行成功'."\n" - .'- **Fail**:执行失败', - 'type' => 'string', - 'required' => false, - 'example' => 'Running', - ], + 'schema' => ['title' => '诊断状态'."\n", 'description' => '诊断任务执行状态。'."\n" + .'取值:'."\n" + .'- **Ready**:就绪'."\n" + .'- **Running**:正在执行'."\n" + .'- **Success**:执行成功'."\n" + .'- **Fail**:执行失败', 'type' => 'string', 'required' => false, 'example' => 'Running'], ], ], 'responses' => [ @@ -8542,23 +5747,12 @@ 'description' => '响应数据', 'type' => 'object', 'properties' => [ - 'code' => [ - 'title' => '状态码'."\n", - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'title' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕', - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'required' => true, - 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom', - ], + 'code' => ['title' => '状态码'."\n", 'description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['title' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕', 'description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'required' => true, 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], 'data' => [ 'description' => '返回数据', 'type' => 'array', @@ -8566,426 +5760,15 @@ 'description' => '一条分析记录的返回对象', 'type' => 'object', 'properties' => [ - 'task_id' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'grcuU21a', - ], - 'status' => [ - 'description' => '诊断任务执行状态。'."\n" - .'取值:'."\n" - .'- **Ready**:就绪'."\n" - .'- **Running**:正在执行'."\n" - .'- **Success**:执行成功'."\n" - .'- **Fail**:执行失败', - 'type' => 'string', - 'example' => 'Running', - ], - 'service_name' => [ - 'description' => '诊断类型', - 'type' => 'string', - 'example' => 'memgraph', - ], - 'command' => [ - 'description' => '诊断命令', - 'type' => 'any', - 'example' => '{'."\n" - .' "jobs":['."\n" - .' {'."\n" - .' "cmd":"mkdir -p /var/log/sysak && sysak podmem -r 100 -a -j /var/log/sysak/podmem.json > /dev/null 2>&1 && cat /var/log/sysak/podmem.json",'."\n" - .' "instance":"172.20.12.174",'."\n" - .' "fetch_file_list":['."\n" - ."\n" - .' ]'."\n" - .' }'."\n" - .' ],'."\n" - .' "in_order":true,'."\n" - .' "offline_mode":false,'."\n" - .' "offline_results":['."\n" - ."\n" - .' ]'."\n" - .'}', - ], - 'params' => [ - 'description' => '诊断参数', - 'type' => 'any', - 'example' => '{'."\n" - .' "type":"all",'."\n" - .' "value":"",'."\n" - .' "channel":"ssh",'."\n" - .' "instance":"172.1.2.174",'."\n" - .' "service_name":"filecache"'."\n" - .'}', - ], - 'code' => [ - 'description' => '诊断错误码,0代表没有错误', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'err_msg' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'Diagnosis failed', - ], - 'result' => [ - 'description' => '诊断结果', - 'type' => 'any', - 'example' => '{'."\n" - .' "summary":" memory cgroup leak",'."\n" - .' "dataMemEvent":{'."\n" - .' "data":['."\n" - .' {'."\n" - .' "key":"Util",'."\n" - .' "value":20'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"MemLeak",'."\n" - .' "value":"OK"'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"MemcgLeak",'."\n" - .' "value":"NG"'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"MemFrag",'."\n" - .' "value":"OK"'."\n" - .' }'."\n" - .' ]'."\n" - .' },'."\n" - .' "dataMemOverView":{'."\n" - .' "data":['."\n" - .' {'."\n" - .' "key":"app",'."\n" - .' "value":10937332'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"free",'."\n" - .' "value":806800'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"kernel",'."\n" - .' "value":4527660'."\n" - .' }'."\n" - .' ]'."\n" - .' },'."\n" - .' "dataKerMem":{'."\n" - .' "data":['."\n" - .' {'."\n" - .' "key":"SReclaimable",'."\n" - .' "value":3411292'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"VmallocUsed",'."\n" - .' "value":30980'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"allocPage",'."\n" - .' "value":177732'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"KernelStack",'."\n" - .' "value":9280'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"PageTables",'."\n" - .' "value":38056'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"SUnreclaim",'."\n" - .' "value":170248'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"reserved",'."\n" - .' "value":690072'."\n" - .' }'."\n" - .' ]'."\n" - .' },'."\n" - .' "dataUserMem":{'."\n" - .' "data":['."\n" - .' {'."\n" - .' "key":"filecache",'."\n" - .' "value":8010008'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"anon",'."\n" - .' "value":2468608'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"mlock",'."\n" - .' "value":0'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"huge1G",'."\n" - .' "value":0'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"huge2M",'."\n" - .' "value":0'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"buffers",'."\n" - .' "value":458608'."\n" - .' },'."\n" - .' {'."\n" - .' "key":"shmem",'."\n" - .' "value":2284'."\n" - .' }'."\n" - .' ]'."\n" - .' },'."\n" - .' "dataCacheList":{'."\n" - .' "data":['."\n" - .' {'."\n" - .' "key":0,'."\n" - .' "Name":"/var/lib/mysql/sysom/sys_handler_log.ibd",'."\n" - .' "cached":576764,'."\n" - .' "Task":"mysqld_78575 "'."\n" - .' },'."\n" - .' {'."\n" - .' "key":1,'."\n" - .' "Name":"/var/log/sysom/sysom-migration-access.log",'."\n" - .' "cached":276688,'."\n" - .' "Task":"gunicorn_33647 ,gunicorn_460836 ,gunicorn_559934 ,gunicorn_731758 ,gunicorn_2362682 "'."\n" - .' },'."\n" - .' {'."\n" - .' "key":2,'."\n" - .' "Name":"/var/log/sysom/sysom-rtdemo-access.log",'."\n" - .' "cached":229404,'."\n" - .' "Task":"gunicorn_60718 ,gunicorn_720734 ,gunicorn_722168 "'."\n" - .' },'."\n" - .' {'."\n" - .' "key":3,'."\n" - .' "Name":"/var/log/sysom/sysom-monitor-server-access.log",'."\n" - .' "cached":197368,'."\n" - .' "Task":"gunicorn_33682 ,gunicorn_671155 ,gunicorn_714998 "'."\n" - .' },'."\n" - .' {'."\n" - .' "key":4,'."\n" - .' "Name":"/var/log/sysom/sysom-channel-access.log",'."\n" - .' "cached":180276,'."\n" - .' "Task":"gunicorn_33233 ,gunicorn_499735 ,gunicorn_725497 "'."\n" - .' },'."\n" - .' {'."\n" - .' "key":5,'."\n" - .' "Name":"total cached of close file",'."\n" - .' "cached":3729668,'."\n" - .' "Task":""'."\n" - .' }'."\n" - .' ]'."\n" - .' },'."\n" - .' "dataProcMemList":{'."\n" - .' "data":['."\n" - .' {'."\n" - .' "key":0,'."\n" - .' "task":"mysqld",'."\n" - .' "MemTotal":240856,'."\n" - .' "RssAnon":218248,'."\n" - .' "RssFile":22608'."\n" - .' },'."\n" - .' {'."\n" - .' "key":1,'."\n" - .' "task":"systemd-journal",'."\n" - .' "MemTotal":150248,'."\n" - .' "RssAnon":74300,'."\n" - .' "RssFile":75944'."\n" - .' },'."\n" - .' {'."\n" - .' "key":2,'."\n" - .' "task":"gunicorn",'."\n" - .' "MemTotal":144640,'."\n" - .' "RssAnon":114200,'."\n" - .' "RssFile":30440'."\n" - .' },'."\n" - .' {'."\n" - .' "key":3,'."\n" - .' "task":"gunicorn",'."\n" - .' "MemTotal":141480,'."\n" - .' "RssAnon":111040,'."\n" - .' "RssFile":30440'."\n" - .' },'."\n" - .' {'."\n" - .' "key":4,'."\n" - .' "task":"grafana-server",'."\n" - .' "MemTotal":103660,'."\n" - .' "RssAnon":42732,'."\n" - .' "RssFile":60928'."\n" - .' },'."\n" - .' {'."\n" - .' "key":5,'."\n" - .' "task":"gunicorn",'."\n" - .' "MemTotal":97444,'."\n" - .' "RssAnon":76256,'."\n" - .' "RssFile":21188'."\n" - .' },'."\n" - .' {'."\n" - .' "key":6,'."\n" - .' "task":"gunicorn",'."\n" - .' "MemTotal":97260,'."\n" - .' "RssAnon":76072,'."\n" - .' "RssFile":21188'."\n" - .' },'."\n" - .' {'."\n" - .' "key":7,'."\n" - .' "task":"prometheus",'."\n" - .' "MemTotal":95356,'."\n" - .' "RssAnon":45376,'."\n" - .' "RssFile":49980'."\n" - .' },'."\n" - .' {'."\n" - .' "key":8,'."\n" - .' "task":"gunicorn",'."\n" - .' "MemTotal":90144,'."\n" - .' "RssAnon":76456,'."\n" - .' "RssFile":13688'."\n" - .' },'."\n" - .' {'."\n" - .' "key":9,'."\n" - .' "task":"gunicorn",'."\n" - .' "MemTotal":89796,'."\n" - .' "RssAnon":76108,'."\n" - .' "RssFile":13688'."\n" - .' }'."\n" - .' ]'."\n" - .' }'."\n" - .'}', - ], - 'url' => [ - 'description' => '诊断详情URL', - 'type' => 'string', - 'example' => '/diagnose/detail/qe3Z34sa', - ], - 'created_at' => [ - 'description' => '创建时间', - 'type' => 'string', - 'example' => '2024-12-25T15:08:19', - ], - 'updated_at' => [ - 'description' => '更新时间', - 'type' => 'string', - 'example' => '2024-12-25T15:08:19', - ], - ], - ], - ], - 'total' => [ - 'title' => '总数', - 'description' => '总数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '319', - ], - 'RequestId' => [ - 'description' => '请求ID,可用于全链路诊断', - 'type' => 'string', - 'example' => '44841312-7227-55C9-AE03-D59729BFAE38', - ], - ], - ], - ], - ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": [\\n {\\n \\"task_id\\": \\"grcuU21a\\",\\n \\"status\\": \\"Running\\",\\n \\"service_name\\": \\"memgraph\\",\\n \\"command\\": \\"{\\\\n \\\\\\"jobs\\\\\\":[\\\\n {\\\\n \\\\\\"cmd\\\\\\":\\\\\\"mkdir -p /var/log/sysak && sysak podmem -r 100 -a -j /var/log/sysak/podmem.json > /dev/null 2>&1 && cat /var/log/sysak/podmem.json\\\\\\",\\\\n \\\\\\"instance\\\\\\":\\\\\\"172.20.12.174\\\\\\",\\\\n \\\\\\"fetch_file_list\\\\\\":[\\\\n\\\\n ]\\\\n }\\\\n ],\\\\n \\\\\\"in_order\\\\\\":true,\\\\n \\\\\\"offline_mode\\\\\\":false,\\\\n \\\\\\"offline_results\\\\\\":[\\\\n\\\\n ]\\\\n}\\",\\n \\"params\\": \\"{\\\\n \\\\\\"type\\\\\\":\\\\\\"all\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"\\\\\\",\\\\n \\\\\\"channel\\\\\\":\\\\\\"ssh\\\\\\",\\\\n \\\\\\"instance\\\\\\":\\\\\\"172.1.2.174\\\\\\",\\\\n \\\\\\"service_name\\\\\\":\\\\\\"filecache\\\\\\"\\\\n}\\",\\n \\"code\\": 0,\\n \\"err_msg\\": \\"Diagnosis failed\\",\\n \\"result\\": \\"{\\\\n \\\\\\"summary\\\\\\":\\\\\\" memory cgroup leak\\\\\\",\\\\n \\\\\\"dataMemEvent\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"Util\\\\\\",\\\\n \\\\\\"value\\\\\\":20\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemLeak\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"OK\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemcgLeak\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"NG\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemFrag\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"OK\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataMemOverView\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"app\\\\\\",\\\\n \\\\\\"value\\\\\\":10937332\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"free\\\\\\",\\\\n \\\\\\"value\\\\\\":806800\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"kernel\\\\\\",\\\\n \\\\\\"value\\\\\\":4527660\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataKerMem\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"SReclaimable\\\\\\",\\\\n \\\\\\"value\\\\\\":3411292\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"VmallocUsed\\\\\\",\\\\n \\\\\\"value\\\\\\":30980\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"allocPage\\\\\\",\\\\n \\\\\\"value\\\\\\":177732\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"KernelStack\\\\\\",\\\\n \\\\\\"value\\\\\\":9280\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"PageTables\\\\\\",\\\\n \\\\\\"value\\\\\\":38056\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"SUnreclaim\\\\\\",\\\\n \\\\\\"value\\\\\\":170248\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"reserved\\\\\\",\\\\n \\\\\\"value\\\\\\":690072\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataUserMem\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"filecache\\\\\\",\\\\n \\\\\\"value\\\\\\":8010008\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"anon\\\\\\",\\\\n \\\\\\"value\\\\\\":2468608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"mlock\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"huge1G\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"huge2M\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"buffers\\\\\\",\\\\n \\\\\\"value\\\\\\":458608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"shmem\\\\\\",\\\\n \\\\\\"value\\\\\\":2284\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataCacheList\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":0,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/lib/mysql/sysom/sys_handler_log.ibd\\\\\\",\\\\n \\\\\\"cached\\\\\\":576764,\\\\n \\\\\\"Task\\\\\\":\\\\\\"mysqld_78575 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":1,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-migration-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":276688,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33647 ,gunicorn_460836 ,gunicorn_559934 ,gunicorn_731758 ,gunicorn_2362682 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":2,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-rtdemo-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":229404,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_60718 ,gunicorn_720734 ,gunicorn_722168 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":3,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-monitor-server-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":197368,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33682 ,gunicorn_671155 ,gunicorn_714998 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":4,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-channel-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":180276,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33233 ,gunicorn_499735 ,gunicorn_725497 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":5,\\\\n \\\\\\"Name\\\\\\":\\\\\\"total cached of close file\\\\\\",\\\\n \\\\\\"cached\\\\\\":3729668,\\\\n \\\\\\"Task\\\\\\":\\\\\\"\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataProcMemList\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":0,\\\\n \\\\\\"task\\\\\\":\\\\\\"mysqld\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":240856,\\\\n \\\\\\"RssAnon\\\\\\":218248,\\\\n \\\\\\"RssFile\\\\\\":22608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":1,\\\\n \\\\\\"task\\\\\\":\\\\\\"systemd-journal\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":150248,\\\\n \\\\\\"RssAnon\\\\\\":74300,\\\\n \\\\\\"RssFile\\\\\\":75944\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":2,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":144640,\\\\n \\\\\\"RssAnon\\\\\\":114200,\\\\n \\\\\\"RssFile\\\\\\":30440\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":3,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":141480,\\\\n \\\\\\"RssAnon\\\\\\":111040,\\\\n \\\\\\"RssFile\\\\\\":30440\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":4,\\\\n \\\\\\"task\\\\\\":\\\\\\"grafana-server\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":103660,\\\\n \\\\\\"RssAnon\\\\\\":42732,\\\\n \\\\\\"RssFile\\\\\\":60928\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":5,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":97444,\\\\n \\\\\\"RssAnon\\\\\\":76256,\\\\n \\\\\\"RssFile\\\\\\":21188\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":6,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":97260,\\\\n \\\\\\"RssAnon\\\\\\":76072,\\\\n \\\\\\"RssFile\\\\\\":21188\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":7,\\\\n \\\\\\"task\\\\\\":\\\\\\"prometheus\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":95356,\\\\n \\\\\\"RssAnon\\\\\\":45376,\\\\n \\\\\\"RssFile\\\\\\":49980\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":8,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":90144,\\\\n \\\\\\"RssAnon\\\\\\":76456,\\\\n \\\\\\"RssFile\\\\\\":13688\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":9,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":89796,\\\\n \\\\\\"RssAnon\\\\\\":76108,\\\\n \\\\\\"RssFile\\\\\\":13688\\\\n }\\\\n ]\\\\n }\\\\n}\\",\\n \\"url\\": \\"/diagnose/detail/qe3Z34sa\\",\\n \\"created_at\\": \\"2024-12-25T15:08:19\\",\\n \\"updated_at\\": \\"2024-12-25T15:08:19\\"\\n }\\n ],\\n \\"total\\": 319,\\n \\"RequestId\\": \\"44841312-7227-55C9-AE03-D59729BFAE38\\"\\n}","type":"json"}]', - 'title' => '获取诊断列表', - ], - 'GetDiagnosisResult' => [ - 'summary' => '获取诊断结果。', - 'path' => '/api/v1/openapi/diagnosis/get_diagnosis_results', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', - ], - 'security' => [ - [ - 'AK' => [], - ], - ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', - 'deprecated' => false, - 'systemTags' => [ - 'operationType' => 'get', - 'riskType' => 'none', - 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxV02H6G', - ], - ], - 'parameters' => [ - [ - 'name' => 'task_id', - 'in' => 'query', - 'schema' => [ - 'description' => '诊断任务ID', - 'type' => 'string', - 'required' => true, - 'example' => 'quzuYl23', - ], - ], - ], - 'responses' => [ - 200 => [ - 'schema' => [ - 'title' => 'Schema of Response', - 'description' => 'Schema of Response', - 'type' => 'object', - 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => '""', - ], - 'data' => [ - 'description' => '返回数据。', - 'type' => 'object', - 'properties' => [ - 'task_id' => [ - 'description' => '任务ID。', - 'type' => 'string', - 'example' => 'grcuU21a', - ], - 'status' => [ - 'description' => '诊断任务执行状态。'."\n" + 'task_id' => ['description' => '任务ID。', 'type' => 'string', 'example' => 'grcuU21a'], + 'status' => ['description' => '诊断任务执行状态。'."\n" .'取值:'."\n" .'- **Ready**:就绪'."\n" .'- **Running**:正在执行'."\n" .'- **Success**:执行成功'."\n" - .'- **Fail**:执行失败', - 'type' => 'string', - 'example' => 'Running', - 'enum' => [ - 'Success', - 'Fail', - 'Ready', - 'Running', - ], - ], - 'service_name' => [ - 'description' => '诊断类型', - 'type' => 'string', - 'example' => 'memgraph', - ], - 'command' => [ - 'description' => '诊断命令', - 'type' => 'any', - 'example' => '{'."\n" + .'- **Fail**:执行失败', 'type' => 'string', 'example' => 'Running'], + 'service_name' => ['description' => '诊断类型', 'type' => 'string', 'example' => 'memgraph'], + 'command' => ['description' => '诊断命令', 'type' => 'any', 'example' => '{'."\n" .' "jobs":['."\n" .' {'."\n" .' "cmd":"mkdir -p /var/log/sysak && sysak podmem -r 100 -a -j /var/log/sysak/podmem.json > /dev/null 2>&1 && cat /var/log/sysak/podmem.json",'."\n" @@ -9000,34 +5783,17 @@ .' "offline_results":['."\n" ."\n" .' ]'."\n" - .'}', - ], - 'params' => [ - 'description' => '诊断参数', - 'type' => 'any', - 'example' => '{'."\n" + .'}'], + 'params' => ['description' => '诊断参数', 'type' => 'any', 'example' => '{'."\n" .' "type":"all",'."\n" .' "value":"",'."\n" .' "channel":"ssh",'."\n" .' "instance":"172.1.2.174",'."\n" .' "service_name":"filecache"'."\n" - .'}', - ], - 'code' => [ - 'description' => '错误码(0表示无错误)', - 'type' => 'integer', - 'format' => 'int32', - 'example' => '0', - ], - 'err_msg' => [ - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'Diagnosis failed', - ], - 'result' => [ - 'description' => '诊断结果', - 'type' => 'any', - 'example' => '{'."\n" + .'}'], + 'code' => ['description' => '诊断错误码,0代表没有错误', 'type' => 'integer', 'format' => 'int32', 'example' => '0'], + 'err_msg' => ['description' => '错误信息', 'type' => 'string', 'example' => 'Diagnosis failed'], + 'result' => ['description' => '诊断结果', 'type' => 'any', 'example' => '{'."\n" .' "summary":" memory cgroup leak",'."\n" .' "dataMemEvent":{'."\n" .' "data":['."\n" @@ -9243,127 +6009,214 @@ .' }'."\n" .' ]'."\n" .' }'."\n" - .'}', - ], - 'url' => [ - 'description' => '诊断详情URL', - 'type' => 'string', - 'example' => '/diagnose/detail/qe3Z34sa', - ], - 'created_at' => [ - 'description' => '创建时间', - 'type' => 'string', - 'example' => '2025-12-03 16:30:28', - ], - 'updated_at' => [ - 'description' => '更新时间', - 'type' => 'string', - 'example' => '2025-12-03 16:30:28', + .'}'], + 'url' => ['description' => '诊断详情URL', 'type' => 'string', 'example' => '/diagnose/detail/qe3Z34sa'], + 'created_at' => ['description' => '创建时间', 'type' => 'string', 'example' => '2024-12-25T15:08:19'], + 'updated_at' => ['description' => '更新时间', 'type' => 'string', 'example' => '2024-12-25T15:08:19'], ], ], ], - 'request_id' => [ - 'description' => '请求 RequestId', - 'type' => 'string', - 'example' => '9515E5A0-8905-59B0-9BBF-5F0BE568C3A0', - ], + 'total' => ['title' => '总数', 'description' => '总数', 'type' => 'integer', 'format' => 'int64', 'example' => '319'], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => '44841312-7227-55C9-AE03-D59729BFAE38'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": [\\n {\\n \\"task_id\\": \\"grcuU21a\\",\\n \\"status\\": \\"Running\\",\\n \\"service_name\\": \\"memgraph\\",\\n \\"command\\": \\"{\\\\n \\\\\\"jobs\\\\\\":[\\\\n {\\\\n \\\\\\"cmd\\\\\\":\\\\\\"mkdir -p /var/log/sysak && sysak podmem -r 100 -a -j /var/log/sysak/podmem.json > /dev/null 2>&1 && cat /var/log/sysak/podmem.json\\\\\\",\\\\n \\\\\\"instance\\\\\\":\\\\\\"172.20.12.174\\\\\\",\\\\n \\\\\\"fetch_file_list\\\\\\":[\\\\n\\\\n ]\\\\n }\\\\n ],\\\\n \\\\\\"in_order\\\\\\":true,\\\\n \\\\\\"offline_mode\\\\\\":false,\\\\n \\\\\\"offline_results\\\\\\":[\\\\n\\\\n ]\\\\n}\\",\\n \\"params\\": \\"{\\\\n \\\\\\"type\\\\\\":\\\\\\"all\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"\\\\\\",\\\\n \\\\\\"channel\\\\\\":\\\\\\"ssh\\\\\\",\\\\n \\\\\\"instance\\\\\\":\\\\\\"172.1.2.174\\\\\\",\\\\n \\\\\\"service_name\\\\\\":\\\\\\"filecache\\\\\\"\\\\n}\\",\\n \\"code\\": 0,\\n \\"err_msg\\": \\"Diagnosis failed\\",\\n \\"result\\": \\"{\\\\n \\\\\\"summary\\\\\\":\\\\\\" memory cgroup leak\\\\\\",\\\\n \\\\\\"dataMemEvent\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"Util\\\\\\",\\\\n \\\\\\"value\\\\\\":20\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemLeak\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"OK\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemcgLeak\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"NG\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemFrag\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"OK\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataMemOverView\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"app\\\\\\",\\\\n \\\\\\"value\\\\\\":10937332\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"free\\\\\\",\\\\n \\\\\\"value\\\\\\":806800\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"kernel\\\\\\",\\\\n \\\\\\"value\\\\\\":4527660\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataKerMem\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"SReclaimable\\\\\\",\\\\n \\\\\\"value\\\\\\":3411292\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"VmallocUsed\\\\\\",\\\\n \\\\\\"value\\\\\\":30980\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"allocPage\\\\\\",\\\\n \\\\\\"value\\\\\\":177732\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"KernelStack\\\\\\",\\\\n \\\\\\"value\\\\\\":9280\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"PageTables\\\\\\",\\\\n \\\\\\"value\\\\\\":38056\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"SUnreclaim\\\\\\",\\\\n \\\\\\"value\\\\\\":170248\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"reserved\\\\\\",\\\\n \\\\\\"value\\\\\\":690072\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataUserMem\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"filecache\\\\\\",\\\\n \\\\\\"value\\\\\\":8010008\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"anon\\\\\\",\\\\n \\\\\\"value\\\\\\":2468608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"mlock\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"huge1G\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"huge2M\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"buffers\\\\\\",\\\\n \\\\\\"value\\\\\\":458608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"shmem\\\\\\",\\\\n \\\\\\"value\\\\\\":2284\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataCacheList\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":0,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/lib/mysql/sysom/sys_handler_log.ibd\\\\\\",\\\\n \\\\\\"cached\\\\\\":576764,\\\\n \\\\\\"Task\\\\\\":\\\\\\"mysqld_78575 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":1,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-migration-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":276688,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33647 ,gunicorn_460836 ,gunicorn_559934 ,gunicorn_731758 ,gunicorn_2362682 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":2,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-rtdemo-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":229404,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_60718 ,gunicorn_720734 ,gunicorn_722168 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":3,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-monitor-server-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":197368,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33682 ,gunicorn_671155 ,gunicorn_714998 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":4,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-channel-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":180276,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33233 ,gunicorn_499735 ,gunicorn_725497 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":5,\\\\n \\\\\\"Name\\\\\\":\\\\\\"total cached of close file\\\\\\",\\\\n \\\\\\"cached\\\\\\":3729668,\\\\n \\\\\\"Task\\\\\\":\\\\\\"\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataProcMemList\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":0,\\\\n \\\\\\"task\\\\\\":\\\\\\"mysqld\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":240856,\\\\n \\\\\\"RssAnon\\\\\\":218248,\\\\n \\\\\\"RssFile\\\\\\":22608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":1,\\\\n \\\\\\"task\\\\\\":\\\\\\"systemd-journal\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":150248,\\\\n \\\\\\"RssAnon\\\\\\":74300,\\\\n \\\\\\"RssFile\\\\\\":75944\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":2,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":144640,\\\\n \\\\\\"RssAnon\\\\\\":114200,\\\\n \\\\\\"RssFile\\\\\\":30440\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":3,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":141480,\\\\n \\\\\\"RssAnon\\\\\\":111040,\\\\n \\\\\\"RssFile\\\\\\":30440\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":4,\\\\n \\\\\\"task\\\\\\":\\\\\\"grafana-server\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":103660,\\\\n \\\\\\"RssAnon\\\\\\":42732,\\\\n \\\\\\"RssFile\\\\\\":60928\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":5,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":97444,\\\\n \\\\\\"RssAnon\\\\\\":76256,\\\\n \\\\\\"RssFile\\\\\\":21188\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":6,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":97260,\\\\n \\\\\\"RssAnon\\\\\\":76072,\\\\n \\\\\\"RssFile\\\\\\":21188\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":7,\\\\n \\\\\\"task\\\\\\":\\\\\\"prometheus\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":95356,\\\\n \\\\\\"RssAnon\\\\\\":45376,\\\\n \\\\\\"RssFile\\\\\\":49980\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":8,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":90144,\\\\n \\\\\\"RssAnon\\\\\\":76456,\\\\n \\\\\\"RssFile\\\\\\":13688\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":9,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":89796,\\\\n \\\\\\"RssAnon\\\\\\":76108,\\\\n \\\\\\"RssFile\\\\\\":13688\\\\n }\\\\n ]\\\\n }\\\\n}\\",\\n \\"url\\": \\"/diagnose/detail/qe3Z34sa\\",\\n \\"created_at\\": \\"2024-12-25T15:08:19\\",\\n \\"updated_at\\": \\"2024-12-25T15:08:19\\"\\n }\\n ],\\n \\"total\\": 319,\\n \\"RequestId\\": \\"44841312-7227-55C9-AE03-D59729BFAE38\\"\\n}","type":"json"}]', + 'title' => '获取诊断列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListDiagnosis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": {\\n \\"task_id\\": \\"grcuU21a\\",\\n \\"status\\": \\"Running\\",\\n \\"service_name\\": \\"memgraph\\",\\n \\"command\\": \\"{\\\\n \\\\\\"jobs\\\\\\":[\\\\n {\\\\n \\\\\\"cmd\\\\\\":\\\\\\"mkdir -p /var/log/sysak && sysak podmem -r 100 -a -j /var/log/sysak/podmem.json > /dev/null 2>&1 && cat /var/log/sysak/podmem.json\\\\\\",\\\\n \\\\\\"instance\\\\\\":\\\\\\"172.20.12.174\\\\\\",\\\\n \\\\\\"fetch_file_list\\\\\\":[\\\\n\\\\n ]\\\\n }\\\\n ],\\\\n \\\\\\"in_order\\\\\\":true,\\\\n \\\\\\"offline_mode\\\\\\":false,\\\\n \\\\\\"offline_results\\\\\\":[\\\\n\\\\n ]\\\\n}\\",\\n \\"params\\": \\"{\\\\n \\\\\\"type\\\\\\":\\\\\\"all\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"\\\\\\",\\\\n \\\\\\"channel\\\\\\":\\\\\\"ssh\\\\\\",\\\\n \\\\\\"instance\\\\\\":\\\\\\"172.1.2.174\\\\\\",\\\\n \\\\\\"service_name\\\\\\":\\\\\\"filecache\\\\\\"\\\\n}\\",\\n \\"code\\": 0,\\n \\"err_msg\\": \\"Diagnosis failed\\",\\n \\"result\\": \\"{\\\\n \\\\\\"summary\\\\\\":\\\\\\" memory cgroup leak\\\\\\",\\\\n \\\\\\"dataMemEvent\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"Util\\\\\\",\\\\n \\\\\\"value\\\\\\":20\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemLeak\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"OK\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemcgLeak\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"NG\\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"MemFrag\\\\\\",\\\\n \\\\\\"value\\\\\\":\\\\\\"OK\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataMemOverView\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"app\\\\\\",\\\\n \\\\\\"value\\\\\\":10937332\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"free\\\\\\",\\\\n \\\\\\"value\\\\\\":806800\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"kernel\\\\\\",\\\\n \\\\\\"value\\\\\\":4527660\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataKerMem\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"SReclaimable\\\\\\",\\\\n \\\\\\"value\\\\\\":3411292\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"VmallocUsed\\\\\\",\\\\n \\\\\\"value\\\\\\":30980\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"allocPage\\\\\\",\\\\n \\\\\\"value\\\\\\":177732\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"KernelStack\\\\\\",\\\\n \\\\\\"value\\\\\\":9280\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"PageTables\\\\\\",\\\\n \\\\\\"value\\\\\\":38056\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"SUnreclaim\\\\\\",\\\\n \\\\\\"value\\\\\\":170248\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"reserved\\\\\\",\\\\n \\\\\\"value\\\\\\":690072\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataUserMem\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"filecache\\\\\\",\\\\n \\\\\\"value\\\\\\":8010008\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"anon\\\\\\",\\\\n \\\\\\"value\\\\\\":2468608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"mlock\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"huge1G\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"huge2M\\\\\\",\\\\n \\\\\\"value\\\\\\":0\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"buffers\\\\\\",\\\\n \\\\\\"value\\\\\\":458608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":\\\\\\"shmem\\\\\\",\\\\n \\\\\\"value\\\\\\":2284\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataCacheList\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":0,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/lib/mysql/sysom/sys_handler_log.ibd\\\\\\",\\\\n \\\\\\"cached\\\\\\":576764,\\\\n \\\\\\"Task\\\\\\":\\\\\\"mysqld_78575 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":1,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-migration-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":276688,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33647 ,gunicorn_460836 ,gunicorn_559934 ,gunicorn_731758 ,gunicorn_2362682 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":2,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-rtdemo-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":229404,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_60718 ,gunicorn_720734 ,gunicorn_722168 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":3,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-monitor-server-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":197368,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33682 ,gunicorn_671155 ,gunicorn_714998 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":4,\\\\n \\\\\\"Name\\\\\\":\\\\\\"/var/log/sysom/sysom-channel-access.log\\\\\\",\\\\n \\\\\\"cached\\\\\\":180276,\\\\n \\\\\\"Task\\\\\\":\\\\\\"gunicorn_33233 ,gunicorn_499735 ,gunicorn_725497 \\\\\\"\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":5,\\\\n \\\\\\"Name\\\\\\":\\\\\\"total cached of close file\\\\\\",\\\\n \\\\\\"cached\\\\\\":3729668,\\\\n \\\\\\"Task\\\\\\":\\\\\\"\\\\\\"\\\\n }\\\\n ]\\\\n },\\\\n \\\\\\"dataProcMemList\\\\\\":{\\\\n \\\\\\"data\\\\\\":[\\\\n {\\\\n \\\\\\"key\\\\\\":0,\\\\n \\\\\\"task\\\\\\":\\\\\\"mysqld\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":240856,\\\\n \\\\\\"RssAnon\\\\\\":218248,\\\\n \\\\\\"RssFile\\\\\\":22608\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":1,\\\\n \\\\\\"task\\\\\\":\\\\\\"systemd-journal\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":150248,\\\\n \\\\\\"RssAnon\\\\\\":74300,\\\\n \\\\\\"RssFile\\\\\\":75944\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":2,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":144640,\\\\n \\\\\\"RssAnon\\\\\\":114200,\\\\n \\\\\\"RssFile\\\\\\":30440\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":3,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":141480,\\\\n \\\\\\"RssAnon\\\\\\":111040,\\\\n \\\\\\"RssFile\\\\\\":30440\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":4,\\\\n \\\\\\"task\\\\\\":\\\\\\"grafana-server\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":103660,\\\\n \\\\\\"RssAnon\\\\\\":42732,\\\\n \\\\\\"RssFile\\\\\\":60928\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":5,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":97444,\\\\n \\\\\\"RssAnon\\\\\\":76256,\\\\n \\\\\\"RssFile\\\\\\":21188\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":6,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":97260,\\\\n \\\\\\"RssAnon\\\\\\":76072,\\\\n \\\\\\"RssFile\\\\\\":21188\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":7,\\\\n \\\\\\"task\\\\\\":\\\\\\"prometheus\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":95356,\\\\n \\\\\\"RssAnon\\\\\\":45376,\\\\n \\\\\\"RssFile\\\\\\":49980\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":8,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":90144,\\\\n \\\\\\"RssAnon\\\\\\":76456,\\\\n \\\\\\"RssFile\\\\\\":13688\\\\n },\\\\n {\\\\n \\\\\\"key\\\\\\":9,\\\\n \\\\\\"task\\\\\\":\\\\\\"gunicorn\\\\\\",\\\\n \\\\\\"MemTotal\\\\\\":89796,\\\\n \\\\\\"RssAnon\\\\\\":76108,\\\\n \\\\\\"RssFile\\\\\\":13688\\\\n }\\\\n ]\\\\n }\\\\n}\\",\\n \\"url\\": \\"/diagnose/detail/qe3Z34sa\\",\\n \\"created_at\\": \\"2025-12-03 16:30:28\\",\\n \\"updated_at\\": \\"2025-12-03 16:30:28\\"\\n },\\n \\"request_id\\": \\"9515E5A0-8905-59B0-9BBF-5F0BE568C3A0\\"\\n}","type":"json"}]', - 'title' => '获取诊断结果', - 'description' => '诊断的流程是异步的,因此调用本接口时,诊断可能还在执行没有结束,可以通过返回数据中 `data.status` 字段进行判断,当 `data.status == Success ` 时,表示诊断成功,可以从 `data.result` 中读取到诊断的结果。', ], - 'InvokeDiagnosis' => [ - 'summary' => '发起诊断。', - 'path' => '/api/v1/openapi/diagnosis/invoke_diagnosis', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListInstanceHealth' => [ + 'summary' => '获取一定时间内集群节点/Pod健康度列表', + 'path' => '/api/v1/openapi/cluster_health/range/instance_health_list', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'create', - 'riskType' => 'high', + 'operationType' => 'list', + 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxV02H6G', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + 'name' => 'cluster', + 'in' => 'query', + 'schema' => ['description' => '集群id', 'type' => 'string', 'required' => false, 'example' => '2dc6f3be-bf24-4070-8d3a-c03c26850532'], + ], + [ + 'name' => 'instance', + 'in' => 'query', + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9d00ut2ska3mlyhn6j'], + ], + [ + 'name' => 'start', + 'in' => 'query', + 'schema' => ['description' => '开始时间', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '1725797727754'], + ], + [ + 'name' => 'end', + 'in' => 'query', + 'schema' => ['description' => '结束时间', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '1725801327754'], + ], + [ + 'name' => 'current', + 'in' => 'query', + 'schema' => ['description' => '当前所在分页', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '每页大小,默认值为5,取值范围【1,100】', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '请求体参数', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'service_name' => [ - 'title' => '诊断类型', - 'description' => '诊断类型,用于区分不同类型的诊断', - 'type' => 'string', - 'required' => true, - 'docRequired' => true, - 'enumValueTitles' => [ - 'iofsstat' => 'IO流量分析', - 'iodiagnose' => 'IO一键诊断', - 'oomcheck' => 'OOM诊断', - 'diskanalysis' => '磁盘分析诊断', - 'javamem' => 'Java内存诊断', - 'iolatency' => 'IO时延分析', - 'netjitter' => '网络抖动诊断', - 'loadtask' => '系统负载诊断', - 'vmcore' => '宕机诊断', - 'packetdrop' => '网络丢包诊断', - 'memgraph' => '内存大盘诊断', - ], - 'example' => 'memgraph', - ], - 'channel' => [ - 'title' => '诊断通道,固定为 openapi_cloud_assist', - 'description' => '诊断通道(目前固定为ecs通道)', - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'ecs' => 'ECS通道', + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'SysomOpenAPI.ServerError'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'Query no data'], + 'data' => [ + 'description' => '返回数据。', + 'type' => 'array', + 'items' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'score' => ['description' => '健康分数值。', 'type' => 'number', 'format' => 'float', 'example' => '100'], + 'instance' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'i-wz9d00ut2ska3mlyhn6j'], + 'region_id' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-shanghai'], + 'status' => ['description' => '实例的运行状态,取值:'."\n" + .'- **Running**:正在运行'."\n" + .'- **Offline**:离线'."\n" + ."\n\n" + ."\n" + .'> 处于 Offline 状态的实例代表节点到 SysOM 服务端的心跳丢失,并不代表对应的 ECS 实例没有运行。', 'type' => 'string', 'example' => 'Running'], + 'pod' => ['description' => 'Pod名称', 'type' => 'string', 'example' => 'test-pod'], + 'namespace' => ['description' => 'Pod所在的命名空间', 'type' => 'string', 'example' => 'default'], + 'images' => [ + 'description' => 'Pod中容器的镜像名称列表', + 'type' => 'array', + 'items' => ['description' => '容器镜像名称', 'type' => 'string', 'example' => 'alinux3:latest'], + ], + ], ], - 'example' => 'ecs', - ], - 'params' => [ - 'description' => '诊断参数,不同类型的诊断要求传递不同的诊断参数,每种诊断所需的参数参见下面的请求参数补充说明。'."\n" - ."\n" - .'><notice>请传递 json 格式的字符串></notice>', - 'type' => 'string', - 'required' => true, - 'example' => '{'."\n" - .' "instance": "i-wz9gdv7qmdhusamc4dl01",'."\n" - .' "uid": "xxxxxxxxxxxxxx",'."\n" - .' "region": "cn-shenzhen"'."\n" - .'}', ], + 'total' => ['description' => '查询结果总数。', 'type' => 'integer', 'format' => 'int32', 'example' => '42'], + 'request_id' => ['description' => '请求 RequestId', 'type' => 'string', 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0'], ], + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"message\\": \\"Query no data\\",\\n \\"data\\": [\\n {\\n \\"score\\": 100,\\n \\"instance\\": \\"i-wz9d00ut2ska3mlyhn6j\\",\\n \\"region_id\\": \\"cn-shanghai\\",\\n \\"status\\": \\"Running\\",\\n \\"pod\\": \\"test-pod\\",\\n \\"namespace\\": \\"default\\",\\n \\"images\\": [\\n \\"alinux3:latest\\"\\n ]\\n }\\n ],\\n \\"total\\": 42,\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\"\\n}","type":"json"}]', + 'title' => '获取集群中节点/Pod的健康度列表', + 'changeSet' => [ + ['createdAt' => '2025-03-12T11:06:37.000Z', 'description' => '响应参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListInstanceHealth', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + ], + 'ListInstanceStatus' => [ + 'summary' => '获取实例状态', + 'path' => '/api/v1/am/instance/list_instance_status', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'current', + 'in' => 'query', + 'schema' => ['description' => '页码分页时存在该字段,表示当前页(从1开始)', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '每页返回数目,默认 pageSize=10', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'instance', + 'in' => 'query', + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9b9vucz1iubsz355rh'], + ], + [ + 'name' => 'status', + 'in' => 'query', + 'schema' => [ + 'description' => '根据状态过滤实例列表,如果指定了本字段,将会过出对应状态的实例列表', + 'type' => 'string', 'required' => false, + 'enumValueTitles' => ['Running' => 'Running', 'Offline' => 'Offline'], + 'example' => 'Running', ], ], + [ + 'name' => 'region', + 'in' => 'query', + 'schema' => ['description' => '地域ID。', 'type' => 'string', 'required' => false, 'example' => 'cn-shenzhen'], + ], ], 'responses' => [ 200 => [ @@ -9372,348 +6225,401 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], 'data' => [ - 'description' => '返回结果。', - 'type' => 'object', - 'properties' => [ - 'task_id' => [ - 'description' => '诊断任务ID,可以凭借该ID调用 `GetDiagnosisResult` 接口查询诊断结果', - 'type' => 'string', - 'example' => 'ihqhAcrt', + 'description' => '返回数据', + 'type' => 'array', + 'items' => [ + 'description' => '返回数据', + 'type' => 'object', + 'properties' => [ + 'instance' => ['description' => '实例ID。', 'type' => 'string', 'example' => 'i-wz9d00ut2ska3mlyhn6j'], + 'region' => ['description' => '地域ID。', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'status' => ['description' => '实例的运行状态,取值:'."\n" + .'- **Running**:正在运行'."\n" + .'- **Offline**:离线'."\n" + ."\n\n" + ."\n" + .'> 处于 Offline 状态的实例代表节点到 SysOM 服务端的心跳丢失,并不代表对应的 ECS 实例没有运行。', 'type' => 'string', 'example' => 'Running'], ], ], ], - 'request_id' => [ - 'description' => '请求 RequestId', - 'type' => 'string', - 'example' => '43A910E9-A739-525E-855D-A32C257F1826', - ], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => '5BC79EF5-798B-5499-9683-4E14EBBBF712'], + 'total' => ['description' => '总记录数', 'type' => 'integer', 'format' => 'int64', 'example' => '218'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": [\\n {\\n \\"instance\\": \\"i-wz9d00ut2ska3mlyhn6j\\",\\n \\"region\\": \\"cn-hangzhou\\",\\n \\"status\\": \\"Running\\"\\n }\\n ],\\n \\"RequestId\\": \\"5BC79EF5-798B-5499-9683-4E14EBBBF712\\",\\n \\"total\\": 218\\n}","type":"json"}]', + 'title' => '获取纳管实例状态', + 'description' => '本接口用于获取被 SysOM 纳管的机器列表。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListInstanceStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": {\\n \\"task_id\\": \\"ihqhAcrt\\"\\n },\\n \\"request_id\\": \\"43A910E9-A739-525E-855D-A32C257F1826\\"\\n}","type":"json"}]', - 'title' => '发起诊断', - 'description' => '对目标 ECS 实例进行诊断有如下要求:'."\n" - .'- 目标 ECS 实例状态必须为运行中(Running);'."\n" - .'- 目标 ECS 实例必须已经安装云助手,如果未安装,请参考 [安装云助手Agent](https://help.aliyun.com/zh/ecs/user-guide/install-the-cloud-assistant-agent) 进行安装;'."\n" - .'- 必须调用 AuthDiagnosis 接口授权 SysOM 对目标 ECS 进行诊断,如果没有授权本接口会直接失败;'."\n" - .'- 本接口依赖于SysOM服务关联角色(AliyunServiceRoleForSysom)已经创建,本接口不会主动创建服务角色,如果服务角色不存在需要首先调用 AuthDiagnosis 进行授权,该接口会创建前述服务角色。', - 'requestParamsDescription' => '## 诊断参数说明'."\n" - ."\n" - .'### 内存大盘诊断(memgraph)参数'."\n" - .'memgraph(内存全景分析)工具:内存全景分析适用于内存占用较高但无法明确识别具体内存占用情况的场景。通过使用内存全景分析诊断功能,可以扫描当前系统的内存占用状态,详细拆解内存使用情况。系统内存与应用内存的分布,并列出当前Top 30的应用内存使用、文件缓存、共享内存缓存占用情况的排序。'."\n" - ."\n" - .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" - .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" - .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" - .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" - .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" - .'| pod | string | Pod名称 | 否 | | Pod名称 |'."\n" - ."\n\n" - .'### Java内存诊断(javamem)参数'."\n" - .'javamem(Java内存诊断)工具,主要用于诊断Java应用的内存使用情况,帮助用户了解Java堆内存和非堆内存的分布和组成,识别潜在的内存泄漏和内存溢出问题,实现Java内存的可维可测可追踪。'."\n" - ."\n" - .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" - .'| -------- | -------- | -------- | -------- | ------ | ---------------------------------------------------------- |'."\n" - .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" - .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" - .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" - .'| Pid | string | Java进程Pid | 否 | | Java进程Pid,pid和pod至少提供一个 |'."\n" - .'| pod | string | Pod名称 | 否 | | Pod名称,pid和pod至少提供一个 |'."\n" - .'| duration | string | JNI内存分配profiling时长 | 否 | | JNI内存分配profiling时长,执行JNI诊断需要填写一个非0的值,否则默认不执行JNI诊断 |'."\n" - ."\n" - .'### 内存OOM诊断(oomcheck)参数'."\n" - ."\n" - .'oomcheck(OOM诊断)工具,主要用于分析和界定OOM(Out of memory)问题,找出导致OOM的主要原因,并给出相应的处理建议,帮助用户解决OOM问题,提高系统的可用性和性能。'."\n" - ."\n" - .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" - .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" - .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" - .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" - .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" - .'| pod | string | Pod名称 | 否 | | Pod名称 |'."\n" - .'| time | string | 诊断时间 | 否 | | 请输入需要诊断OOM的时间点,默认为最近一次 |'."\n" - ."\n" - .'### 系统负载诊断(loadtask)参数'."\n" - ."\n" - .'loadtask(系统负载诊断)工具主要分析系统在一分钟内的平均负载(load1指标)异常原因机器详细信息。'."\n" - ."\n" - .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" - .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" - .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" - .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" - .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" - ."\n" - .'### 调度抖动诊断(delay)参数'."\n" - .'delay(调度抖动诊断)工具主要分析CPU长时间不进行任务切换导致用户态业务进程长期得不到调度引发的问题(例如内存回收等场景)。'."\n" - ."\n" - .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" - .'| --------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" - .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" - .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" - .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" - .'| duration | string | 诊断持续的时长 | 否 | 20 | 诊断持续的时长(s)(可选),默认为20秒 |'."\n" - .'| threshold | string | 诊断阈值 | 否 | 20 | 延迟的阈值,超过这个阈值就记录,默认20ms |'."\n" - ."\n\n" - ."\n" - .'### IO流量分析诊断(iofsstat)参数'."\n" - ."\n" - .'iofsstat(IO流量分析)工具主要分析系统中IO流量的归属,结果包含每个磁盘/分区的IO流量统计列表以及每个进程的IO流量统计列表。'."\n" - ."\n" - .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" - .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------------ |'."\n" - .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" - .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" - .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID,我们将在会这台机器内部发起IO流量统计 |'."\n" - .'| timeout | string | 诊断时长 | 否 | 15 | 诊断时长,也是IO流量统计周期,单位秒,建议不超过60秒 |'."\n" - .'| disk | string | 目标磁盘 | 否 | "" | 请输入你要诊断的磁盘,如vda,sda,缺省为所有磁盘 |'."\n" - ."\n" - .'### IO一键诊断(iodiagnose)参数'."\n" - .'iodiagnose(IO一键诊断)工具专注于高频出现的IO高延迟、IO Burst及IO Wait等问题,支持对各种IO问题类型的识别,并调用相应的子工具对IO数据进行分析,从而提供结论和建议。'."\n" - ."\n" - .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" - .'| --------- | -------- | -------- | -------- | ------ | ------------------------------------------------------------ |'."\n" - .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" - .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" - .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID,我们将在会这台机器内部发起IO HANG诊断 |'."\n" - .'| timeout | string | 诊断时长 | 否 | 30 | 诊断时长(可选),默认为30秒,不建议低于30秒,单位秒 |'."\n" - ."\n\n" - .'### 网络丢包诊断(packetdrop)参数'."\n" - .'packetdrop(网络丢包诊断)工具主要分析数据包通过网络传输过程中,由于多种原因在操作系统内核层面发生的丢失问题。'."\n" - .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" - .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" - .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" - .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" - .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" - ."\n\n" - .'### 网络抖动诊断(netjitter)参数'."\n" - .'netjitter(网络抖动诊断)工具主要分析数据包在网络传输过程中,由于多种因素引起的操作系统内核层面的不稳定现象。'."\n" - .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" - .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" - .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" - .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" - .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" - .'| duration | string | 诊断持续的时长 | 否 | 20 | 诊断持续的时长(s)(可选),默认为20秒 |'."\n" - .'| threshold | string | 判定出现抖动的阈值 | 否 | 10 | 判定出现抖动的阈值(ms)(可选),默认为10ms |'."\n" - ."\n" - .'### 宕机诊断(vmcore)参数'."\n" - .'vmcore(宕机诊断)工具主要分析操作系统崩溃的原因,通过分析内核panic产生的core dump文件,结合dmesg日志,分析操作系统崩溃的原因。'."\n" - .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" - .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" - .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" - .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" - .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |'."\n" - ."\n" - .'### 磁盘分析诊断(diskanalysis)参数'."\n" - .'diskanalysis(磁盘分析诊断)工具主要分析系统中磁盘的使用情况。'."\n" - .'| 参数名称 | 参数类型 | 参数说明 | 是否必填 | 默认值 | 备注 |'."\n" - .'| -------- | -------- | -------- | -------- | ------ | ------------------------------------------------------- |'."\n" - .'| uid | string | 用户UID | 是 | | 用户UID |'."\n" - .'| region | string | 实例所在地区 | 是 | | 实例所在地区 |'."\n" - .'| instance | string | 实例ID | 是 | | 请输入你要诊断的实例ID, 我们将在会这台机器内部发起诊断 |', ], - 'AuthDiagnosis' => [ - 'summary' => '本接口用于授权 SysOM 对本账号下的 ECS 实例进行诊断,只有在调用本接口对特定的ECS进行授权后,才可以调用 InvokeDiagnosis 接口对其发起诊断。', - 'path' => '/api/v1/openapi/diagnosis/auth', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListInstances' => [ + 'summary' => '获取实例列表', + 'path' => '/api/v1/am/instance/list_instances', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'write', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeCode' => '236493', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], + 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + 'name' => 'current', + 'in' => 'query', + 'schema' => ['description' => '页码分页时存在该字段,表示当前页', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '每页大小,默认值为20,取值范围【1,100】', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'instance', + 'in' => 'query', + 'schema' => ['description' => '通过 ECS 实例ID过滤', 'type' => 'string', 'required' => false, 'example' => 'i-8vbfd3g9vs32sfuvv38h'], + ], + [ + 'name' => 'status', + 'in' => 'query', + 'schema' => ['title' => '通过状态过滤实例', 'description' => '通过状态过滤实例', 'type' => 'string', 'required' => false, 'example' => 'Running'], + ], + [ + 'name' => 'region', + 'in' => 'query', + 'schema' => ['title' => '通过区域过滤实例'."\n", 'description' => '通过区域过滤实例'."\n", 'type' => 'string', 'required' => false, 'example' => 'cn-shenzhen'], + ], + [ + 'name' => 'cluster_id', + 'in' => 'query', + 'schema' => ['title' => '集群ID', 'description' => '集群ID', 'type' => 'string', 'required' => false, 'example' => 'xxxxx'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '请求体参数。', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'instances' => [ - 'title' => '授权诊断的机器列表', - 'description' => '授权诊断的机器列表', + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'SysomOpenAPI.ServerError'."\n"], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'Requests for llm service failed'."\n"], + 'data' => [ + 'description' => '返回结果。', 'type' => 'array', 'items' => [ + 'description' => '返回结果。', 'type' => 'object', 'properties' => [ - 'instance' => [ - 'description' => '实例ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'i-wz9b9vucz1iubsz8sjqo', - ], - 'region' => [ - 'description' => '地域ID。', - 'type' => 'string', - 'required' => false, - 'example' => 'cn-hangzhou', - ], + 'instance' => ['title' => 'ECS实例ID', 'description' => 'ECS实例ID', 'type' => 'string', 'example' => 'i-wz9d00ut2ska3mlyhn6j'], + 'region' => ['title' => '实例所在区域', 'description' => '实例所在区域', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'kernel_version' => ['title' => '实例当前的内核版本', 'description' => '实例当前的内核版本', 'type' => 'string', 'example' => '5.10.134-16.1.an8.x86_64'], + 'os_arch' => ['title' => 'ECS实例的架构', 'description' => 'ECS实例的架构', 'type' => 'string', 'example' => 'x86'], + 'os_name' => ['title' => '实例的操作系统名称(取自 /etc/os-release)', 'description' => '实例的操作系统名称(取自 /etc/os-release)', 'type' => 'string', 'example' => 'Anolis OS'], + 'os_version' => ['title' => '实例的操作系统版本(取自 /etc/os-release)', 'description' => '实例的操作系统版本(取自 /etc/os-release)', 'type' => 'string', 'example' => '8.9'], + 'os_name_id' => ['title' => '实例的操作系统名称ID(取自 /etc/os-release)', 'description' => '实例的操作系统名称ID(取自 /etc/os-release)', 'type' => 'string', 'example' => 'anolis'], + 'os_version_id' => ['title' => '实例操作系统版本ID(取自 /etc/os-release)', 'description' => '实例操作系统版本ID(取自 /etc/os-release)', 'type' => 'string', 'example' => 'rhel fedora centos'], + 'os_health_score' => ['title' => '实例的健康分', 'description' => '实例的健康分', 'type' => 'string', 'example' => '100'], + 'status' => ['title' => '实例的状态', 'description' => '实例的状态', 'type' => 'string', 'example' => 'Running'], + 'meta' => ['title' => '实例的元数据信息', 'description' => '实例的元数据信息', 'type' => 'any', 'example' => '{'."\n" + .' "uname": "Linux",'."\n" + .' "oncpu": "off",'."\n" + .' "release": "5.10.134-16.3.al8.aarch64",'."\n" + .' "monitor": "on",'."\n" + .' "version_id": "3",'."\n" + .' "version": "3 (Soaring Falcon)",'."\n" + .' "podNs": ['."\n" + ."\n" + .' ],'."\n" + .' "machine": "aarch64",'."\n" + .' "name": "Alibaba Cloud Linux",'."\n" + .' "sysak": "3.4.0-1",'."\n" + .' "id": "alinux",'."\n" + .' "region": "cn-hangzhou",'."\n" + .' "centos-release": "Alibaba Cloud Linux release 3 (Soaring Falcon)"'."\n" + .'}'], + 'cluster_id' => ['description' => '集群ID', 'type' => 'string', 'example' => 'c2218ca2b76ec45e7b7ee1693f6fcd374'], ], - 'required' => false, - 'example' => 'i-wz9gdv7qmdhntqmc4rjd', ], - 'required' => true, - 'docRequired' => true, - ], - 'autoCreateRole' => [ - 'title' => '是否自动创建服务角色', - 'description' => '自动创建角色', - 'type' => 'boolean', - 'required' => false, - ], - 'autoInstallAgent' => [ - 'title' => '如果没有安装Agent,是否自动安装最新版本的 Agent', - 'description' => '自动安装agent', - 'type' => 'boolean', - 'required' => false, ], + 'request_id' => ['description' => '请求 RequestId', 'type' => 'string', 'example' => '9515E5A0-8905-59B0-9BBF-5F0BE568C3A0'], + 'total' => ['description' => '总记录数', 'type' => 'integer', 'format' => 'int64', 'example' => '623'], ], - 'required' => false, ], ], ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"SysomOpenAPI.ServerError\\\\n\\",\\n \\"message\\": \\"Requests for llm service failed\\\\n\\",\\n \\"data\\": [\\n {\\n \\"instance\\": \\"i-wz9d00ut2ska3mlyhn6j\\",\\n \\"region\\": \\"cn-hangzhou\\",\\n \\"kernel_version\\": \\"5.10.134-16.1.an8.x86_64\\",\\n \\"os_arch\\": \\"x86\\",\\n \\"os_name\\": \\"Anolis OS\\",\\n \\"os_version\\": \\"8.9\\",\\n \\"os_name_id\\": \\"anolis\\",\\n \\"os_version_id\\": \\"rhel fedora centos\\",\\n \\"os_health_score\\": \\"100\\",\\n \\"status\\": \\"Running\\",\\n \\"meta\\": \\"{\\\\n \\\\\\"uname\\\\\\": \\\\\\"Linux\\\\\\",\\\\n \\\\\\"oncpu\\\\\\": \\\\\\"off\\\\\\",\\\\n \\\\\\"release\\\\\\": \\\\\\"5.10.134-16.3.al8.aarch64\\\\\\",\\\\n \\\\\\"monitor\\\\\\": \\\\\\"on\\\\\\",\\\\n \\\\\\"version_id\\\\\\": \\\\\\"3\\\\\\",\\\\n \\\\\\"version\\\\\\": \\\\\\"3 (Soaring Falcon)\\\\\\",\\\\n \\\\\\"podNs\\\\\\": [\\\\n\\\\n ],\\\\n \\\\\\"machine\\\\\\": \\\\\\"aarch64\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"Alibaba Cloud Linux\\\\\\",\\\\n \\\\\\"sysak\\\\\\": \\\\\\"3.4.0-1\\\\\\",\\\\n \\\\\\"id\\\\\\": \\\\\\"alinux\\\\\\",\\\\n \\\\\\"region\\\\\\": \\\\\\"cn-hangzhou\\\\\\",\\\\n \\\\\\"centos-release\\\\\\": \\\\\\"Alibaba Cloud Linux release 3 (Soaring Falcon)\\\\\\"\\\\n}\\",\\n \\"cluster_id\\": \\"c2218ca2b76ec45e7b7ee1693f6fcd374\\"\\n }\\n ],\\n \\"request_id\\": \\"9515E5A0-8905-59B0-9BBF-5F0BE568C3A0\\",\\n \\"total\\": 623\\n}","type":"json"}]', + 'title' => '获取纳管实例列表', + 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', + 'changeSet' => [ + ['createdAt' => '2025-02-07T11:56:05.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + ], + 'ListInstancesEcsInfoList' => [ + 'summary' => '获取ecs信息的列表,如标签列表,公网ip列表等', + 'path' => '/api/v1/am/instance/listInstancesEcsInfoList', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'get', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'region', + 'in' => 'query', + 'schema' => ['description' => '通过区域过滤实例'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shenzhen'], + ], + [ + 'name' => 'info_type', + 'in' => 'query', + 'schema' => ['description' => '需要获取的信息类型', 'type' => 'string', 'required' => true, 'example' => 'ip'], + ], + [ + 'name' => 'managed_type', + 'in' => 'query', + 'schema' => ['description' => '实例的纳管状态', 'type' => 'string', 'required' => false, 'example' => 'managed'], + ], + [ + 'name' => 'instance_id', + 'in' => 'query', + 'schema' => ['description' => '指定本字段,则过滤出指定实例的Agent安装情况', 'type' => 'string', 'required' => false, 'example' => 'i-bp118piqcio9tiwgh84b'], + ], + [ + 'name' => 'plugin_id', + 'in' => 'query', + 'schema' => ['description' => '指定本参数则过滤出对应组件的实例信息列表', 'type' => 'string', 'required' => false, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ 'title' => 'Schema of Response', - 'description' => '返回结果', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'code' => [ - 'title' => 'Id of the request', - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom', - ], + 'code' => ['description' => '错误码', 'type' => 'string', 'example' => 'SysomOpenAPI.InvalidParameter'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => '""'], 'data' => [ - 'description' => '本接口没有返回数据', - 'type' => 'any', - 'example' => '{}', - ], - 'request_id' => [ - 'description' => '请求 RequestId', - 'type' => 'string', - 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0', + 'description' => '返回数据。', + 'type' => 'array', + 'items' => [ + 'description' => '返回结果。', + 'type' => 'object', + 'properties' => [ + 'ip' => ['description' => '机器的IP地址。', 'type' => 'string', 'example' => '11.193.52.91'], + 'type' => ['description' => 'ip类型', 'type' => 'string', 'example' => 'public'], + 'tag_key' => ['description' => '标签的名称。', 'type' => 'string', 'example' => 'sysom'], + 'tag_value' => ['description' => '标签值。', 'type' => 'string', 'example' => 'diagnosis'], + ], + ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"SysomOpenAPI.InvalidParameter\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": [\\n {\\n \\"ip\\": \\"11.193.52.91\\",\\n \\"type\\": \\"public\\",\\n \\"tag_key\\": \\"sysom\\",\\n \\"tag_value\\": \\"diagnosis\\"\\n }\\n ]\\n}","type":"json"}]', + 'title' => '获取实例的ecs信息的列表', + 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:ListInstancesEcsInfoList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": \\"{}\\",\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\"\\n}","type":"json"}]', - 'title' => '授权诊断', - 'description' => '><notice>诊断功能需要在 RAM 用户下创建服务角色,调用本接口会自定检查服务角色是否创建,如果服务角色不存在则会自动创建,这要求调用本接口的 RAM 用户具有 ram:CreateServiceLinkedRole 权限</notice>'."\n" - ."\n" - .'调用本接口授权 SysOM 对 ECS 进行诊断有如下注意事项:'."\n" - .'- 一次授权有效期为 7 天,7 天之后授权会失效,需要再次调用本接口进行授权;'."\n" - .'- 调用本接口进行授权时如果SysOM服务关联角色(AliyunServiceRoleForSysom)不存在会自动创建,这要求调用本接口的RAM用户具有 `ram:CreateServiceLinkedRole` 权限。'."\n" - .'- 调用本接口对特定实例进行授权,会自动给目标ecs实例打上标签 `sysom:diagnosis`,sysom只允许对打了这个标签的实例进行诊断。', ], - 'GetCopilotHistory' => [ - 'summary' => '获取copilot历史聊天记录', - 'path' => '/api/v1/copilot/get_copilot_history', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListInstancesWithEcsInfo' => [ + 'summary' => '获取已纳管/未纳管实例信息,信息中包含ECS信息', + 'path' => '/api/v1/am/instance/listInstancesWithEcsInfo', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'list', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxGP5QJE', - ], + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', + 'name' => 'region', + 'in' => 'query', + 'schema' => ['description' => '通过区域过滤实例'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shenzhen'], + ], + [ + 'name' => 'instance_id', + 'in' => 'query', + 'schema' => ['description' => '指定本字段,则过滤出指定实例的Agent安装情况', 'type' => 'string', 'required' => false, 'example' => 'i-bp118piqcio9tiwgh84b'], + ], + [ + 'name' => 'instance_name', + 'in' => 'query', + 'schema' => ['description' => '组件实例名称。', 'type' => 'string', 'required' => false, 'example' => 'block-load-balancer-hjdm9'], + ], + [ + 'name' => 'instance_id_name', + 'in' => 'query', + 'schema' => ['description' => '通过实例名称或者实例id过滤,支持模糊查询', 'type' => 'string', 'required' => false, 'example' => '84b'], + ], + [ + 'name' => 'is_managed', + 'in' => 'query', + 'schema' => ['description' => '通过实例的纳管状态过滤', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'instance_tag', + 'in' => 'query', 'style' => 'json', 'schema' => [ - 'description' => '请求Body', + 'description' => '通过实例标签过滤', 'type' => 'object', 'properties' => [ - 'count' => [ - 'title' => '请求历史聊天记录的数量,一般小于100条', - 'description' => '请求历史聊天记录的数量,一般小于100条', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '100', - ], + 'key' => ['description' => '标签key值。', 'type' => 'string', 'required' => false, 'example' => 'feature_dim_radar_chart'], + 'value' => ['description' => '标签value值', 'type' => 'string', 'required' => false, 'example' => 'test'], ], 'required' => false, ], ], + [ + 'name' => 'public_ip', + 'in' => 'query', + 'schema' => ['description' => '通过公网ip地址过滤实例', 'type' => 'string', 'required' => false, 'example' => '1.1.1.1'], + ], + [ + 'name' => 'private_ip', + 'in' => 'query', + 'schema' => ['description' => '通过私网ip地址过滤实例', 'type' => 'string', 'required' => false, 'example' => '1.1.1.1'], + ], + [ + 'name' => 'resource_group_name', + 'in' => 'query', + 'schema' => ['description' => '通过资源组名称过滤实例', 'type' => 'string', 'required' => false, 'example' => 'default resource group'], + ], + [ + 'name' => 'resource_group_id', + 'in' => 'query', + 'schema' => ['description' => '通过资源组ID过滤实例', 'type' => 'string', 'required' => false, 'example' => 'rg-xxxxxxx'], + ], + [ + 'name' => 'resource_group_id_name', + 'in' => 'query', + 'schema' => ['description' => '通过资源组名称或者资源组id过滤,支持模糊查询', 'type' => 'string', 'required' => false, 'example' => 'default'], + ], + [ + 'name' => 'health_status', + 'in' => 'query', + 'schema' => ['description' => '通过健康状态过滤实例', 'type' => 'string', 'required' => false, 'example' => 'healthy'], + ], + [ + 'name' => 'os_name', + 'in' => 'query', + 'schema' => ['description' => '通过实例操作系统名称过滤', 'type' => 'string', 'required' => false, 'example' => 'Alibaba Cloud Linux 3.2104 LTS 64bit'], + ], + [ + 'name' => 'current', + 'in' => 'query', + 'schema' => ['description' => '页码分页时存在该字段,表示当前页', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '每页大小,默认值为10', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '10'], + ], ], 'responses' => [ 200 => [ @@ -9722,113 +6628,250 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '错误码', - 'type' => 'string', - 'example' => 'SysomOpenAPI.InvalidParameter', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom', - ], + 'code' => ['description' => '状态码。', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息,空代表数据已经读取完毕', 'type' => 'string', 'example' => 'result: code=1 msg=(Request failed, status_code != 200)'], 'data' => [ - 'title' => '聊天记录列表,长度为请求数量,若聊天记录小于请求数量,则为实际的聊天记录数量,格式:[{"user":“”,"content":“”.question,"time":"“},{...}]', - 'description' => '聊天记录列表,长度为请求数量,若聊天记录小于请求数量,则为实际的聊天记录数量,格式:[{"user":“”,"content":“”.question,"time":"“},{...}]', + 'description' => '返回数据。', 'type' => 'array', 'items' => [ - 'description' => '返回数据。', + 'description' => '返回结果', 'type' => 'object', 'properties' => [ - 'user' => [ - 'title' => 'user/copilot,user为用户,copilot为机器人', - 'description' => 'user/copilot,user为用户,copilot为机器人', - 'type' => 'string', - 'example' => 'user'."\n" - .'copilot', - ], - 'content' => [ - 'title' => '聊天内容文本', - 'description' => '聊天内容文本', - 'type' => 'string', - 'example' => 'copilot回复的具体内容', - ], - 'time' => [ - 'title' => '聊天记录时间,string类型', - 'description' => '聊天记录时间,string类型', - 'type' => 'string', - 'example' => '2024-09-02 10:02:39', + 'instance_id' => ['description' => '实例ID', 'type' => 'string', 'example' => 'i-bp118piqcio9tiwgh84b'], + 'instance_name' => ['description' => '实例名称。', 'type' => 'string', 'example' => 'allowed-repos-r2tzl'], + 'instance_tag' => [ + 'description' => '实例标签', + 'type' => 'array', + 'items' => [ + 'type' => 'object', + 'properties' => [ + 'tag_key' => ['description' => '标签的名称。', 'type' => 'string', 'example' => 'test_tag_key'], + 'tag_value' => ['description' => '标签值。', 'type' => 'string', 'example' => 'test_tag_value'], + ], + 'description' => '', + ], ], + 'public_ip' => ['description' => '实例公网ip', 'type' => 'string', 'example' => '1.1.1.1'], + 'private_ip' => ['description' => '实例私网ip', 'type' => 'string', 'example' => '1.1.1.1'], + 'resource_group_name' => ['description' => '资源组名称', 'type' => 'string', 'example' => 'default resource group'], + 'resource_group_id' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-xxxxxx'], + 'os_name' => ['description' => '实例的操作系统名称', 'type' => 'string', 'example' => 'Alibaba Cloud Linux 3.2104 LTS 64bit'], + 'os_health_score' => ['description' => '实例的健康分', 'type' => 'string', 'example' => '100'], + 'status' => ['description' => '实例的运行状态,取值:'."\n" + .'- **Running**:正在运行'."\n" + .'- **Offline**:离线'."\n" + ."\n\n" + ."\n" + .'> 处于 Offline 状态的实例代表节点到 SysOM 服务端的心跳丢失,并不代表对应的 ECS 实例没有运行。', 'type' => 'string', 'example' => 'Running'], + 'cluster_id' => ['description' => '集群ID', 'type' => 'string', 'example' => 'cbf7a37bc905d4682a3338b3744810269'], + 'os_arch' => ['description' => 'ECS实例的架构', 'type' => 'string', 'example' => 'x86'], + 'kernel_version' => ['description' => '内核版本', 'type' => 'string', 'example' => '5.10.134-14.an8.x86_64'], ], ], ], + 'request_id' => ['description' => '请求 RequestId', 'type' => 'string', 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0'], + 'total' => ['description' => '总记录数', 'type' => 'integer', 'format' => 'int64', 'example' => '319'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"result: code=1 msg=(Request failed, status_code != 200)\\",\\n \\"data\\": [\\n {\\n \\"instance_id\\": \\"i-bp118piqcio9tiwgh84b\\",\\n \\"instance_name\\": \\"allowed-repos-r2tzl\\",\\n \\"instance_tag\\": [\\n {\\n \\"tag_key\\": \\"test_tag_key\\",\\n \\"tag_value\\": \\"test_tag_value\\"\\n }\\n ],\\n \\"public_ip\\": \\"1.1.1.1\\",\\n \\"private_ip\\": \\"1.1.1.1\\",\\n \\"resource_group_name\\": \\"default resource group\\",\\n \\"resource_group_id\\": \\"rg-xxxxxx\\",\\n \\"os_name\\": \\"Alibaba Cloud Linux 3.2104 LTS 64bit\\",\\n \\"os_health_score\\": \\"100\\",\\n \\"status\\": \\"Running\\",\\n \\"cluster_id\\": \\"cbf7a37bc905d4682a3338b3744810269\\",\\n \\"os_arch\\": \\"x86\\",\\n \\"kernel_version\\": \\"5.10.134-14.an8.x86_64\\"\\n }\\n ],\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\",\\n \\"total\\": 319\\n}","type":"json"}]', + 'title' => '获取包含ECS信息的实例列表', + 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', + 'changeSet' => [ + ['createdAt' => '2025-03-12T11:13:16.000Z', 'description' => '响应参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"SysomOpenAPI.InvalidParameter\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": [\\n {\\n \\"user\\": \\"user\\\\ncopilot\\",\\n \\"content\\": \\"copilot回复的具体内容\\",\\n \\"time\\": \\"2024-09-02 10:02:39\\"\\n }\\n ]\\n}","type":"json"}]', - 'title' => '获取copilot流式接口的聊天记录', - ], - 'GenerateCopilotStreamResponse' => [ - 'summary' => '流式copilot服务接口', - 'path' => '/api/v1/copilot/generate_copilot_stream_response', - 'methods' => [ - 'post', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', - 'sse', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:ListInstancesWithEcsInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'ListPluginsInstances' => [ + 'summary' => '获取插件的安装/更新/卸载实例列表', + 'path' => '/api/v1/am/agent/listPluginsInstances', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [], - 'produces' => [], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + 'name' => 'operation_type', + 'in' => 'query', + 'schema' => ['description' => '通过实例的插件安装状态过滤实例', 'type' => 'string', 'required' => true, 'example' => 'install'], + ], + [ + 'name' => 'plugin_id', + 'in' => 'query', + 'schema' => ['description' => '指定本参数则过滤出指定Agent的实例列表', 'type' => 'string', 'required' => true, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + ], + [ + 'name' => 'region', + 'in' => 'query', + 'schema' => ['description' => '通过区域过滤实例'."\n", 'type' => 'string', 'required' => true, 'example' => 'cn-shenzhen'], + ], + [ + 'name' => 'instance_id_name', + 'in' => 'query', + 'schema' => ['description' => '通过实例id或实例名称过滤,支持模糊查询', 'type' => 'string', 'required' => false, 'example' => 'i-bpxx'], + ], + [ + 'name' => 'instance_tag', + 'in' => 'query', + 'schema' => ['description' => '通过实例标签过滤', 'type' => 'string', 'required' => false, 'example' => '{"key":"app","value":"sysom-aliyun-com"}'], + ], + [ + 'name' => 'current', + 'in' => 'query', + 'schema' => ['description' => '页码分页时存在该字段,表示当前页', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '5'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '每页大小,默认值为10', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '20'], + ], + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '请求Body', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'llmParamString' => [ - 'title' => '对接copilot llm服务的入参,参考标准LLM接口入参dict,需要转化成string并传入llmParamString中', - 'description' => '对接copilot llm服务的入参,参考标准LLM接口入参dict,需要转化成string并传入llmParamString中', - 'type' => 'string', - 'required' => false, - 'example' => '"{\\"model\\":\\"Qwen-7B-Chat\\",\\"temperature\\":0.9,\\"max_tokens\\":1000,\\"top_p\\":1,\\"frequency_penalty\\":0.0,\\"presence_penalty\\":0.6,\\"messages\\":[{\\"role\\":\\"user\\",\\"content\\":\\"我是os工程师\\"},{\\"role\\":\\"assistant\\",\\"content\\":\\"您好。我是AI语言模型,很高兴为您服 务。有什么我能帮助您的呢\\"},{\\"role\\":\\"user\\",\\"content\\":\\"你知道什么是alinux吗\\"}]}"', + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '描述信息', 'type' => 'string', 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict'], + 'data' => [ + 'description' => '返回结果。', + 'type' => 'array', + 'items' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'instance_id' => ['description' => '实例ID', 'type' => 'string', 'example' => 'i-bp118piqcio9tiwgh84b'], + 'instance_name' => ['description' => '组件实例名称。', 'type' => 'string', 'example' => 'allowed-repos-qmf8w'], + 'instance_tag' => [ + 'description' => '实例标签', + 'type' => 'array', + 'items' => [ + 'description' => '实例标签', + 'type' => 'object', + 'properties' => [ + 'tag_key' => ['description' => '标签的名称。', 'type' => 'string', 'example' => 'test_tag_key'], + 'tag_value' => ['description' => '标签值。', 'type' => 'string', 'example' => 'test_tag_value'], + ], + ], + ], + 'public_ip' => ['description' => '公网ip', 'type' => 'string', 'example' => '1.1.1.1'], + 'private_ip' => ['description' => '私网ip', 'type' => 'string', 'example' => '1.1.1.1'], + 'resource_group_name' => ['description' => '资源组名称', 'type' => 'string', 'example' => 'default resource group'], + 'resource_group_id' => ['description' => '资源组ID。', 'type' => 'string', 'example' => 'rg-xxxx'], + 'os_name' => ['description' => '实例的操作系统名称', 'type' => 'string', 'example' => 'Alibaba Cloud Linux 3.2104 LTS 64 bit'], + 'region' => ['description' => '实例所在区域', 'type' => 'string', 'example' => 'cn-hangzhou'], + ], + ], ], + 'request_id' => ['description' => '请求 RequestId', 'type' => 'string', 'example' => '35F91AAB-5FDF-5A22-B211-C7C6B00817D0'], + 'total' => ['description' => '查询结果总数。', 'type' => 'integer', 'format' => 'int64', 'example' => '42'], + ], + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": [\\n {\\n \\"instance_id\\": \\"i-bp118piqcio9tiwgh84b\\",\\n \\"instance_name\\": \\"allowed-repos-qmf8w\\",\\n \\"instance_tag\\": [\\n {\\n \\"tag_key\\": \\"test_tag_key\\",\\n \\"tag_value\\": \\"test_tag_value\\"\\n }\\n ],\\n \\"public_ip\\": \\"1.1.1.1\\",\\n \\"private_ip\\": \\"1.1.1.1\\",\\n \\"resource_group_name\\": \\"default resource group\\",\\n \\"resource_group_id\\": \\"rg-xxxx\\",\\n \\"os_name\\": \\"Alibaba Cloud Linux 3.2104 LTS 64 bit\\",\\n \\"region\\": \\"cn-hangzhou\\"\\n }\\n ],\\n \\"request_id\\": \\"35F91AAB-5FDF-5A22-B211-C7C6B00817D0\\",\\n \\"total\\": 42\\n}","type":"json"}]', + 'title' => '获取组件的实例列表', + 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:ListPluginsInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], ], - 'required' => false, ], ], ], + ], + 'ListPodsOfInstance' => [ + 'summary' => '获取集群或实例中的pod列表', + 'path' => '/api/v1/am/instance/list_pod_of_instance', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'list', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '256739', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'current', + 'in' => 'query', + 'schema' => ['description' => '当前页码(从1开始)', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], + ], + [ + 'name' => 'pageSize', + 'in' => 'query', + 'schema' => ['description' => '每页大小,默认值为10', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '10'], + ], + [ + 'name' => 'cluster_id', + 'in' => 'query', + 'schema' => ['description' => '集群标识符', 'type' => 'string', 'required' => false, 'example' => 'c96e34d74eb6748f3b2a46552d5d653f6'], + ], + [ + 'name' => 'instance', + 'in' => 'query', + 'schema' => ['description' => '实例ID。', 'type' => 'string', 'required' => false, 'example' => 'i-wz9d00ut2ska3mlyhn6j'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ @@ -9836,95 +6879,142 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'title' => '错误码', - 'description' => '错误码', - 'type' => 'string', - 'example' => 'SysomOpenAPI.ServerError'."\n", - ], - 'message' => [ - 'title' => '错误码描述,若无错误则为空', - 'description' => '错误码描述,若无错误则为空', - 'type' => 'string', - 'example' => 'Requests for llm service failed'."\n", - ], + 'code' => ['description' => '错误码'."\n", 'type' => 'string', 'example' => 'Success'], + 'message' => ['title' => '表示当前调用返回读取到的位置,空代表数据已经读取完毕', 'description' => '错误信息,空代表数据已经读取完毕', 'type' => 'string', 'required' => true, 'example' => 'instance not exists'], 'data' => [ - 'title' => 'llm服务返回的data,字符串类型,如为dict需自行转换解析', - 'description' => 'llm服务返回的data,字符串类型,如为dict需自行转换解析', - 'type' => 'string', - 'example' => '{\'choices\': [{\'finish_reason\': \'stop\', \'index\': 0, \'message\': {\'content\': \'Alinux是一个基于Linux的开源操作系统,它主要由阿里巴巴集团开发和维护,专为大规模云计算和大数据处理环境设计。这个系统针对高并发、低延迟以及资源利用率优化进行了深度定制和改良,以适应阿里内部复杂且庞大的业务需求。由于其在性能和稳定性方面的优秀表现,Alinux也在逐渐被外部的一些企业和研究机构采用,特别是在需要处理高负载场景的领域。与标准Linux发行版相比,Alinux可能包含特定的内核补丁、优化工具集以及其他阿里巴巴内部研发的特性。然而,值得注意的是,尽管名称中的“Ali”可能让人联想到与阿里巴巴的紧密关系,但Alinux作为一个项目,已经于2021年成为开放原子开源基金会(OpenAtom Foundation)下的一个子项目,即 OpenAnolis,这标志着它的社区化和广泛化的进程。\', \'role\': \'assistant\'}}], \'model\': \'Qwen1.5\', \'sentiment\': [], \'status_code\': 200, \'time\': 6.836989402770996, \'usage\': {\'completion_tokens\': 180, \'prompt_tokens\': 176, \'time_dict\': {\'auto_regression_time\': 0.03798324399524265, \'speed\': 26.327398474054736, \'total_generate_time\': 6.836983919143677}, \'total_tokens\': 356}}', + 'description' => '返回数据', + 'type' => 'array', + 'items' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'pod' => ['description' => 'Pod名称', 'type' => 'string', 'example' => 'test-pod'], + 'namespace' => ['description' => 'Pod所在的命名空间', 'type' => 'string', 'example' => 'default'], + ], + ], ], + 'RequestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7'], + 'total' => ['title' => 'MaxResults本次请求所返回的最大记录条数', 'description' => 'MaxResults本次请求所返回的最大记录条数', 'type' => 'integer', 'format' => 'int64', 'example' => '42'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"instance not exists\\",\\n \\"data\\": [\\n {\\n \\"pod\\": \\"test-pod\\",\\n \\"namespace\\": \\"default\\"\\n }\\n ],\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\",\\n \\"total\\": 42\\n}","type":"json"}]', + 'title' => '获取集群/实例中的Pod列表', + 'requestParamsDescription' => '如果只填写cluster_id,查询集群下的所有pod信息;如果填写实例id,查询实例下所有pod信息。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListPodsOfInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\\\n\\",\\n \\"message\\": \\"Requests for llm service failed\\\\n\\",\\n \\"data\\": \\"{\'choices\': [{\'finish_reason\': \'stop\', \'index\': 0, \'message\': {\'content\': \'Alinux是一个基于Linux的开源操作系统,它主要由阿里巴巴集团开发和维护,专为大规模云计算和大数据处理环境设计。这个系统针对高并发、低延迟以及资源利用率优化进行了深度定制和改良,以适应阿里内部复杂且庞大的业务需求。由于其在性能和稳定性方面的优秀表现,Alinux也在逐渐被外部的一些企业和研究机构采用,特别是在需要处理高负载场景的领域。与标准Linux发行版相比,Alinux可能包含特定的内核补丁、优化工具集以及其他阿里巴巴内部研发的特性。然而,值得注意的是,尽管名称中的“Ali”可能让人联想到与阿里巴巴的紧密关系,但Alinux作为一个项目,已经于2021年成为开放原子开源基金会(OpenAtom Foundation)下的一个子项目,即 OpenAnolis,这标志着它的社区化和广泛化的进程。\', \'role\': \'assistant\'}}], \'model\': \'Qwen1.5\', \'sentiment\': [], \'status_code\': 200, \'time\': 6.836989402770996, \'usage\': {\'completion_tokens\': 180, \'prompt_tokens\': 176, \'time_dict\': {\'auto_regression_time\': 0.03798324399524265, \'speed\': 26.327398474054736, \'total_generate_time\': 6.836983919143677}, \'total_tokens\': 356}}\\"\\n}","type":"json"}]', - 'title' => '请求os copilot服务流式sse接口', - 'description' => '- 需配合aliyun-tea-openapi-inner包的call_sseapi接口使用'."\n" - .'- 需要按通用LLM服务输入参数填充参数,转为string后赋给llmParamString'."\n" - .'- 返回数据需将string转为dict后使用,参考通用LLM服务返回格式', ], - 'GenerateCopilotResponse' => [ - 'summary' => '获取copilot服务的返回结果', - 'path' => '/api/v1/copilot/generate_copilot_response', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'ListRegions' => [ + 'summary' => '列出所有纳管了机器的区域', + 'path' => '/api/v1/am/instance/list_regions', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'readAndWrite', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'list', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, 'tenantRelevance' => 'publicInformation', ], - 'parameters' => [ - [ - 'name' => 'body', - 'in' => 'body', - 'style' => 'json', + 'parameters' => [], + 'responses' => [ + 200 => [ 'schema' => [ - 'description' => '请求Body', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'llmParamString' => [ - 'title' => '对接copilot llm服务的入参,参考标准LLM接口入参dict,需要转化成string并传入llmParamString中', - 'description' => '对接copilot llm服务的入参,参考标准LLM接口入参dict,需要转化成string并传入llmParamString中', - 'type' => 'string', - 'required' => false, - 'example' => '"{\\"model\\":\\"Qwen-7B-Chat\\",\\"temperature\\":0.9,\\"max_tokens\\":1000,\\"top_p\\":1,\\"frequency_penalty\\":0.0,\\"presence_penalty\\":0.6,\\"messages\\":[{\\"role\\":\\"user\\",\\"content\\":\\"我是os工程师\\"},{\\"role\\":\\"assistant\\",\\"content\\":\\"您好。我是AI语言模型,很高兴为您服 务。有什么我能帮助您的呢\\"},{\\"role\\":\\"user\\",\\"content\\":\\"你知道什么是alinux吗\\"}]}"', + 'code' => ['description' => '错误码', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误码描述,若无错误则为空', 'type' => 'string', 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], + 'data' => [ + 'description' => '区域列表', + 'type' => 'array', + 'items' => ['description' => '区域', 'type' => 'string', 'example' => 'cn-hangzhou'], + 'example' => '["cn-hangzhou", "cn-shengzhen"]', ], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7'], + ], + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": [\\n \\"cn-hangzhou\\"\\n ],\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\"\\n}","type":"json"}]', + 'title' => '获取纳管实例分布的区域列表', + 'description' => '本接口获取的是当前用户存在被 SysOM 纳管机器的区域列表,如果用户在某个区域下有 ECS 实例,但是没有被 SysOM 纳管,则该区域不会出现在接口的结果里面。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], ], - 'required' => false, ], ], ], + ], + 'ListVmcoreDiagnosisTask' => [ + 'summary' => '查询历史宕机诊断列表。', + 'path' => '/api/v1/crashAgent/diagnosis/queryTaskList', + 'methods' => ['get'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'read', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'days', + 'in' => 'query', + 'schema' => ['title' => '表示过去days天的任务,最多不超过30天', 'description' => '表示过去days天的任务,最多不超过30天', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '3'], + ], + ], 'responses' => [ 200 => [ 'schema' => [ @@ -9932,73 +7022,86 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', - ], - 'code' => [ - 'title' => '错误码', - 'description' => '错误码', - 'type' => 'string', - 'example' => 'SysomOpenAPI.ServerError', - ], - 'massage' => [ - 'title' => '错误码描述,若无错误则为空', - 'description' => '错误码描述,若无错误则为空', - 'type' => 'string', - 'example' => 'Requests for llm service failed', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict'], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], 'data' => [ - 'title' => 'llm服务返回的data,字符串类型,如为dict需自行转换解析', - 'description' => 'llm服务返回的data,字符串类型,如为dict需自行转换解析', - 'type' => 'string', - 'example' => '{\'choices\': [{\'finish_reason\': \'stop\', \'index\': 0, \'message\': {\'content\': \'Alinux是一个基于Linux的开源操作系统,它主要由阿里巴巴集团开发和维护,专为大规模云计算和大数据处理环境设计。这个系统针对高并发、低延迟以及资源利用率优化进行了深度定制和改良,以适应阿里内部复杂且庞大的业务需求。由于其在性能和稳定性方面的优秀表现,Alinux也在逐渐被外部的一些企业和研究机构采用,特别是在需要处理高负载场景的领域。与标准Linux发行版相比,Alinux可能包含特定的内核补丁、优化工具集以及其他阿里巴巴内部研发的特性。然而,值得注意的是,尽管名称中的“Ali”可能让人联想到与阿里巴巴的紧密关系,但Alinux作为一个项目,已经于2021年成为开放原子开源基金会(OpenAtom Foundation)下的一个子项目,即 OpenAnolis,这标志着它的社区化和广泛化的进程。\', \'role\': \'assistant\'}}], \'model\': \'Qwen1.5\', \'sentiment\': [], \'status_code\': 200, \'time\': 6.836989402770996, \'usage\': {\'completion_tokens\': 180, \'prompt_tokens\': 176, \'time_dict\': {\'auto_regression_time\': 0.03798324399524265, \'speed\': 26.327398474054736, \'total_generate_time\': 6.836983919143677}, \'total_tokens\': 356}}', + 'description' => '返回数据', + 'type' => 'array', + 'items' => [ + 'description' => '响应数据。', + 'type' => 'object', + 'properties' => [ + 'taskId' => ['title' => '任务ID', 'description' => '任务ID', 'type' => 'string', 'example' => 'bbe94a98-4192-4172-b856-95777e0a55d7'."\n"], + 'taskType' => [ + 'title' => '任务类型', + 'description' => '任务类型', + 'type' => 'string', + 'enumValueTitles' => ['dmesg' => 'dmesg', 'vmcore' => 'vmcore'], + 'example' => 'vmcore', + ], + 'taskStatus' => [ + 'title' => '任务状态', + 'description' => '任务状态', + 'type' => 'string', + 'enumValueTitles' => ['running' => 'running', 'queuing' => 'queuing', 'created' => 'created', 'success' => 'success', 'error' => 'error'], + 'example' => 'running', + ], + 'createdAt' => ['title' => '任务创建时间', 'description' => '任务创建时间', 'type' => 'string', 'example' => '2025-12-02T17:36:12'."\n"], + 'errorMsg' => ['title' => '错误信息', 'description' => '错误信息', 'type' => 'string', 'example' => 'error message'], + ], + ], ], + 'total' => ['title' => '任务总数', 'description' => '任务总数', 'type' => 'integer', 'format' => 'int64', 'example' => '2'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"code\\": \\"Success\\",\\n \\"data\\": [\\n {\\n \\"taskId\\": \\"bbe94a98-4192-4172-b856-95777e0a55d7\\\\n\\",\\n \\"taskType\\": \\"vmcore\\",\\n \\"taskStatus\\": \\"running\\",\\n \\"createdAt\\": \\"2025-12-02T17:36:12\\\\n\\",\\n \\"errorMsg\\": \\"error message\\"\\n }\\n ],\\n \\"total\\": 2\\n}","type":"json"}]', + 'title' => '查询宕机诊断列表', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:ListVmcoreDiagnosisTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"SysomOpenAPI.ServerError\\",\\n \\"massage\\": \\"Requests for llm service failed\\",\\n \\"data\\": \\"{\'choices\': [{\'finish_reason\': \'stop\', \'index\': 0, \'message\': {\'content\': \'Alinux是一个基于Linux的开源操作系统,它主要由阿里巴巴集团开发和维护,专为大规模云计算和大数据处理环境设计。这个系统针对高并发、低延迟以及资源利用率优化进行了深度定制和改良,以适应阿里内部复杂且庞大的业务需求。由于其在性能和稳定性方面的优秀表现,Alinux也在逐渐被外部的一些企业和研究机构采用,特别是在需要处理高负载场景的领域。与标准Linux发行版相比,Alinux可能包含特定的内核补丁、优化工具集以及其他阿里巴巴内部研发的特性。然而,值得注意的是,尽管名称中的“Ali”可能让人联想到与阿里巴巴的紧密关系,但Alinux作为一个项目,已经于2021年成为开放原子开源基金会(OpenAtom Foundation)下的一个子项目,即 OpenAnolis,这标志着它的社区化和广泛化的进程。\', \'role\': \'assistant\'}}], \'model\': \'Qwen1.5\', \'sentiment\': [], \'status_code\': 200, \'time\': 6.836989402770996, \'usage\': {\'completion_tokens\': 180, \'prompt_tokens\': 176, \'time_dict\': {\'auto_regression_time\': 0.03798324399524265, \'speed\': 26.327398474054736, \'total_generate_time\': 6.836983919143677}, \'total_tokens\': 356}}\\"\\n}","type":"json"}]', - 'title' => '请求copilot服务', - 'description' => '- 需要按通用LLM服务输入参数填充参数,转为string后赋给llmParamString'."\n" - .'- 返回数据需将string转为dict后使用,参考通用LLM服务返回格式', ], - 'CheckInstanceSupport' => [ - 'summary' => '检查目标实例是否被 SysOM 支持', - 'path' => '/api/v1/am/supportInstanceList/checkInstanceSupport', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'StartAIAnalysis' => [ + 'summary' => '启动AI作业分析。', + 'path' => '/api/v1/openapi/proxy/post/start_ai_analysis', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'publicInformation', + 'abilityTreeCode' => '255600', + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], ], 'parameters' => [ [ @@ -10009,27 +7112,42 @@ 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'region' => [ - 'title' => '实例所属 Region,务必保证 instances 中传递的所有实例ID都属于同一个 region', - 'description' => '实例所属 Region,务必保证 instances 中传递的所有实例ID都属于同一个 region', - 'type' => 'string', + 'instance' => ['description' => '实例ID', 'type' => 'string', 'required' => false, 'example' => 'i-wz9dej066kii4goqxxxx'], + 'timeout' => ['description' => 'AI Infra分析时间;'."\n" + .'单位:毫秒;'."\n" + .'默认值:2000;', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '2000'], + 'pids' => ['description' => 'AI作业进程pid,支持批量输入,逗号分隔', 'type' => 'string', 'required' => false, 'example' => '2421,36547,10043'], + 'comms' => ['description' => '进程名,可选参数', 'type' => 'string', 'required' => false, 'example' => 'python_test'], + 'channel' => ['description' => '通道名', 'type' => 'string', 'required' => false, 'example' => 'ecs_sysom'], + 'iteration_mod' => ['description' => '迭代入口模块,仅iteration模式需要,可不填写', 'type' => 'string', 'required' => false, 'example' => 'a.b.module'], + 'iteration_func' => ['description' => '迭代入口函数,仅iteration模式需要,可不填写', 'type' => 'string', 'required' => false, 'example' => 'Class.function'], + 'uid' => ['description' => '阿里云用户ID,OpenAPI方式无需填写', 'type' => 'string', 'required' => false, 'example' => '123423414'], + 'created_by' => ['description' => '创建者,OpenAPI方式无需填写', 'type' => 'string', 'required' => false, 'example' => '445333'], + 'instance_type' => ['description' => '实例类型,OpenAPI方式无需填写', 'type' => 'string', 'required' => false, 'example' => 'ip/sn/hostname'], + 'region' => ['description' => '地域id', 'type' => 'string', 'required' => false, 'example' => 'cn-shenzhen'], + 'iteration_range' => [ + 'description' => '迭代范围(迭代数:指数据采集模块激活时的迭代次数,独立于AI作业的迭代计数)', + 'type' => 'array', + 'items' => ['description' => '[起始迭代数,结束迭代数]', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '[5,14]'], 'required' => false, - 'example' => 'cn-hangzhou', ], - 'instances' => [ - 'title' => '需要检查的实例ID列表', - 'description' => '需要检查的实例ID列表', + 'analysis_params' => [ + 'description' => '数据丰富度', 'type' => 'array', 'items' => [ - 'title' => '实例ID', - 'description' => '实例ID', + 'description' => 'gpu:GPU算子'."\n" + .'python:Python调用栈'."\n" + .'cPU:CPU信息'."\n" + .'torch:Torch显存信息'."\n" + .'flops:浮点数运算次数', 'type' => 'string', 'required' => false, - 'example' => 'i-2zxxxxxx', + 'enumValueTitles' => ['python' => 'Python调用栈', 'memory' => 'Torch显存信息', 'cpu' => 'CPU信息', 'flops' => '浮点数运算次数', 'gpu' => 'GPU算子'], + 'example' => '[gpu,cpu,torch]', ], 'required' => false, - 'example' => '["i-2zxxxxxx"]', ], + 'analysisTool' => ['description' => '分析工具,OpenAPI方式无需填写', 'type' => 'string', 'required' => false, 'example' => 'gp/pyki/analysis'], ], 'required' => false, ], @@ -10042,106 +7160,63 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'title' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'code' => ['description' => '返回码。', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息。', 'type' => 'string', 'example' => '""'], 'data' => [ - 'title' => '返回数据。', - 'description' => '返回数据。', - 'type' => 'array', - 'items' => [ - 'title' => '返回结果。', - 'description' => '返回结果。', - 'type' => 'object', - 'properties' => [ - 'support' => [ - 'title' => '是否支持被 SysOM 纳管'."\n" - ."\n" - .'- **true**:支持被 SysOM 纳管'."\n" - ."\n" - .'- **false**:不支持被 SysOM 纳管', - 'description' => '是否支持被 SysOM 纳管'."\n" - ."\n" - .'- **true**:支持被 SysOM 纳管'."\n" - ."\n" - .'- **false**:不支持被 SysOM 纳管', - 'type' => 'boolean', - 'example' => 'true', - ], - 'reason' => [ - 'title' => '当success为false时,该值不为空,表示不支持被纳管的原因', - 'description' => '当success为false时,该值不为空,表示不支持被纳管的原因', - 'type' => 'string', - 'example' => 'instance not found in ecs', - ], - 'instance' => [ - 'title' => 'ECS实例ID', - 'description' => 'ECS实例ID', - 'type' => 'string', - 'example' => 'i-wz9d00ut2ska3mlyhn6j', - ], - ], + 'description' => '返回数据', + 'type' => 'object', + 'properties' => [ + 'analysis_id' => ['description' => 'AI分析ID', 'type' => 'string', 'example' => '16896fa8-37f6-4c70-bb32-67fa9817d426'], ], ], - 'message' => [ - 'title' => '错误信息,code != Success 时,在此处存放错误信息', - 'description' => '错误信息,code != Success 时,在此处存放错误信息', - 'type' => 'string', - 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom', - ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": {\\n \\"analysis_id\\": \\"16896fa8-37f6-4c70-bb32-67fa9817d426\\"\\n }\\n}","type":"json"}]', + 'title' => '启动AI Infra观测', + 'changeSet' => [ + ['createdAt' => '2025-07-08T06:22:21.000Z', 'description' => '请求参数发生变更'], + ['createdAt' => '2025-02-26T08:32:01.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:StartAIAnalysis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"data\\": [\\n {\\n \\"support\\": true,\\n \\"reason\\": \\"instance not found in ecs\\",\\n \\"instance\\": \\"i-wz9d00ut2ska3mlyhn6j\\"\\n }\\n ],\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\"\\n}","type":"json"}]', - 'title' => '检查实例是否支持', - 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', ], 'StartAIDiffAnalysis' => [ 'summary' => '启动AI Infra差分分析。', 'path' => '/api/v1/appObserv/aiAnalysis/diffAnalysis', - 'methods' => [ - 'post', - ], - 'schemes' => [ - 'https', - ], + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxFVZ8GD', - ], + 'abilityTreeNodes' => ['FEATUREalinuxFVZ8GD'], ], 'parameters' => [ [ @@ -10156,37 +7231,15 @@ 'description' => 'task1参数', 'type' => 'object', 'properties' => [ - 'analysisId' => [ - 'description' => 'AI分析ID', - 'type' => 'string', - 'required' => false, - 'example' => '16896fa8-37f6-4c70-bb32-67fa9817d426', - ], + 'analysisId' => ['description' => 'AI分析ID', 'type' => 'string', 'required' => false, 'example' => '16896fa8-37f6-4c70-bb32-67fa9817d426'], 'pids' => [ 'description' => 'AI作业进程pid,支持批量输入,逗号分隔', 'type' => 'array', - 'items' => [ - 'description' => 'AI作业进程pid', - 'type' => 'string', - 'required' => false, - 'example' => '452651:python3 ./test.py', - ], - 'required' => false, - ], - 'step_start' => [ - 'description' => 'step起始时间,根据所选step编号计算而来', - 'type' => 'number', - 'format' => 'float', + 'items' => ['description' => 'AI作业进程pid', 'type' => 'string', 'required' => false, 'example' => '452651:python3 ./test.py'], 'required' => false, - 'example' => '4660550379415.497', - ], - 'step_end' => [ - 'description' => 'step结束时间,根据所选step编号计算而来', - 'type' => 'number', - 'format' => 'float', - 'required' => false, - 'example' => '4660551334179.955', ], + 'step_start' => ['description' => 'step起始时间,根据所选step编号计算而来', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4660550379415.497'], + 'step_end' => ['description' => 'step结束时间,根据所选step编号计算而来', 'type' => 'number', 'format' => 'float', 'required' => false, 'example' => '4660551334179.955'], ], 'required' => true, 'example' => 'task1参数', @@ -10195,38 +7248,16 @@ 'description' => 'task2参数', 'type' => 'object', 'properties' => [ - 'analysisId' => [ - 'description' => 'AI分析ID', - 'type' => 'string', - 'required' => true, - 'example' => '16896fa8-37f6-4c70-bb32-67fa9817d426', - ], + 'analysisId' => ['description' => 'AI分析ID', 'type' => 'string', 'required' => true, 'example' => '16896fa8-37f6-4c70-bb32-67fa9817d426'], 'pids' => [ 'description' => 'AI作业进程pid,支持批量输入,逗号分隔', 'type' => 'array', - 'items' => [ - 'description' => 'AI作业进程pid', - 'type' => 'string', - 'required' => false, - 'example' => '452651:python3 ./test.py', - ], + 'items' => ['description' => 'AI作业进程pid', 'type' => 'string', 'required' => false, 'example' => '452651:python3 ./test.py'], 'required' => true, 'example' => '452651:python3 ./test.py', ], - 'step_start' => [ - 'description' => 'step起始时间,根据所选step编号计算而来', - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '4660550379415.497', - ], - 'step_end' => [ - 'description' => 'step结束时间,根据所选step编号计算而来', - 'type' => 'number', - 'format' => 'float', - 'required' => true, - 'example' => '4660551334179.955', - ], + 'step_start' => ['description' => 'step起始时间,根据所选step编号计算而来', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '4660550379415.497'], + 'step_end' => ['description' => 'step结束时间,根据所选step编号计算而来', 'type' => 'number', 'format' => 'float', 'required' => true, 'example' => '4660551334179.955'], ], 'required' => true, 'example' => 'task2参数,目前只支持相同analysisId和pid的对比', @@ -10243,251 +7274,520 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误码描述,若无错误则为空', - 'type' => 'string', - 'example' => '""', - ], - 'data' => [ - 'description' => 'AI差分分析结果数据', - 'type' => 'string', - 'example' => '"['."\n" - .' {'."\n" - .' name: "xxx", #算子名称'."\n" - .' before_time: 2, # 前者总耗时'."\n" - .' after_time: 4, # 后者总耗时'."\n" - .' time_diff: 2, # 耗时差异'."\n" - .' before_time_perc: "80%", # 前者总耗时百分比'."\n" - .' after_time_perc: "23%", # 后者总耗时百分比'."\n" - .' time_perc_diff: "-54%", # 耗时差异'."\n" - .' before_count: 1, # 前者总调用差异'."\n" - .' after_count: 2, # 后者总调用差异'."\n" - .' count_diff: 1, # 调用差异'."\n" - .' before_count_perc: "56%", # 前者总调用差异'."\n" - .' after_count_perc: "32%", # 后者总调用差异'."\n" - .' count_perc_diff: "44%", # 调用差异'."\n" - .' },'."\n" - .' {...}'."\n" - .']"', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误码描述,若无错误则为空', 'type' => 'string', 'example' => '""'], + 'data' => ['description' => 'AI差分分析结果数据', 'type' => 'string', 'example' => '"['."\n" + .' {'."\n" + .' name: "xxx", #算子名称'."\n" + .' before_time: 2, # 前者总耗时'."\n" + .' after_time: 4, # 后者总耗时'."\n" + .' time_diff: 2, # 耗时差异'."\n" + .' before_time_perc: "80%", # 前者总耗时百分比'."\n" + .' after_time_perc: "23%", # 后者总耗时百分比'."\n" + .' time_perc_diff: "-54%", # 耗时差异'."\n" + .' before_count: 1, # 前者总调用差异'."\n" + .' after_count: 2, # 后者总调用差异'."\n" + .' count_diff: 1, # 调用差异'."\n" + .' before_count_perc: "56%", # 前者总调用差异'."\n" + .' after_count_perc: "32%", # 后者总调用差异'."\n" + .' count_perc_diff: "44%", # 调用差异'."\n" + .' },'."\n" + .' {...}'."\n" + .']"'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], + 'staticInfo' => ['returnType' => 'synchronous'], 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": \\"\\\\\\"[\\\\n {\\\\n name: \\\\\\"xxx\\\\\\", #算子名称\\\\n before_time: 2, # 前者总耗时\\\\n after_time: 4, # 后者总耗时\\\\n time_diff: 2, # 耗时差异\\\\n before_time_perc: \\\\\\"80%\\\\\\", # 前者总耗时百分比\\\\n after_time_perc: \\\\\\"23%\\\\\\", # 后者总耗时百分比\\\\n time_perc_diff: \\\\\\"-54%\\\\\\", # 耗时差异\\\\n before_count: 1, # 前者总调用差异\\\\n after_count: 2, # 后者总调用差异\\\\n count_diff: 1, # 调用差异\\\\n before_count_perc: \\\\\\"56%\\\\\\", # 前者总调用差异\\\\n after_count_perc: \\\\\\"32%\\\\\\", # 后者总调用差异\\\\n count_perc_diff: \\\\\\"44%\\\\\\", # 调用差异\\\\n },\\\\n {...}\\\\n]\\\\\\"\\"\\n}","type":"json"}]', 'title' => '启动AI Infra差分分析', 'description' => '目前仅支持同个AI Infra分析记录下,相同pid在不同step下的对比分析。', - ], - 'DescribeMetricList' => [ - 'summary' => '查询指标', - 'path' => '/api/v1/openapi/proxy/get/describeMetricList', - 'methods' => [ - 'get', - ], - 'schemes' => [ - 'https', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:StartAIDiffAnalysis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'UninstallAgent' => [ + 'summary' => '卸载指定版本的组件', + 'path' => '/api/v1/am/agent/uninstall_agent', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'get', + 'operationType' => 'delete', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'instance', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '实例ID。', - 'description' => '实例ID。', - 'type' => 'string', + 'description' => '请求Body', + 'type' => 'object', + 'properties' => [ + 'instances' => [ + 'description' => '要卸载组件的实例列表', + 'type' => 'array', + 'items' => [ + 'description' => '实例信息', + 'type' => 'object', + 'properties' => [ + 'instance' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'i-wz9b9vucz1iubsz8sjqo'], + 'region' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + 'required' => true, + ], + 'required' => true, + ], + 'agent_id' => ['description' => '要卸载的组件ID', 'type' => 'string', 'required' => true, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + 'agent_version' => ['description' => '要卸载的组件版本', 'type' => 'string', 'required' => true, 'example' => '3.4.0-1'], + ], 'required' => false, - 'example' => 'i-wz9d00ut2ska3mlyhn6j', ], ], - [ - 'name' => 'metricName', - 'in' => 'query', + ], + 'responses' => [ + 200 => [ 'schema' => [ - 'title' => '监控项名称', - 'description' => '监控项名称', - 'type' => 'string', - 'required' => false, - 'example' => 'sysom_cpu_graph', + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom'], + 'data' => [ + 'description' => '返回数据', + 'type' => 'object', + 'properties' => [ + 'task_id' => ['description' => '任务ID。', 'type' => 'string', 'example' => '63fc5acb99e642d793f42912612e8001'], + ], + ], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => '13772206-1162-5A0F-81F0-79A10C249A5E'], + ], ], ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SysomOpenAPI.RegionNotSupport', 'errorMessage' => 'Region not supported.', 'description' => '地域不支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '卸载组件', + 'description' => '调用本接口卸载 Agent 是异步的,调用接口后会返回一个 task_id,可以凭借该 ID 调用 GetAgentTask 接口获取任务的执行情况。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": {\\n \\"task_id\\": \\"63fc5acb99e642d793f42912612e8001\\"\\n },\\n \\"RequestId\\": \\"13772206-1162-5A0F-81F0-79A10C249A5E\\"\\n}","type":"json"}]', + ], + 'UninstallAgentForCluster' => [ + 'summary' => '给集群卸载组件', + 'path' => '/api/v1/am/agent/uninstall_agent_by_cluster', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ [ - 'name' => 'startTime', - 'in' => 'query', - 'schema' => [ - 'title' => '起始时间,秒级时间戳'."\n", - 'description' => '起始时间,秒级时间戳'."\n", - 'type' => 'integer', - 'format' => 'int64', - 'required' => false, - 'example' => '1709740800000', - ], + 'AK' => [], ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'create', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '253536', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ [ - 'name' => 'endTime', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '截止时间,秒级时间戳', - 'description' => '截止时间,秒级时间戳', - 'type' => 'integer', - 'format' => 'int64', + 'description' => '请求Body', + 'type' => 'object', + 'properties' => [ + 'cluster_id' => ['description' => '集群ID。'."\n" + ."\n" + .'> 这个集群ID要传递 ACK 集群的ID', 'type' => 'string', 'required' => false, 'example' => 'c822f83bb45994ddbac9326b4c2f04f35'], + 'agent_id' => ['description' => '组件ID', 'type' => 'string', 'required' => false, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + 'agent_version' => ['description' => '组件版本', 'type' => 'string', 'required' => false, 'example' => '3.4.0-1'], + ], 'required' => false, - 'example' => '1683618245000', ], ], ], 'responses' => [ 200 => [ 'schema' => [ - 'title' => '响应参数:'."\n", - 'description' => '响应参数:'."\n", + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'title' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'title' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => '分析ID: 56dae746-ef55-4f77-8373-cb3594c41457'."\n" - .'机器i-bp164ns76pzirbwv0snt分析失败, 失败原因: Not get GPU trace data for \'56dae746-ef55-4f77-8373-cb3594c41457\' \'[\'93811\']\'!', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIException: SysomOpenAPI.NotAuthorizedInstance Instance 21 is not authorized'], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => '44841312-7227-55C9-AE03-D59729BFAE38'], 'data' => [ - 'title' => '返回数据。', - 'description' => '返回数据。', + 'description' => '返回数据', + 'type' => 'object', + 'properties' => [ + 'task_id' => ['description' => '任务ID。'."\n" + .'可以通过本任务 ID,调用 GetAgentTasK 查询任务的执行状态', 'type' => 'string', 'example' => '049ea0609515414b9e19c3389d7ba638'], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SysomOpenAPI.RegionNotSupport', 'errorMessage' => 'Region not supported.', 'description' => '地域不支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '为ACK集群卸载组件', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.NotAuthorizedInstance Instance 21 is not authorized\\",\\n \\"RequestId\\": \\"44841312-7227-55C9-AE03-D59729BFAE38\\",\\n \\"data\\": {\\n \\"task_id\\": \\"049ea0609515414b9e19c3389d7ba638\\"\\n }\\n}","type":"json"}]', + ], + 'UninstallAgentWithType' => [ + 'summary' => '卸载指定版本的组件', + 'path' => '/api/v1/am/agent/uninstallAgent', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'delete', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求Body', + 'type' => 'object', + 'properties' => [ + 'instances' => [ + 'description' => '要卸载组件的实例列表', 'type' => 'array', 'items' => [ - 'title' => '返回数据。', - 'description' => '返回数据。', + 'description' => '实例信息', 'type' => 'object', 'properties' => [ - 'metricName' => [ - 'title' => '监控项名称', - 'description' => '监控项名称', - 'type' => 'string', - 'example' => 'sysom_cpu_usage_idle', - ], - 'labels' => [ - 'title' => '监控项标签', - 'description' => '监控项标签', - 'type' => 'string', - 'example' => '{\'taskExecName\': \'build-and-deploy\', \'pipelineName\': \'pipeline-run-1722909642357\'}', - ], - 'values' => [ - 'description' => '指标数据', - 'type' => 'array', - 'items' => [ - 'title' => '监控数据', - 'description' => '一个数据点,格式为 [<时间>, <数值>]', - 'type' => 'array', - 'items' => [ - 'description' => '时间/数值', - 'type' => 'string', - 'example' => '1743036429.0', - ], - 'example' => '["1743036429.0", "10489572.0"]', - ], - ], + 'instance' => ['description' => '实例 ID', 'type' => 'string', 'required' => true, 'example' => 'i-wz9b9vucz1iubsz8sjqo'], + 'region' => ['description' => '地域 ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], ], + 'required' => true, ], + 'required' => true, + ], + 'agentId' => ['description' => '要卸载的组件 ID', 'type' => 'string', 'required' => true, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'."\n"], + 'agentVersion' => ['description' => '要卸载的组件版本', 'type' => 'string', 'required' => true, 'example' => '3.4.0-1'."\n"], + 'instanceType' => [ + 'description' => '实例类型', + 'type' => 'string', + 'required' => false, + 'example' => 'ecs', + 'enum' => ['ecs', 'eflo'], ], ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => "\n" + .'“”'], + 'data' => [ + 'description' => '返回数据', + 'type' => 'object', + 'properties' => [ + 'taskId' => ['description' => '任务ID', 'type' => 'string', 'example' => '63fc5acb99e642d793f42912612e8001'."\n"], + ], + ], + 'requestId' => ['description' => '请求 ID,可用于全链路诊断', 'type' => 'string', 'example' => '13772206-1162-5A0F-81F0-79A10C249A5E'."\n"], + ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '卸载组件', + 'description' => '调用本接口卸载 Agent 是异步的,调用接口后会返回一个 task_id,可以凭借该 ID 调用 GetAgentTask 接口获取任务的执行情况。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"分析ID: 56dae746-ef55-4f77-8373-cb3594c41457\\\\n机器i-bp164ns76pzirbwv0snt分析失败, 失败原因: Not get GPU trace data for \'56dae746-ef55-4f77-8373-cb3594c41457\' \'[\'93811\']\'!\\",\\n \\"data\\": [\\n {\\n \\"metricName\\": \\"sysom_cpu_usage_idle\\",\\n \\"labels\\": \\"{\'taskExecName\': \'build-and-deploy\', \'pipelineName\': \'pipeline-run-1722909642357\'}\\",\\n \\"values\\": [\\n [\\n \\"1743036429.0\\"\\n ]\\n ]\\n }\\n ]\\n}","type":"json"}]', - 'title' => '查询指标数据', - 'description' => '当前接口获取的实例列表是已经被 SysOM 纳管的机器列表,如果某个ECS实例存在但是没有被 SysOM 纳管,则不会出现在列表当中。', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\n“”\\",\\n \\"data\\": {\\n \\"taskId\\": \\"63fc5acb99e642d793f42912612e8001\\\\n\\"\\n },\\n \\"requestId\\": \\"13772206-1162-5A0F-81F0-79A10C249A5E\\\\n\\"\\n}","type":"json"}]', ], - 'CreateVmcoreDiagnosisTask' => [ - 'summary' => '该接口创建一个宕机智能诊断任务,对参数输入的vmcore或者dmesg日志文件进行诊断。', - 'path' => '/api/v1/crashAgent/diagnosis/createDiagnosisTask', - 'methods' => [ - 'post', + 'UpdateAlertDestination' => [ + 'path' => '/api/v1/alertPusher/alert/updateDestination', + 'methods' => ['put'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], ], - 'schemes' => [ - 'https', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREalinux33ME7W'], ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => 'HTTP请求体。', + 'type' => 'object', + 'properties' => [ + 'id' => ['description' => '告警联系人id', 'type' => 'string', 'required' => false, 'example' => '1'], + 'target' => ['description' => '告警推送目标,当前仅支持钉钉联系人', 'type' => 'string', 'required' => false, 'example' => 'dingtalk'], + 'params' => [ + 'description' => '配置参数', + 'type' => 'object', + 'properties' => [ + 'webhook' => ['description' => '机器人地址', 'type' => 'string', 'required' => false, 'example' => 'https://oapi.dingtalk.com/robot/send?access_token=xxx'."\n"], + 'sec' => ['description' => '机器人密钥', 'type' => 'string', 'required' => false, 'example' => 'SECxxx'], + 'phone' => ['description' => '电话', 'type' => 'string', 'required' => false, 'example' => '1xxx'], + 'email' => ['description' => '邮箱', 'type' => 'string', 'required' => false, 'example' => 'xxx@email.com'."\n"], + ], + 'required' => false, + ], + 'name' => ['description' => '告警联系人名称', 'type' => 'string', 'required' => false, 'example' => 'name1'], + 'source' => ['description' => '配置来源', 'type' => 'string', 'required' => false, 'example' => 'console'], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => '请求ID', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'SysomOpenAPI.InvalidParameter'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => "\n" + .'Success'], + 'data' => ['description' => '返回结果。', 'type' => 'any', 'example' => '{'."\n" + .'"webhook":"",'."\n" + .'"sec":""'."\n" + .'}'], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'Sysom.ServerError', 'errorMessage' => 'Server error, please correct the code according to the error message. %s.', 'description' => '服务端错误,请根据错误提示信息修正代码'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新告警联系人', + 'summary' => '本接口用于更新告警联系人', + 'description' => '、', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"SysomOpenAPI.InvalidParameter\\",\\n \\"message\\": \\"\\\\nSuccess\\",\\n \\"data\\": \\"{\\\\n\\\\\\"webhook\\\\\\":\\\\\\"\\\\\\",\\\\n\\\\\\"sec\\\\\\":\\\\\\"\\\\\\"\\\\n}\\"\\n}","type":"json"}]', + ], + 'UpdateAlertEnabled' => [ + 'summary' => '用户更新推送告警策略的状态', + 'path' => '/api/v1/alertPusher/alert/updateEnabled', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'none', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeNodes' => ['FEATUREalinuxJZOVCX'], ], - 'produces' => [ - 'application/json', + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求体参数', + 'type' => 'object', + 'properties' => [ + 'enabled' => ['description' => '告警策略是否生效', 'type' => 'boolean', 'required' => false, 'example' => 'true'], + 'id' => ['description' => '告警策略id', 'type' => 'integer', 'format' => 'int64', 'required' => false, 'example' => '1'], + ], + 'required' => false, + ], + ], ], - 'operationType' => 'write', + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n"], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'success'], + 'data' => ['description' => '返回数据', 'type' => 'any', 'example' => '{'."\n" + .' "uid": "1808078950770264",'."\n" + .' "name": "test-name",'."\n" + .' "strategy": {'."\n" + .' "items": ['."\n" + .' "节点CPU使用率检测"'."\n" + .' ],'."\n" + .' "clusters": ['."\n" + .' "cluster1"'."\n" + .' ]'."\n" + .' },'."\n" + .' "enabled": true,'."\n" + .' "id": 1,'."\n" + .' "created_at": 1753172727,'."\n" + .' "updated_at": 1753172727'."\n" + .' }'], + ], + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"success\\",\\n \\"data\\": \\"{\\\\n \\\\\\"uid\\\\\\": \\\\\\"1808078950770264\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"test-name\\\\\\",\\\\n \\\\\\"strategy\\\\\\": {\\\\n \\\\\\"items\\\\\\": [\\\\n \\\\\\"节点CPU使用率检测\\\\\\"\\\\n ],\\\\n \\\\\\"clusters\\\\\\": [\\\\n \\\\\\"cluster1\\\\\\"\\\\n ]\\\\n },\\\\n \\\\\\"enabled\\\\\\": true,\\\\n \\\\\\"id\\\\\\": 1,\\\\n \\\\\\"created_at\\\\\\": 1753172727,\\\\n \\\\\\"updated_at\\\\\\": 1753172727\\\\n }\\"\\n}","type":"json"}]', + 'title' => '更新告警策略状态', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:UpdateAlertEnabled', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + ], + 'UpdateAlertStrategy' => [ + 'path' => '/api/v1/alertPusher/alert/updateStrategy', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ 'operationType' => 'none', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREalinuxJZOVCX'], ], 'parameters' => [ [ @@ -10495,55 +7795,139 @@ 'in' => 'body', 'style' => 'json', 'schema' => [ - 'description' => '请求Body', + 'description' => 'HTTP请求体。', 'type' => 'object', 'properties' => [ - 'taskType' => [ - 'title' => '任务类型', - 'description' => '任务类型'."\n" - ."\n" - .'vmcore: vmcore文件诊断任务'."\n" - ."\n" - .'dmesg:dmesg日志诊断任务', - 'type' => 'string', - 'required' => true, - 'enumValueTitles' => [ - 'dmesg' => 'dmesg', - 'vmcore' => 'vmcore', + 'name' => ['description' => '告警策略名称', 'type' => 'string', 'required' => true, 'example' => 'strategy1'], + 'id' => ['description' => '告警策略id', 'type' => 'integer', 'format' => 'int64', 'required' => true, 'example' => '1'], + 'enabled' => ['description' => '告警策略是否生效', 'type' => 'boolean', 'required' => true, 'example' => 'true'], + 'strategy' => [ + 'description' => '告警策略详情', + 'type' => 'object', + 'properties' => [ + 'items' => [ + 'description' => '接收告警的异常项合计', + 'type' => 'array', + 'items' => ['description' => '异常项名称', 'type' => 'string', 'required' => false, 'example' => '节点CPU使用率检测'], + 'required' => false, + ], + 'clusters' => [ + 'description' => '接收告警的集群合集', + 'type' => 'array', + 'items' => ['description' => '集群名称', 'type' => 'string', 'required' => false, 'example' => 'cluster1'], + 'required' => false, + ], + 'destinations' => [ + 'type' => 'array', + 'items' => ['type' => 'integer', 'format' => 'int32'], + ], ], - 'example' => 'vmcore', - ], - 'vmcoreUrl' => [ - 'title' => 'vmcore下载链接', - 'description' => 'vmcore文件的下载链接,当诊断类型为vmcore时必填', - 'type' => 'string', - 'required' => false, - 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/vmcore/file/path', - ], - 'debuginfoUrl' => [ - 'title' => 'debuginfo下载链接', - 'description' => 'debugifno文件的下载链接,vmcore文件的下载链接,当诊断类型为vmcore时选填。'."\n" - ."\n" - .'对于CentOS或Alinux内核诊断会自动下载相应的debuginfo文件,此时无需提供该参数;对于其他发行版内核,需要手动提供对应内核版本的debuginfo文件下载链接。', - 'type' => 'string', - 'required' => false, - 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo/file/path', + 'required' => true, ], - 'debuginfoCommonUrl' => [ - 'title' => 'debuginfo-common rpm包下载链接', - 'description' => 'debugifno-common文件的下载链接,当诊断类型为vmcore时选填。'."\n" - ."\n" - .'对于CentOS或Alinux内核诊断会自动下载相应的debuginfo-common文件,此时无需提供该参数;对于其他发行版内核,需要手动提供对应内核版本的debuginfo-common文件下载链接。', + 'k8sLabel' => ['type' => 'boolean', 'required' => false, 'description' => ''], + ], + 'required' => false, + ], + ], + ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => '更新告警策略失败'], + 'data' => ['description' => '返回结果。', 'type' => 'any', 'example' => '{'."\n" + .' "uid": "uid-1",'."\n" + .' "name": "test-name",'."\n" + .' "strategy": {'."\n" + .' "clusters": ["test-cluster-1","test-cluster-2"],'."\n" + .' "items": ["test-item1","test-item2"]'."\n" + .' },'."\n" + .' "enabled": True'."\n" + .'}'], + ], + ], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新告警策略', + 'summary' => '更新推送告警策略', + 'changeSet' => [ + ['createdAt' => '2025-11-03T02:34:05.000Z', 'description' => '请求参数发生变更'], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [ + [ + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:UpdateAlertStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"更新告警策略失败\\",\\n \\"data\\": \\"{\\\\n \\\\\\"uid\\\\\\": \\\\\\"uid-1\\\\\\",\\\\n \\\\\\"name\\\\\\": \\\\\\"test-name\\\\\\",\\\\n \\\\\\"strategy\\\\\\": {\\\\n \\\\\\"clusters\\\\\\": [\\\\\\"test-cluster-1\\\\\\",\\\\\\"test-cluster-2\\\\\\"],\\\\n \\\\\\"items\\\\\\": [\\\\\\"test-item1\\\\\\",\\\\\\"test-item2\\\\\\"]\\\\n },\\\\n \\\\\\"enabled\\\\\\": True\\\\n}\\"\\n}","type":"json"}]', + ], + 'UpdateEventsAttention' => [ + 'summary' => '异常项关注度更新,通过调整关注度影响异常项检测算法的敏感度。', + 'path' => '/api/v1/openapi/proxy/post/cluster_update_events_attention', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '256747', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'publicInformation', + ], + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求body。', + 'type' => 'object', + 'properties' => [ + 'uuid' => ['description' => '异常事件对应的uuid', 'type' => 'string', 'required' => true, 'example' => '03de78af-f49f-433d-b5b1-0f6a70c493ba'], + 'range' => [ + 'description' => '生效的范围,集群(cluster)或节点(node)', 'type' => 'string', 'required' => false, - 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo-common/file/path', + 'enumValueTitles' => ['node' => 'node', 'cluster' => 'cluster'], + 'example' => 'cluster', ], - 'dmesgUrl' => [ - 'title' => 'dmesg下载链接', - 'description' => 'dmesg日志文件的下载链接,当诊断类型为dmesg时必填', - 'type' => 'string', + 'mode' => [ + 'description' => '异常事件的敏感度,取值为-1 - 3,-1代表敏感度减1,0代表敏感度加1。', + 'type' => 'integer', + 'format' => 'int32', 'required' => false, - 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/dmesg/file/path', + 'enumValueTitles' => ['0', '1', '2', '3', -1 => '-1'], + 'example' => '-1', ], ], 'required' => false, @@ -10557,92 +7941,110 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'description' => '请求id', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => '""', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['title' => 'Id of the request', 'description' => '错误信息', 'type' => 'string', 'example' => 'Instance not belong to current user'], 'data' => [ 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'taskId' => [ - 'title' => '任务ID', - 'description' => '创建的诊断任务ID', - 'type' => 'string', - 'enumValueTitles' => [], - 'example' => 'bbe94a98-4192-4172-b856-95777e0a55d7', - ], + 'mode' => ['description' => '修改后的关注度值', 'type' => 'integer', 'format' => 'int32', 'example' => '1'], ], ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => '44841312-7227-55C9-AE03-D59729BFAE38'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"Instance not belong to current user\\",\\n \\"data\\": {\\n \\"mode\\": 1\\n },\\n \\"RequestId\\": \\"44841312-7227-55C9-AE03-D59729BFAE38\\"\\n}","type":"json"}]', + 'title' => '更新异常项关注度', + 'changeSet' => [ + ['createdAt' => '2025-03-12T10:58:51.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"message\\": \\"\\\\\\"\\\\\\"\\",\\n \\"data\\": {\\n \\"taskId\\": \\"bbe94a98-4192-4172-b856-95777e0a55d7\\"\\n },\\n \\"code\\": \\"Success\\"\\n}","type":"json"}]', - 'title' => '创建宕机诊断任务', - ], - 'GetVmcoreDiagnosisTask' => [ - 'summary' => '该接口根据任务ID查询对应的任务执行状态和诊断结果。', - 'path' => '/api/v1/crashAgent/diagnosis/queryTask', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sysom:UpdateEventsAttention', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'UpdateFuncSwitchRecord' => [ + 'summary' => '更新服务功能模块配置。', + 'path' => '/api/v1/func-switch/update-service-func-switch', + 'methods' => ['get'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'read', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'get', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], - 'autoTest' => true, - 'tenantRelevance' => 'tenant', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], ], 'parameters' => [ [ - 'name' => 'taskId', + 'name' => 'params', 'in' => 'query', + 'style' => 'json', 'schema' => [ - 'title' => '任务ID'."\n", - 'description' => '任务ID'."\n", - 'type' => 'string', + 'description' => '诊断参数,不同类型的诊断要求传递不同的诊断参数,可以使用本字段过滤出参数符合为指定值的记录。', + 'type' => 'object', + 'properties' => [ + 'function_name' => ['description' => '功能名称', 'type' => 'string', 'required' => true, 'example' => 'mullprof'], + 'instance' => ['description' => '实例ID', 'type' => 'string', 'required' => false, 'example' => 'i-2zei55fwj8nnu31h3z46'], + 'uid' => ['description' => '用户ID', 'type' => 'string', 'required' => false, 'example' => '1664516888213680'], + 'op' => ['description' => '操作类型', 'type' => 'string', 'required' => false, 'example' => 'restart'], + 'args' => [ + 'description' => '配置参数'."\n" + ."\n", + 'type' => 'object', + 'properties' => [ + 'add_cmd' => ['description' => '配置进程', 'type' => 'string', 'required' => false, 'example' => 'java'], + 'mem' => ['description' => '内存追踪开关', 'type' => 'string', 'required' => false, 'example' => 'true'], + 'locks' => ['description' => '锁追踪开关', 'type' => 'string', 'required' => false, 'example' => 'true'], + 'java_store_path' => ['description' => '存储路径', 'type' => 'string', 'required' => false, 'example' => '/tmp/sysom/java-profiler'], + 'system_profiling' => ['description' => '系统追踪开关', 'type' => 'string', 'required' => false, 'example' => 'true'], + 'cpu' => ['description' => 'ONCPU追踪开关', 'type' => 'string', 'required' => false, 'example' => 'true'], + 'loop' => ['description' => '追踪周期', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '-1'], + 'pid' => ['description' => '进程pid', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '1243'], + 'duration' => ['description' => '开始时长,单位为秒(s)', 'type' => 'integer', 'format' => 'int32', 'required' => false, 'example' => '3600'], + ], + 'required' => false, + ], + 'region' => ['description' => '实例所属 Region,务必保证 instances 中传递的所有实例ID都属于同一个 region', 'type' => 'string', 'required' => false, 'example' => 'cn-beijing'], + ], 'required' => true, - 'example' => 'bbe94a98-4192-4172-b856-95777e0a55d7', ], ], + [ + 'name' => 'service_name', + 'in' => 'query', + 'schema' => ['description' => '服务名称', 'type' => 'string', 'required' => true, 'example' => 'livetrace'], + ], + [ + 'name' => 'channel', + 'in' => 'query', + 'schema' => ['description' => '诊断通道(目前固定为ecs通道)', 'type' => 'string', 'required' => true, 'example' => 'ecs'], + ], ], 'responses' => [ 200 => [ @@ -10651,164 +8053,97 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822', - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict', - ], + 'requestId' => ['title' => 'Id of the request', 'description' => 'Id of the request', 'type' => 'string', 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'result: code=1 msg=(Request failed, status_code != 200)'], 'data' => [ - 'description' => '返回结果', + 'description' => '返回数据。', 'type' => 'object', 'properties' => [ - 'taskId' => [ - 'title' => '任务ID', - 'description' => '任务ID', - 'type' => 'string', - 'example' => 'bbe94a98-4192-4172-b856-95777e0a55d7', - ], - 'createdAt' => [ - 'title' => '任务创建时间', - 'description' => '任务创建时间', - 'type' => 'string', - 'example' => '2025-12-02T17:36:12', - ], - 'diagnoseResult' => [ - 'title' => '诊断结果', - 'description' => '诊断结果', - 'type' => 'string', - 'example' => 'result', - ], - 'errorMsg' => [ - 'title' => '诊断错误信息', - 'description' => '诊断错误信息', - 'type' => 'string', - 'example' => 'error message', - ], - 'taskType' => [ - 'title' => '任务类型', - 'description' => '任务类型', - 'type' => 'string', - 'enumValueTitles' => [ - 'dmesg' => 'dmesg', - 'vmcore' => 'vmcore', - ], - 'example' => 'vmcore', - ], - 'taskStatus' => [ - 'title' => '任务状态', - 'description' => '任务状态', - 'type' => 'string', - 'enumValueTitles' => [ - 'running' => 'running', - 'queuing' => 'queuing', - 'created' => 'created', - 'success' => 'success', - 'error' => 'error', - ], - 'example' => 'running', - ], - 'urls' => [ - 'title' => '任务携带的相关文件下载链接', - 'description' => '任务携带的相关文件下载链接', - 'type' => 'object', - 'properties' => [ - 'debuginfoCommonUrl' => [ - 'title' => 'debuginfo-common rpm包下载链接', - 'description' => 'debuginfo-common rpm包下载链接', - 'type' => 'string', - 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo-common/file/path', - ], - 'debuginfoUrl' => [ - 'title' => 'debuginfo rpm包下载链接', - 'description' => 'debuginfo rpm包下载链接', - 'type' => 'string', - 'example' => ' '."\n" - .'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo/file/path', - ], - 'dmesgUrl' => [ - 'title' => 'dmesg日志下载链接', - 'description' => 'dmesg日志下载链接', - 'type' => 'string', - 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/dmesg/file/path', - ], - 'vmcoreUrl' => [ - 'title' => 'vmcore文件下载链接', - 'description' => 'vmcore文件下载链接', - 'type' => 'string', - 'example' => 'https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/vmcore/file/path', - ], - ], - ], + 'task_id' => ['description' => '任务ID', 'type' => 'string', 'example' => '63fc5acb99e642d793f42912612e8001'], ], ], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"result: code=1 msg=(Request failed, status_code != 200)\\",\\n \\"data\\": {\\n \\"task_id\\": \\"63fc5acb99e642d793f42912612e8001\\"\\n }\\n}","type":"json"}]', + 'title' => '更新服务功能模块配置', + 'description' => '- 需要按通用LLM服务输入参数填充参数,转为string后赋给llmParamString'."\n" + .'- 返回数据需将string转为dict后使用,参考通用LLM服务返回格式', + 'changeSet' => [ + ['createdAt' => '2025-03-12T06:46:08.000Z', 'description' => '请求参数发生变更'], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": {\\n \\"taskId\\": \\"bbe94a98-4192-4172-b856-95777e0a55d7\\",\\n \\"createdAt\\": \\"2025-12-02T17:36:12\\",\\n \\"diagnoseResult\\": \\"result\\",\\n \\"errorMsg\\": \\"error message\\",\\n \\"taskType\\": \\"vmcore\\",\\n \\"taskStatus\\": \\"running\\",\\n \\"urls\\": {\\n \\"debuginfoCommonUrl\\": \\"https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo-common/file/path\\",\\n \\"debuginfoUrl\\": \\"\\\\t\\\\nhttps://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/debuginfo/file/path\\",\\n \\"dmesgUrl\\": \\"https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/dmesg/file/path\\",\\n \\"vmcoreUrl\\": \\"https://bucket-cn-hangzhou.oss-cn-hangzhou.aliyuncs.com/vmcore/file/path\\"\\n }\\n }\\n}","type":"json"}]', - 'title' => '查询诊断任务', - ], - 'ListVmcoreDiagnosisTask' => [ - 'summary' => '查询历史宕机诊断列表。', - 'path' => '/api/v1/crashAgent/diagnosis/queryTaskList', - 'methods' => [ - 'get', + 'flowControl' => [ + 'flowControlList' => [], ], - 'schemes' => [ - 'https', + 'ramActions' => [ + [ + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:UpdateFuncSwitchRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], ], + ], + 'UpgradeAgent' => [ + 'path' => '/api/v1/am/agent/upgrade_agent', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', - ], - 'produces' => [ - 'application/json', - ], - 'operationType' => 'read', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinux586OFI', - ], + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], 'autoTest' => true, 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ - 'name' => 'days', - 'in' => 'query', + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', 'schema' => [ - 'title' => '表示过去days天的任务,最多不超过30天', - 'description' => '表示过去days天的任务,最多不超过30天', - 'type' => 'integer', - 'format' => 'int64', - 'required' => true, - 'example' => '3', + 'description' => '请求Body', + 'type' => 'object', + 'properties' => [ + 'instances' => [ + 'description' => '要更新组件的实例列表', + 'type' => 'array', + 'items' => [ + 'description' => '实例信息', + 'type' => 'object', + 'properties' => [ + 'instance' => ['description' => '实例ID。', 'type' => 'string', 'required' => true, 'example' => 'i-wz9b9vucz1iubsz8sjqo'], + 'region' => ['description' => '地域ID。', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + 'required' => true, + ], + 'required' => true, + ], + 'agent_id' => ['description' => '要更新的组件ID', 'type' => 'string', 'required' => true, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + 'agent_version' => ['description' => '要更新的组件版本', 'type' => 'string', 'required' => true, 'example' => '3.4.0-1'], + ], + 'required' => false, ], ], ], @@ -10819,125 +8154,145 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict', - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => 'SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict'], 'data' => [ 'description' => '返回数据', - 'type' => 'array', - 'items' => [ - 'description' => '响应数据。', - 'type' => 'object', - 'properties' => [ - 'taskId' => [ - 'title' => '任务ID', - 'description' => '任务ID', - 'type' => 'string', - 'example' => 'bbe94a98-4192-4172-b856-95777e0a55d7'."\n", - ], - 'taskType' => [ - 'title' => '任务类型', - 'description' => '任务类型', - 'type' => 'string', - 'enumValueTitles' => [ - 'dmesg' => 'dmesg', - 'vmcore' => 'vmcore', - ], - 'example' => 'vmcore', - ], - 'taskStatus' => [ - 'title' => '任务状态', - 'description' => '任务状态', - 'type' => 'string', - 'enumValueTitles' => [ - 'running' => 'running', - 'queuing' => 'queuing', - 'created' => 'created', - 'success' => 'success', - 'error' => 'error', - ], - 'example' => 'running', - ], - 'createdAt' => [ - 'title' => '任务创建时间', - 'description' => '任务创建时间', - 'type' => 'string', - 'example' => '2025-12-02T17:36:12'."\n", - ], - 'errorMsg' => [ - 'title' => '错误信息', - 'description' => '错误信息', - 'type' => 'string', - 'example' => 'error message', - ], - ], + 'type' => 'object', + 'properties' => [ + 'task_id' => ['description' => '任务ID。', 'type' => 'string', 'example' => '391f5aeba2054f66b3aaef0136142fe2'], ], ], - 'total' => [ - 'title' => '任务总数', - 'description' => '任务总数', - 'type' => 'integer', - 'format' => 'int64', - 'example' => '2', - ], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7'], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', - ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"code\\": \\"Success\\",\\n \\"data\\": [\\n {\\n \\"taskId\\": \\"bbe94a98-4192-4172-b856-95777e0a55d7\\\\n\\",\\n \\"taskType\\": \\"vmcore\\",\\n \\"taskStatus\\": \\"running\\",\\n \\"createdAt\\": \\"2025-12-02T17:36:12\\\\n\\",\\n \\"errorMsg\\": \\"error message\\"\\n }\\n ],\\n \\"total\\": 2\\n}","type":"json"}]', - 'title' => '查询宕机诊断列表', - ], - 'CpuHighAgentStreamResponse' => [ - 'summary' => 'cpu高agent流式接口', - 'path' => '/api/v1/highCpuAgent/streamResponse', - 'methods' => [ - 'post', + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SysomOpenAPI.RegionNotSupport', 'errorMessage' => 'Region not supported.', 'description' => '地域不支持。'], + ], ], - 'schemes' => [ - 'https', - 'sse', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新组件', + 'summary' => '更新安装的组件的版本到指定版本', + 'description' => '调用本接口更新 Agent 是异步的,调用接口后会返回一个 task_id,可以凭借该 ID 调用 GetAgentTask 接口获取任务的执行情况。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIException: SysomOpenAPI.InvalidParameter Invalid params, should be json string or dict\\",\\n \\"data\\": {\\n \\"task_id\\": \\"391f5aeba2054f66b3aaef0136142fe2\\"\\n },\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\"\\n}","type":"json"}]', + ], + 'UpgradeAgentForCluster' => [ + 'path' => '/api/v1/am/agent/upgrade_agent_by_cluster', + 'methods' => ['post'], + 'schemes' => ['https'], 'security' => [ [ 'AK' => [], ], ], - 'consumes' => [ - 'application/json', + 'consumes' => ['application/json'], + 'produces' => ['application/json'], + 'operationType' => 'write', + 'deprecated' => false, + 'systemTags' => [ + 'operationType' => 'update', + 'riskType' => 'none', + 'chargeType' => 'free', + 'abilityTreeCode' => '253539', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], - 'produces' => [ - 'application/octet-stream', + 'parameters' => [ + [ + 'name' => 'body', + 'in' => 'body', + 'style' => 'json', + 'schema' => [ + 'description' => '请求Body', + 'type' => 'object', + 'properties' => [ + 'cluster_id' => ['description' => '集群ID。'."\n" + ."\n" + .'> 这个集群ID要传递 ACK 集群的ID', 'type' => 'string', 'required' => false, 'example' => 'c1c187fd513cb41a19876bac0e6b05212'], + 'agent_id' => ['description' => '组件ID', 'type' => 'string', 'required' => false, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'], + 'agent_version' => ['description' => '组件版本', 'type' => 'string', 'required' => false, 'example' => '3.4.0-1'], + ], + 'required' => false, + ], + ], ], + 'responses' => [ + 200 => [ + 'schema' => [ + 'title' => 'Schema of Response', + 'description' => 'Schema of Response', + 'type' => 'object', + 'properties' => [ + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => "\n" + .'success'], + 'RequestId' => ['description' => '请求ID,可用于全链路诊断', 'type' => 'string', 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7'], + 'data' => [ + 'description' => '返回数据。', + 'type' => 'object', + 'properties' => [ + 'task_id' => ['description' => '任务ID。'."\n" + ."\n" + .'可以凭借本任务ID调用 GetAgentTask 接口查看任务的执行情况', 'type' => 'string', 'example' => '7523e9e0ddc74d99a5236f4f4d5056e6'], + ], + ], + ], + ], + ], + ], + 'errorCodes' => [ + 400 => [ + ['errorCode' => 'SysomOpenAPI.RegionNotSupport', 'errorMessage' => 'Region not supported.', 'description' => '地域不支持。'], + ], + ], + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '为 ACK 集群更新组件', + 'summary' => '给集群更新组件', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"\\\\nsuccess\\",\\n \\"RequestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\",\\n \\"data\\": {\\n \\"task_id\\": \\"7523e9e0ddc74d99a5236f4f4d5056e6\\"\\n }\\n}","type":"json"}]', + ], + 'UpgradeAgentWithType' => [ + 'summary' => '更新安装的组件的版本到指定版本', + 'path' => '/api/v1/am/agent/upgradeAgent', + 'methods' => ['post'], + 'schemes' => ['https'], + 'security' => [ + [ + 'AK' => [], + ], + ], + 'consumes' => ['application/json'], + 'produces' => ['application/json'], 'operationType' => 'readAndWrite', 'deprecated' => false, 'systemTags' => [ - 'operationType' => 'none', + 'operationType' => 'update', 'riskType' => 'none', 'chargeType' => 'free', - 'abilityTreeNodes' => [ - 'FEATUREalinuxGP5QJE', - ], - 'tenantRelevance' => 'publicInformation', + 'abilityTreeNodes' => ['FEATUREalinux586OFI'], + 'autoTest' => true, + 'tenantRelevance' => 'tenant', ], 'parameters' => [ [ @@ -10948,11 +8303,28 @@ 'description' => '请求Body', 'type' => 'object', 'properties' => [ - 'llmParamString' => [ - 'description' => '对接cpu high agent服务的入参,参考标准LLM接口入参dict,需要转化成string并传入llmParamString中', + 'instances' => [ + 'description' => '要更新组件的实例列表', + 'type' => 'array', + 'items' => [ + 'description' => '实例信息', + 'type' => 'object', + 'properties' => [ + 'instance' => ['description' => '实例ID', 'type' => 'string', 'required' => true, 'example' => 'i-wz9b9vucz1iubsz8sjqo'], + 'region' => ['description' => '地域ID', 'type' => 'string', 'required' => true, 'example' => 'cn-hangzhou'], + ], + 'required' => true, + ], + 'required' => true, + ], + 'agentId' => ['description' => '要更新的组件 ID', 'type' => 'string', 'required' => true, 'example' => '74a86327-3170-412c-8e67-da3389ec56a9'."\n"], + 'agentVersion' => ['description' => '要更新的组件版本', 'type' => 'string', 'required' => true, 'example' => '3.4.0-1'], + 'instanceType' => [ + 'description' => '实例类型', 'type' => 'string', 'required' => false, - 'example' => '"llmParamString": "{\\"messages\\": [{\\"role\\": \\"user\\", \\"content\\": \\"用户12345的机器i-67890,最近2分钟CPU使用率高,请结合最近2分钟的火焰图信息,分析原因\\"}]}"', + 'example' => 'ecs', + 'enum' => ['ecs', 'eflo'], ], ], 'required' => false, @@ -10966,46 +8338,1071 @@ 'description' => 'Schema of Response', 'type' => 'object', 'properties' => [ - 'requestId' => [ - 'title' => 'Id of the request', - 'description' => 'Id of the request', - 'type' => 'string', - 'example' => '2D693121-C925-5154-8DF6-C09A8B369822'."\n", - ], - 'code' => [ - 'description' => '状态码'."\n" - .'- `code == Success` 则代表授权成功;'."\n" - .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', - 'type' => 'string', - 'example' => 'Success', - ], - 'message' => [ - 'description' => '错误信息'."\n" - .'- 如果 `code == Success`,则本字段为空;'."\n" - .'- 否则本字段包含请求错误信息。', - 'type' => 'string', - 'example' => 'SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom', - ], + 'code' => ['description' => '状态码'."\n" + .'- `code == Success` 则代表授权成功;'."\n" + .'- 其它状态码代表授权失败,授权失败时查看 `message` 字段获取详细的错误信息;', 'type' => 'string', 'example' => 'Success'], + 'message' => ['description' => '错误信息'."\n" + .'- 如果 `code == Success`,则本字段为空;'."\n" + .'- 否则本字段包含请求错误信息。', 'type' => 'string', 'example' => '“”'], 'data' => [ 'description' => '返回数据', - 'type' => 'string', - 'example' => '<SSEResponse>', + 'type' => 'object', + 'properties' => [ + 'taskId' => ['description' => '任务ID', 'type' => 'string', 'example' => '391f5aeba2054f66b3aaef0136142fe2'."\n"], + ], ], + 'requestId' => ['description' => '请求 ID,可用于全链路诊断', 'type' => 'string', 'example' => 'B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7'."\n"], ], ], ], ], - 'staticInfo' => [ - 'returnType' => 'synchronous', + 'staticInfo' => ['returnType' => 'synchronous'], + 'title' => '更新组件', + 'description' => '调用本接口更新 Agent 是异步的,调用接口后会返回一个 task_id,可以凭借该 ID 调用 GetAgentTask 接口获取任务的执行情况。', + 'changeSet' => [], + 'flowControl' => [ + 'flowControlList' => [], ], - 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"requestId\\": \\"2D693121-C925-5154-8DF6-C09A8B369822\\\\n\\",\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"SysomOpenAPIAssumeRoleException: EntityNotExist.Role The role not exists: acs:ram::xxxxx:role/aliyunserviceroleforsysom\\",\\n \\"data\\": \\"<SSEResponse>\\"\\n}","type":"json"}]', - 'title' => '请求CPU高agent流式sse接口', + 'ramActions' => [], + 'responseDemo' => '[{"errorExample":"","example":"{\\n \\"code\\": \\"Success\\",\\n \\"message\\": \\"“”\\",\\n \\"data\\": {\\n \\"taskId\\": \\"391f5aeba2054f66b3aaef0136142fe2\\\\n\\"\\n },\\n \\"requestId\\": \\"B149FD9C-ED5C-5765-B3AD-05AA4A4D64D7\\\\n\\"\\n}","type":"json"}]', ], ], 'endpoints' => [ + ['regionId' => 'cn-hangzhou', 'regionName' => '华东1(杭州)', 'areaId' => 'asiaPacific', 'areaName' => '亚太', 'public' => 'sysom.cn-hangzhou.aliyuncs.com', 'endpoint' => 'sysom.cn-hangzhou.aliyuncs.com', 'vpc' => ''], + ], + 'errorCodes' => [ + ['code' => 'AgentConfigNotExists', 'message' => 'Agent config does not exist.', 'http_code' => 400, 'description' => '组件配置不存在'], + ['code' => 'PageInfoCreateFailed', 'message' => 'The page visited information record insert failed.', 'http_code' => 400, 'description' => '页面访问信息添加失败'], + ['code' => 'Sysom.ACKClusterNotFound', 'message' => 'The specified ACK cluster was not found. %s.', 'http_code' => 400, 'description' => '指定的 ACK 集群未找到'], + ['code' => 'Sysom.AIRecordStatusError', 'message' => 'This analysis records an incorrect status.%s.', 'http_code' => 400, 'description' => '该分析记录状态错误。'], + ['code' => 'Sysom.ClusterIsNotRunning', 'message' => 'The cluster status is not Running and may be in operation. %s.', 'http_code' => 400, 'description' => '集群状态不为Running,可能正在操作中,请稍后再试'], + ['code' => 'Sysom.ClusterNotFound', 'message' => 'The specified ACK cluster was not found.', 'http_code' => 200, 'description' => '指定的 ACK 集群未找到'], + ['code' => 'Sysom.ClusterRegionNotMatch', 'message' => 'Cluster region not match. %s.', 'http_code' => 400, 'description' => '调用接口时传递的 region 和集群所在的 region 不是同一个。'], + ['code' => 'Sysom.EndpointConnectionNotExists', 'message' => 'The endpoint connection does not exist, and the cluster does not authorize SysOM to read cluster information. %s.', 'http_code' => 400, 'description' => '终端节点连接不存在,集群未授权 SysOM 读取集群信息。'], + ['code' => 'Sysom.EndpointConnectTimeout', 'message' => 'Connect VpcEndpoint timeout. %s.', 'http_code' => 400, 'description' => '连接终端节点超时。'], + ['code' => 'Sysom.GetClusterConfigFailed', 'message' => 'Get cluster config failed. %s.', 'http_code' => 400, 'description' => '获取ACK集群配置失败。'], + ['code' => 'Sysom.InvalidParameter', 'message' => 'Invalid parameters passed when calling the interface. %s.', 'http_code' => 400, 'description' => '调用接口时传递了无效参数'], + ['code' => 'Sysom.InvalidParameter', 'message' => 'Invalid parameters passed when calling the interface. %s', 'http_code' => 400, 'description' => '调用接口时传递了无效参数'."\n"], + ['code' => 'Sysom.MissingParameter', 'message' => 'Missing parameters. %s.', 'http_code' => 400, 'description' => '参数缺失'], + ['code' => 'Sysom.ServerError', 'message' => 'Server error, please correct the code according to the error message. %s.', 'http_code' => 400, 'description' => '服务端错误,请根据错误提示信息修正代码'], + ['code' => 'Sysom.VpcEndpointServiceNotSupport', 'message' => 'SysOM has not launched VpcEndpointService in this region. %s.', 'http_code' => 400, 'description' => 'SysOM 在该地域没有开通 VpcEndpointService。'], + ['code' => 'Sysom.VpcNatNotSupport', 'message' => 'SysOM has not launched VpcNat in this region. %s.', 'http_code' => 400, 'description' => 'SysOM 在该地域没有开通 VpcNat。'], + ['code' => 'SysomOpenAPI.AgentConfigDuplicate', 'message' => 'Agent config already exists, please change the name. %s.', 'http_code' => 400, 'description' => '配置名称冲突,不允许创建同名的配置。'], + ['code' => 'SysomOpenAPI.AgentConfigNotExists', 'message' => 'Agent config does not exists.', 'http_code' => 400, 'description' => '组件配置不存在'], + ['code' => 'SysomOpenAPI.AgentNotExists', 'message' => 'Agent not exists.', 'http_code' => 400, 'description' => '组件不存在。'], + ['code' => 'SysomOpenAPI.AgentTaskJobNotFinish', 'message' => 'Agent Task Job is already running on instances.', 'http_code' => 400, 'description' => '已有安装任务正在运行中'], + ['code' => 'SysomOpenAPI.AgentTaskNotFound', 'message' => 'Agent task not found.', 'http_code' => 400, 'description' => '组件任务不存在。'], + ['code' => 'SysomOpenAPI.AgentVersionNotExists', 'message' => 'Agent version not exists.', 'http_code' => 400, 'description' => '组件版本不存在。'], + ['code' => 'SysomOpenAPI.ClusterNotExists', 'message' => 'The cluster does not exist. %s.', 'http_code' => 400, 'description' => '集群不存在'], + ['code' => 'SysomOpenAPI.ClusterStatusNotRunning', 'message' => 'Cluster The cluster status is not Running and may be in operation. Please try again later.', 'http_code' => 400, 'description' => '集群状态不为Running,可能正在操作中,请稍后再试'], + ['code' => 'SysomOpenAPI.InstanceNotExists', 'message' => 'Instance not exists.', 'http_code' => 400, 'description' => '实例不存在。'], + ['code' => 'SysomOpenAPI.InstanceNotSupport', 'message' => 'Instance not support by sysom.', 'http_code' => 400, 'description' => 'SysOM 不支持管理该实例。'], + ['code' => 'SysomOpenAPI.InvalidParameter', 'message' => 'Invalid parameters passed when calling the interface.', 'http_code' => 400, 'description' => '调用接口时传递了无效参数'], + ['code' => 'SysomOpenAPI.MissingParameter', 'message' => 'Missing parameters.', 'http_code' => 400, 'description' => '参数缺失'], + ['code' => 'SysomOpenAPI.NoAgentInstalled', 'message' => 'No SysOM Agent version available.', 'http_code' => 400, 'description' => '没有可用的 SysOM Agent。'], + ['code' => 'SysomOpenAPI.NotAuthorizedInstance', 'message' => 'Instance not authorized.', 'http_code' => 400, 'description' => '实例未授权。'], + ['code' => 'SysomOpenAPI.NotFoundAIRecord', 'message' => 'This analysis record was not found. Please check if the analysis id is correct. %s.', 'http_code' => 400, 'description' => '未找到该条分析记录,请检查分析id是否正确。'], + ['code' => 'SysomOpenAPI.NotOwnInstance', 'message' => 'Not own current instance.', 'http_code' => 400, 'description' => '指定的实例不属于当前用户。'], + ['code' => 'SysomOpenAPI.NotOwnTask', 'message' => 'Diagnosis result does not belong to the current account.', 'http_code' => 400, 'description' => '诊断结果不属于当前账户'], + ['code' => 'SysomOpenAPI.NotSupportedAgentVersion', 'message' => 'Unsupported sysom agent version.', 'http_code' => 400, 'description' => '不支持的 SysOM 客户端版本。'], + ['code' => 'SysomOpenAPI.ServerError', 'message' => 'Server error, please correct the code according to the error message.', 'http_code' => 400, 'description' => '服务端错误,请根据错误提示信息修正代码'], + ['code' => 'Sysom.ConcurrentTaskLimitExceeded', 'message' => 'The maximum number of concurrent tasks has been exceeded.', 'http_code' => 400, 'description' => '超过最大并发任务数'], + ['code' => 'SysomOpenAPI.OperationInProgress', 'message' => 'The cluster is being operated, please try again later.', 'http_code' => 400, 'description' => '集群正在执行其他操作,请稍后重试。'], + ['code' => 'SysomOpenAPI.ServiceRoleNotExists', 'message' => 'Service role does not exist, please init the sysom service first.', 'http_code' => 400, 'description' => '服务角色不存在,请先开通Alinux控制台。'], + ['code' => 'SysomOpenAPI.RegionNotSupport', 'message' => 'Region not supported.', 'http_code' => 400, 'description' => '地域不支持。'], + ['code' => 'Sysom.TaskNotFound', 'message' => 'The specified task was not found.', 'http_code' => 400, 'description' => '指定的 task 未找到。'], + ['code' => 'SysomOpenAPI.ResourceNotFound', 'message' => 'The specified resource is not found. %s.', 'http_code' => 404, 'description' => '资源不存在'], + ], + 'changeSet' => [ + [ + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetAgentTask'], + ], + 'createdAt' => '2025-11-03T02:41:46.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'CreateAlertStrategy'], + ['description' => '响应参数发生变更', 'api' => 'GetAlertStrategy'], + ['description' => '响应参数发生变更', 'api' => 'ListAlertStrategies'], + ['description' => '请求参数发生变更', 'api' => 'UpdateAlertStrategy'], + ], + 'createdAt' => '2025-11-03T02:34:17.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'GetAbnormalEventsCount'], + ], + 'createdAt' => '2024-12-24T14:08:40.000Z', + 'description' => '', + ], + [ + 'apis' => [ + ['description' => '请求参数发生变更', 'api' => 'AuthDiagnosis'], + ], + 'createdAt' => '2024-09-18T04:40:29.000Z', + 'description' => '', + ], [ - 'regionId' => 'cn-hangzhou', - 'endpoint' => 'sysom.cn-hangzhou.aliyuncs.com', + 'apis' => [ + ['description' => '响应参数发生变更', 'api' => 'GetDiagnosisResult'], + ], + 'createdAt' => '2024-09-18T03:31:17.000Z', + 'description' => '', + ], + ], + 'flowControl' => [ + 'flowControlList' => [], + ], + 'ram' => [ + 'productCode' => 'SYSOM', + 'productName' => 'Alibaba Cloud Linux', + 'ramCodes' => ['sysom'], + 'ramLevel' => '资源级', + 'ramConditions' => [], + 'ramActions' => [ + [ + 'apiName' => 'GetServiceFuncStatus', + 'description' => '获取服务配置状态', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetServiceFuncStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetHotspotPidList', + 'description' => '获取pid列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHotspotPidList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListInstances', + 'description' => '获取纳管实例列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateVmcoreDiagnosisTask', + 'description' => '创建宕机诊断任务', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:CreateVmcoreDiagnosisTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DescribeMetricList', + 'description' => '查询指标数据', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:DescribeMetricList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAlertItems', + 'description' => '获取告警异常项列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:ListAlertItems', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAIQueryResult', + 'description' => '获取AI Infra观测结果', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetAIQueryResult', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'AuthDiagnosis', + 'description' => '授权诊断', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:AuthDiagnosis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAlertDestination', + 'description' => '获取告警联系人', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetAlertDestination', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAlertStrategy', + 'description' => '获取告警策略', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:GetAlertStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetHotspotTracking', + 'description' => '获取热点追踪结果', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHotspotTracking', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAbnormalyEvents', + 'description' => '获取异常事件详情', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListAbnormalyEvents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteAlertDestination', + 'description' => '删除告警联系人', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sysom:DeleteAlertDestination', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListInstancesWithEcsInfo', + 'description' => '获取包含ECS信息的实例列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:ListInstancesWithEcsInfo', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetHotspotInstanceList', + 'description' => '获取实例列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHotspotInstanceList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListClusters', + 'description' => '获取当前用户纳管集群列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListClusters', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetHotspotAnalysis', + 'description' => '获取热点分析结果', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHotspotAnalysis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetDiagnosisResult', + 'description' => '获取诊断结果', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetDiagnosisResult', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => 'Diagnosis', 'arn' => 'acs:sysom::{#accountId}:diagnosis/{#DiagnosisId}'], + ], + ], + ], + [ + 'apiName' => 'InstallAgentForCluster', + 'description' => '为ACK集群安装组件', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sysom:InstallAgentForCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListPluginsInstances', + 'description' => '获取组件的实例列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:ListPluginsInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetInstantScore', + 'description' => '获取实时集群/节点健康度分数', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetInstantScore', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StartAIAnalysis', + 'description' => '启动AI Infra观测', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:StartAIAnalysis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAlertStrategies', + 'description' => '获取告警策略列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListAlertStrategies', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateClusterVpcEndpointConnection', + 'description' => '创建集群VPC端点连接', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sysom:CreateClusterVpcEndpointConnection', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAllInstances', + 'description' => '获取所有实例及其完整信息', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListAllInstances', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAgents', + 'description' => '获取组件列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListAgents', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetRangeScore', + 'description' => '获取健康分趋势', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetRangeScore', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InitialSysom', + 'description' => '开通Alinux控制台', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sysom:InitialSysom', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAgent', + 'description' => '获取组件详情', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetAgent', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateAlertStrategy', + 'description' => '更新告警策略', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:UpdateAlertStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateAlertStrategy', + 'description' => '创建告警策略', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:CreateAlertStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAgentInstallRecords', + 'description' => '获取组件安装记录列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListAgentInstallRecords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'StartAIDiffAnalysis', + 'description' => '启动AI Infra差分分析', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:StartAIDiffAnalysis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetProblemPercentage', + 'description' => '获取异常问题占比', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetProblemPercentage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpgradeAgentForCluster', + 'description' => '为 ACK 集群更新组件', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sysom:UpgradeAgentForCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListAlertDestinations', + 'description' => '获取告警联系人列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListAlertDestinations', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListInstanceStatus', + 'description' => '获取纳管实例状态', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListInstanceStatus', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAbnormalEventsCount', + 'description' => '获取异常事件的数量', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetAbnormalEventsCount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InvokeDiagnosis', + 'description' => '发起诊断', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sysom:InvokeDiagnosis', + 'authLevel' => 'resource', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => 'Diagnosis', 'arn' => 'acs:sysom::{#accountId}:diagnosis/*'], + ], + ], + ], + [ + 'apiName' => 'UpdateAlertEnabled', + 'description' => '更新告警策略状态', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:UpdateAlertEnabled', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'DeleteAlertStrategy', + 'description' => '删除告警策略', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sysom:DeleteAlertStrategy', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetHostCount', + 'description' => '获取集群节点数量或节点Pod数量', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHostCount', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpgradeAgent', + 'description' => '更新组件', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sysom:UpgradeAgent', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CheckInstanceSupport', + 'description' => '检查实例是否支持', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:CheckInstanceSupport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GenerateCopilotResponse', + 'description' => '', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:GenerateCopilotResponse', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListInstancesEcsInfoList', + 'description' => '获取实例的ecs信息的列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:ListInstancesEcsInfoList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetHotspotCompare', + 'description' => '获取热点对比追踪结果', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHotspotCompare', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetListRecord', + 'description' => '获取AI Infra分析记录', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetListRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CpuHighAgentStreamResponse', + 'description' => '请求CPU高agent流式sse接口', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:CpuHighAgentStreamResponse', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetHotSpotUniqList', + 'description' => '获取热点类型列表', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:hotSpotUniqList', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetResources', + 'description' => '获取集群/节点资源实时使用情况', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetBasicResources', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UninstallAgent', + 'description' => '卸载组件', + 'operationType' => 'delete', + 'ramAction' => [ + 'action' => 'sysom:UninstallAgent', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateInstanceInspection', + 'description' => '创建实例巡检', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sysom:CreateInstanceInspection', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetInspectionReport', + 'description' => '获取巡检报告', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetInspectionReport', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetCopilotHistory', + 'description' => '获取copilot流式接口的聊天记录', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:GetCopilotHistory', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListInstanceHealth', + 'description' => '获取集群中节点/Pod的健康度列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListInstanceHealth', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'CreateAlertDestination', + 'description' => '创建告警联系人', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sysom:CreateAlertDestination', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListPodsOfInstance', + 'description' => '获取集群/实例中的Pod列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListPodsOfInstance', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateEventsAttention', + 'description' => '更新异常项关注度', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sysom:UpdateEventsAttention', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UninstallAgentForCluster', + 'description' => '为ACK集群卸载组件', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sysom:UninstallAgentForCluster', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetVmcoreDiagnosisTask', + 'description' => '查询诊断任务', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:GetVmcoreDiagnosisTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetHealthPercentage', + 'description' => '获取节点/Pod健康状态占比', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetHealthPercentage', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InvokeAnomalyDiagnosis', + 'description' => '异常项诊断发起', + 'operationType' => 'create', + 'ramAction' => [ + 'action' => 'sysom:InvokeAnomalyDiagnosis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListClusterAgentInstallRecords', + 'description' => '获取 ACK 集群组件安装记录', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListClusterAgentInstallRecords', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListDiagnosis', + 'description' => '获取诊断列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListDiagnosis', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GenerateCopilotStreamResponse', + 'description' => '请求os copilot服务流式sse接口', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:GenerateCopilotStreamResponse', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateAlertDestination', + 'description' => '更新告警联系人', + 'operationType' => 'update', + 'ramAction' => [ + 'action' => 'sysom:UpdateAlertDestination', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'InstallAgent', + 'description' => '安装组件', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:InstallAgent', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'GetAgentTask', + 'description' => '获取组件任务的执行状态', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:GetAgentTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListRegions', + 'description' => '获取纳管实例分布的区域列表', + 'operationType' => 'list', + 'ramAction' => [ + 'action' => 'sysom:ListRegions', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'ListVmcoreDiagnosisTask', + 'description' => '查询宕机诊断列表', + 'operationType' => 'none', + 'ramAction' => [ + 'action' => 'sysom:ListVmcoreDiagnosisTask', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + [ + 'apiName' => 'UpdateFuncSwitchRecord', + 'description' => '更新服务功能模块配置', + 'operationType' => 'get', + 'ramAction' => [ + 'action' => 'sysom:UpdateFuncSwitchRecord', + 'authLevel' => 'operate', + 'actionConditions' => [], + 'resources' => [ + ['validationType' => 'always', 'product' => 'SYSOM', 'resourceType' => '全部资源', 'arn' => '*'], + ], + ], + ], + ], + 'resourceTypes' => [ + ['validationType' => 'always', 'resourceType' => 'Diagnosis', 'arn' => 'acs:sysom::{#accountId}:diagnosis/{#DiagnosisId}'], + ['validationType' => 'always', 'resourceType' => 'Diagnosis', 'arn' => 'acs:sysom::{#accountId}:diagnosis/*'], ], ], ]; |
