云服务器内容精选

  • 报告总览 测试报告说明如表1所示。 测试报告展现了测试过程中被测系统在模拟高并发用户的响应性能,为了更好阅读测试报告,请参考以下信息: 统计维度:测试报告的RPS、响应时间、并发等统计维度均为单个用例,如用例中有请求多个报文,只有在多个请求报文均正常返回会认为成功,响应时间也是多个请求报文的求和值。 响应超时:出现该情况是在设置的响应超时时间内(默认5s),对应的TCP连接中没有响应数据返回时,会将本次用例请求统计为响应超时。出现原因一般是被测服务器繁忙、崩溃、网络带宽被占满等。 校验失败:从服务器返回的响应报文不符合预期(针对HTTP/HTTPS默认的预期响应码为200),比如服务器返回404、502等。出现原因一般为高并发情况下被测服务无法正常处理导致的,如分布式系统中数据库出现瓶颈、后端应用返回错误等。 解析失败:响应报文已全部接收完成,但是部分报文丢失导致整个用例响应不完整,这种情况一般需要考虑网络丢包。 带宽统计:本报告统计的是性能测试服务执行端的带宽,上行表示从性能测试服务发出的流量,下行表示接收到的流量。如果是外网压测场景,您需要关注执行机的EIP带宽是否可以满足上行带宽的要求。而下行带宽需要关注单台执行机是否超过1GB。 RPS:Requests Per Second,每秒请求数。平均RPS=统计周期内的请求总数/统计周期。 SLA结果: 当测试用例配置SLA规则后,您可以在SLA报告中查看SLA规则是否被触发。SLA报告中,请求名称为测试用例中请求的名称,规则为已配置的SLA规则。平均值(运行中的任务显示为当前值)代表测试用例从开始压测到目前为止,业务指标的平均值,以及触发SLA规则的总次数。触发事件显示触发SLA规则的时间、请求名称和当前的触发次数。 如何判断被测应用优劣:根据应用本身的服务质量定义,理想状态是没有任何响应失败、校验失败的情况,如果有,需要在服务质量定义范围之内,通常情况下不超过1%,同时响应时间越低越好(2s内体验较好,5s内可以接受,超过5s则需要考虑优化),TP90、TP99指标可以客观反映出90%、99%用户的体验响应时间。 表1 测试报告说明 参数 参数说明 各项指标总量 所有用例各项指标总量的汇总。 最大并发:最大并发操作的虚拟用户数。 RPS:每秒请求数。 响应时间:指从客户端发一个请求开始计时,到客户端接收到从服务器端返回的响应结果结束所经历的时间。 响应码:记录压测任务进行中响应码分布的情况。 带宽:记录压测任务运行所消耗的实时带宽变化。 SLA事件:SLA中定义的事件发生情况。 正常返回:如设置了检查点,检查点通过的用例响应数,如未设置默认为返回2XX的用例响应数。 异常返回:解析失败、校验失败、响应超时、3XX、4XX、5XX、连接被拒绝的用例响应数。 成功率:正常返回请求数/总请求数。 平均RPS 统计周期内的请求总数/统计周期。 平均RT 某一秒发出的所有请求的平均响应时间。 并发数 记录压测任务运行时,当前并发操作的虚拟用户数的变化。 带宽(KB/S) 记录压测任务运行所消耗的实时带宽变化。 上行带宽:从性能测试服务测试执行机往外发送出去数据的速度。 下行带宽:性能测试服务测试执行机接收到数据的速度。 响应状态分布 正常返回、解析失败、校验失败、响应超时、连接被拒绝和其他错误的每秒处理用例数,该项指标与思考时间、并发用户、服务器响应能力均有关,比如思考时间为500ms,如果服务器对于当前用户的上个请求响应时间小于500ms,则该用户每秒请求2次。 正常返回:如设置了检查点,检查点通过的用例响应数,如未设置默认为返回2XX的用例响应数。 异常返回:解析失败、校验失败、响应超时、3XX、4XX、5XX、连接被拒绝的用例响应数。 解析失败:HTTP响应无法被正常解析的数量。 校验失败:如设置了检查点,检查点未通过的用例响应数,如未设置,返回不是2XX的用例响应数。 响应超时:在请求报文发送5S内未收到服务器响应的用例请求数量。 连接被拒绝:发送报文建立连接时,服务器拒绝连接数。 其他错误:不属于以上几种错误的数量。 响应码分布 1XX/2XX/3XX/4XX/5XX。 响应时间区间比例 用例的响应时间区间比例。 TP最大响应时间 指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取对应的百分比的那个值作为TPXX的最大响应时间。 TP50:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第50%的那个值作为TP50的值。 TP75:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第75%的那个值作为TP75的值。 TP90:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第90%的那个值作为TP90的值。 TP95:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第95%的那个值作为TP95的值。 TP99:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99%的那个值作为TP99的值。 TP99.9:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99.9%的那个值作为TP99.9的值。 TP99.99:指在一个时间段内(如10s),统计该请求每次响应所消耗的时间,并将这些时间按从小到大的顺序进行排序,取第99.99%的那个值作为TP99.99的值。
  • 请求示例 GET https://{endpoint}/v3/{project_id}/webscan/vulnerability/false-positive { "vuln_id" : "006e7c21dc390410c2270bf9bebf7b1e", "provider" : "确认人1", "reason" : "误报,非安全漏洞", "vuln_status" : "false_report" }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 info_code String 状态码: success - 成功 failure - 失败 枚举值: success failure info_description String 返回的提示信息 最小长度:0 最大长度:64 状态码: 400 表5 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表6 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表7 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 用户Token,通过调用IAM服务获取用户Token接口获取(响应消息头中X-Subject-Token的值)。 最小长度:1 最大长度:102400 表3 请求Body参数 参数 是否必选 参数类型 描述 vuln_id 是 String 漏洞ID 最小长度:32 最大长度:32 provider 否 String 误报确认人 最小长度:0 最大长度:32 reason 否 String 误报确认理由 最小长度:0 最大长度:1000 vuln_status 否 String 对漏洞的操作: false_report - 更新漏洞状态为误报,并忽略 repairing - 更新漏洞状态未修复 枚举值: false_report repairing
  • 响应示例 状态码: 200 OK { "total" : 1, "items" : [ { "type" : "protocolvuln", "port" : "general-tcp", "title" : "Apache Log4j2 Remote Code Execution Vulnerability", "sa_id" : "Apache Log4j2 Remote Code Execution Vulnerability", "vuln_id" : "1.3.6.1.4.1.25623.1.0.301012-general-tcp", "severity" : "high", "topic" : "Apache Log4j2 Remote Code Execution Vulnerability", "description" : "Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3) JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. \\nAn attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled.\\nhttps://www.huaweicloud.com/notice/2021/20211210001621800.html\\n", "fix_advisory" : "Update log4j to 2.12.2, 2.16.0 or later. Ask application vendor for a fix.\\nPlease refer to https://www.huaweicloud.com/notice/2021/20211210001621800.html", "cve_list" : [ { "id" : "CVE-2021-44228", "link" : "" } ], "ref_link_list" : [ "" ], "vul_detect_result" : "/var/lib/docker/overlay2/54e1e225d711d77afc0e8cf6fa3dda0274c56659b21d214715ee53f18565789f/diff/root/sdkrend/log4j-core-2.8.2.jar\\n", "cvss_score" : "9.3", "cvss_version" : "", "cvss_vector" : "AV:N/AC:M/Au:N/C:C/I:C/A:C", "is_ignore" : false } ] }
  • 响应参数 状态码: 200 表4 响应Body参数 参数 参数类型 描述 total Integer 主机漏洞总数 最小值:0 最大值:1000 items Array of HostVulnItem objects 主机漏洞信息列表 数组长度:0 - 1000 表5 HostVulnItem 参数 参数类型 描述 type String 漏洞类型 最小长度:0 最大长度:100 port String 扫描端口号 最小长度:0 最大长度:100 title String 漏洞标题 最小长度:0 最大长度:1000 sa_id String 漏洞公告ID 最小长度:0 最大长度:100 vuln_id String 漏洞ID 最小长度:1 最大长度:100 severity String 漏洞风险等级: high - 高风险 medium - 中风险 low - 低风险 hint - 提示 枚举值: high medium low hint topic String 漏洞摘要 最小长度:0 最大长度:1024 description String 漏洞描述 最小长度:0 最大长度:10240 solution String 漏洞提示建议 最小长度:0 最大长度:10240 fix_advisory String 漏洞修复建议 最小长度:0 最大长度:10240 fix_cmd String 漏洞修复指令 最小长度:0 最大长度:10240 cve_list Array of cve_list objects CVE漏洞列表 数组长度:0 - 100 ref_link_list Array of strings 参考信息链接列表 最小长度:0 最大长度:10000 数组长度:0 - 1000 component_list Array of component_list objects 内容列表 数组长度:0 - 1000 vul_detect_result String 检查结果 最小长度:0 最大长度:10240 cvss_score String CVSS分数信息 最小长度:0 最大长度:5 cvss_version String CVSS版本信息 最小长度:0 最大长度:5 cvss_vector String CVSS向量信息 最小长度:0 最大长度:100 is_ignore Boolean 是否误报 表6 cve_list 参数 参数类型 描述 id String CVE漏洞ID 最小长度:0 最大长度:100 link String CVE漏洞链接 最小长度:0 最大长度:100 表7 component_list 参数 参数类型 描述 componentName String 内容名称 最小长度:0 最大长度:1000 componentInstallVersion String 安装版本 最小长度:0 最大长度:1000 componentFixedVersion String 已经修复版本 最小长度:0 最大长度:1000 状态码: 400 表8 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 401 表9 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256 状态码: 418 表10 响应Body参数 参数 参数类型 描述 error_code String 错误码 最小长度:0 最大长度:50 error_msg String 错误描述 最小长度:0 最大长度:256
  • URI GET /v3/{project_id}/hostscan/hosts/{host_id}/sys-vulns 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 用户的project_id 最小长度:32 最大长度:32 host_id 是 String 主机ID 最小长度:1 最大长度:64 表2 Query参数 参数 是否必选 参数类型 描述 scan_id 是 String 扫描ID 最小长度:1 最大长度:64 offset 否 Integer 分页查询,偏移量,表示从此偏移量开始查询 最小值:0 最大值:10000 缺省值:0 limit 否 Integer 分页查询,每页显示的条目数量 最小值:1 最大值:100 缺省值:5
  • 响应示例 状态码: 200 任务用例列表响应对象 { "code" : "SVCSTG.CPTS.0000000", "message" : "success", "extend" : null, "result" : { "case_aw_info_list" : [ { "aw" : [ { "datumType" : 0, "id" : "7053151331402211329", "name" : "request-example" } ], "awList" : [ { "awList" : null, "caseAwId" : "7053151331402211329", "datumType" : 0, "name" : "request-example", "transactionId" : null } ], "caseAwId" : "7053151331402211328", "caseUri" : null, "case_uri_i" : "83820", "datumType" : 1, "id" : "7053151331402211328", "name" : "test-case", "taskExecId" : "5206012", "taskId" : "az-4-69824", "testcaseId" : "5206012", "transactionList" : [ ] } ], "err_message" : null } }
  • URI GET /v2/{project_id}/task-run-infos/{task_run_id}/cases 表1 路径参数 参数 是否必选 参数类型 描述 task_run_id 是 Integer 运行任务ID,即报告ID。启动任务(更新任务状态或批量启停任务)接口,会返回运行任务ID。 最小值:0 最大值:2147483647 project_id 是 String 项目ID,获取方式请参见获取项目ID。 最小长度:0 最大长度:64
  • 响应参数 状态码: 200 表2 响应Body参数 参数 参数类型 描述 code String 响应码 最小长度:0 最大长度:1024 message String 响应消息 最小长度:0 最大长度:10240 extend Object 扩展信息 result CaseReportSummary object 测试报告用例列表 表3 CaseReportSummary 参数 参数类型 描述 case_aw_info_list Array of CaseAwInfo objects 用例和aw信息视图 err_message String 错误信息 最小长度:0 最大长度:1000000 表4 CaseAwInfo 参数 参数类型 描述 aw Array of AwInfoDTO objects aw信息 awList Array of DetailItem objects aw详细信息列表 caseAwId String 数据库中dc_case_aw表中的主键ID 最小长度:0 最大长度:100000 caseUri String 数据库中dc_testcase表中的case_uri 最小长度:0 最大长度:100000 case_uri_i String 数据库中dc_testcase表中的case_uri_iteration 最小长度:0 最大长度:100000 datumType Integer 数据类型(用例/aw/事务) 最小值:0 最大值:1024 id String 数据库中dc_case_aw表中的主键ID 最小长度:0 最大长度:100000 name String 用例名 最小长度:0 最大长度:100000 taskExecId String 数据库中dc_testcase表中的testcase_id 最小长度:0 最大长度:1000000 taskId String 任务ID 最小长度:0 最大长度:1000000 testcaseId String 数据库中dc_testcase表中的testcase_id 最小长度:0 最大长度:1000000 transactionList Array of DetailItem objects 事务详细信息列表 表5 AwInfoDTO 参数 参数类型 描述 name String AW名 最小长度:0 最大长度:100000 id String 数据库中dc_case_aw表中的主键ID 最小长度:0 最大长度:100000 datumType Integer 数据类型(用例/aw/事务) 最小值:0 最大值:1024 表6 DetailItem 参数 参数类型 描述 caseAwId String 数据库中dc_case_aw表中的主键ID datumType Integer 数据类型(用例/aw/事务) name String 用例/AW/事务名 transactionId String 事务ID awList Array of DetailItem objects AW列表
  • 预置报告 华为云为您提供了默认的分析报告,便于您快速分析成本。您无法删除默认报告,只能复制和新增。 表1 成本和使用情况报告 报告名称 说明 按产品类型汇总的月度成本 了解过去6个月原始成本较高的产品类型。 按关联账号汇总的月度成本 了解过去6个月原始成本较高的关联账号。 每日成本 了解过去3个月+未来一个月的每日原始成本趋势。 月度摊销成本 了解过去6个月摊销成本的月度趋势。 ECS的月度按需成本和使用量 了解过去6个月云主机每月按需原始成本和按需使用量情况。
  • 响应示例 { "data": [ { "reportDoneDate": "2023-03-16T15:05:32", "tempVersion": null, "tempName": null, "reportName": "级联输出项1_报告test_0077.xlsx", "taskStatus": null, "reportTemplateName": "0318", "reportVersion": "1.0", "locationId": null, "locationName": null, "errorMessage": "success", "reportProgress": "100", "reportCode": "REPORT-202303160263", "serviceType": null, "deliveryScene": null, "productType": null, "locationType": null, "administrativeRegion": null, "createName": "lyl10改", "lastUpdateName": "lyl10改", "appName": "isdp-qc-report-server", "entityName": "taskReport", "projectNo": "", "city": null, "country": null, "province": null, "id": 126967, "taskId": null, "qcTaskName": null, "fileId": 7488130, "tenantId": 886, "createdBy": 153169, "lastUpdatedBy": 153169, "templateId": 117045417795, "lastUpdateTimestamp": 1678950331891, "creationTimestamp": 1678950330263, "reportDoneTimestamp": 1678950330263, "cityId": null, "countryId": null, "provinceId": null, "status": 2, "isAuto": 1, "deleteFlag": 0, "isNew": 0, "creationDate": "2023-03-16T07:05:30.000+00:00", "lastUpdateDate": "2023-03-16T07:05:32.000+00:00", "qcSceneTaskId": null, "sceneTaskName": "级联输出项1", "ticketId": 0, "ticketCode": null, "ticketName": null, "sceneName": null, "projectName": "", "sceneTaskId": 3240932, "taskName": null, "templateType": 4, "adminOrganizationCode": "833", "adminOrganizationName": "中国区11112223333" } ] }
  • 请求示例 { "filter": {}, "page": { "start": 0, "count": 1 }, "taskReport": { "reportName": "", "reportCode": "", "locationId": "", "locationName": "", "countryId": "", "provinceId": "", "cityId": "", "adminOrganizationCodeList": [], "administrativeRegion": "", "sceneTaskId": "3240932" } }
  • 响应参数 参数 类型 描述 stateCode String 响应编码。 errorMessage String 错误信息。 result Object[] 响应数据。 result中data对象参数说明: 参数 类型 描述 id Long 报告id adminOrganizationCode String 组织编码 adminOrganizationName String 组织名称 administrativeRegion String 行政区域 city String 城市 cityId Long 城市id country String 国家 countryId Long 国家id province String 省 provinceId Long 省id fileId Long 文件id deliveryScene String 交付场景 isAuto int 是否自动生成 1-是,0为否 isNew int 是否最新 locationId String 作业对象id locationName String 作业对象名称 locationType String 作业对象类型 productType String 产品类别 projectName String 项目名称 projectNo String 项目编码 qcSceneTaskId Long 任务id qcTaskName String 检查单名称 reportCode String 报告编码 reportDoneDate Datetime 报告生成日期 reportDoneTimestamp Long 报告生成时间戳 reportName String 报告名称 reportProgress String 报告生成进度 reportTemplateName String 报告模板名称 reportVersion String 版本号 sceneName String 场景名称 sceneTaskId Long 任务id sceneTaskName String 任务名称 serviceType String 业务类型 status int 报告状态 taskId Long 检查单id taskName String 检查单名称 taskStatus int 任务审批状态 tempName String 采集模板名称 tempVersion String 报告版本号 templateId Long 采集模板id templateType int 业务单类型 ticketCode String 许可拜纳姆 ticketId Long 许可id ticketName String 许可名称
  • 请求参数 参数 类型 是否必填 描述 page Object 否 分页信息 page.start int 否 起始位置 page.count int 否 条数 taskReport Object 否 报告信息 taskReport .reportName String 否 报告名称 taskReport .reportCode String 否 报告编号 taskReport .locationId long 否 区域id taskReport .locationName String 否 区域名称 taskReport .countryId long 否 国家id taskReport .provinceId long 否 省份id taskReport .cityId long 否 城市id taskReport .sceneTaskId long 否 任务id taskReport .adminOrganizationCodeList list 否 组织单元编码集合 taskReport .administrativeRegion String 否 行政区域 filter Object 否 过滤条件 filter中object对象参数说明 参数 类型 是否必填 描述 status Object 否 报告生成状态 status.type String 否 enum(固定值) status.value list 否 状态值 示例[0] 0:待创建 1:创建中 2:创建成功 3: 创建失败