华为云用户手册

  • 报文样例 场景描述:更新业务场景 请求头: x-app-key:************************************ X-UserID:1611917095665261978 Authorization:Bearer ******************************** 请求参数: { "group_name": "OIAP系统", "description": "OIAP系统", "is_enable": 1, "ignore_sensitive": 0, "other": { "call_from": null, "call_end": null }, "Speed_rules": ["919423582684057600"], "group_id": "groupid_826b89d9-bec9-4c14-b677-1d86f16c4993" } 响应参数: { "resultCode": "0406000", "resultDesc": "更新业务场景成功" }
  • 请求说明 表1 请求头参数 序号 名称 参数类型 是否必选 说明 1 Content-Type string False 固定填 application/json; charset=UTF-8。 2 x-app-key string False appKey标识 3 Authorization string True 鉴权字段,内容格式为: Bearer +tokenByAKSK接口的返回值中AccessToken(Bearer后有空格) 4 x-UserId string False 操作员标识 可在登录后,进入员工管理页面,查看接口返回的userId 表2 请求体参数 序号 名称 参数类型 是否必选 说明 1.1 group_id string True 业务场景标识 1.2 group_name string True 业务场景名称 1.3 description string False 业务场景描述 1.4 is_enable number True 是否正在被启用(0 代表不启用,1 代表启用) 1.5 ignore_sensitive number False 是否计入敏感词分数(0 代表计入,1 代表不计入,不传默认为0) 1.6 other object False 场景的通话过滤条件 1.6.1 call_end number False 通话结束时间,时间戳秒 1.6.2 call_from number False 通话起始时间,时间戳秒 1.7 rules array[string] False 对话规则,多个规则值以逗号分隔 1.8 silence_rules array[string] False 静默规则,多个规则值以逗号分隔 1.9 speed_rules array[string] False 语速规则,多个规则值以逗号分隔 1.10 interposal_rules array[string] False 抢插话规则,多个规则值以逗号分隔 1.11 interaction_type integer False 交互类型 0和不填表示语音 2表示多媒体
  • 报文样例 请求头: x-app-key:************************************ X-UserID:1611917095665261978 Authorization:Bearer ******************************** 请求参数: { "qualityItemId": 16239231508327803347, "qualityItemType": 2, "isGroup": false, "ruleType": 11, "uuid": "fcbd13e7-ede6-4150-8f20-1867261f313c", "ruleInfo": { "reviseId": "silenceRule2ad54b75-7823-45f6-8117-d920510f7195", "revise": 0, "description": "111" } } 响应参数: { "resultCode": "0410000", "resultDesc": "操作成功" }
  • 请求说明 表1 请求头参数 序号 名称 参数类型 是否必选 说明 1 Content-Type string False 固定填 application/json; charset=UTF-8。 2 x-app-key string False appKey标识 3 Authorization string True 鉴权字段,内容格式为: Bearer +tokenByAKSK接口的返回值中AccessToken(Bearer后有空格) 4 x-UserId string False 操作员标识 可在登录后,进入员工管理页面,查看接口返回的userId 表2 请求体参数 序号 名称 参数类型 是否必选 说明 1.1 isGroup boolean False 是否为关联通话,true.关联通话,false.普通通话 1.2 qualityItemId string False 质检件标识 1.3 qualityItemType number False 质检件类型(1 问题件,2 申诉件) 1.4 ruleInfo object False 规则信息 1.4.1 reviseId string False 修正质检评分结果标识 1.4.2 revise number False 修正类型(1合规,0违规) 1.4.3 description string False 修正描述 1.5 ruleType number False 规则类型,10=对话规则;11=静音规则;12=语速规则;13=抢插话规则;60=敏感词;70=人工质检规则, 1.6 uuid string False 通话质检的内部标识
  • 响应说明 响应状态码: 200 表3 响应体参数 序号 名称 参数类型 是否必选 说明 1.1 resultCode string False 返回码 0410000 表示成功 其他表示失败 1.2 resultDesc string False 返回描述 响应状态码: 400 错误的请求:请检查请求路径及参数。 响应状态码: 401 未授权:1. 请确认是否购买了相关服务。 2. 请联系客服人员检查您账号的当前状态。 响应状态码: 404 请求的内容未找到:请检查请求的路径。 响应状态码: 500 业务失败:请依次确认您请求中各参数的取值。
  • 请求示例 { "relation_type" : "DEFAULT", "relation_ids" : [ "al123232232341232132" ], "mask_id" : "nm1689737291469aj38xNVLK", "mask_name" : "mn_test", "mask_status" : "MASK_EFFECTIVE", "resource_id" : "dse23xw43", "namespace" : "SYS.ECS", "dimensions" : [ { "name" : "instance_id", "value" : "4270ff17-aba3-4138-89fa-820594c39755" } ] }
  • URI POST /v2/{project_id}/notification-masks/batch-query 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID。 最小长度:1 最大长度:64 正则匹配:^[a-zA-Z0-9-]{1,64}$ 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 分页偏移量 最小值:0 最大值:10000 缺省值:0 正则匹配:^([0]|[1-9]|[1-9][0-9]|[1-9][0-9][0-9]|[1-9][0-9][0-9][0-9]|10000)$ limit 否 Integer 分页大小 最小值:1 最大值:100 缺省值:100 正则匹配:^([1-9]|[1-9][0-9]|100)$
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 缺省值:application/json; charset=UTF-8 最小长度:1 最大长度:64 X-Auth-Token 是 String 用户Token。 最小长度:1 最大长度:16384 表4 请求Body参数 参数 是否必选 参数类型 描述 relation_type 是 String 关联类型。ALARM_RULE:关联告警规则,RESOURCE:关联资源,RESOURCE_POLICY_NOTIFICATION:关联资源策略屏蔽告警通知,RESOURCE_POLICY_ALARM:关联资源策略不计算告警,DEFAULT:默认包含RESOURCE、RESOURCE_POLICY_NOTIFICATION(查询告警屏蔽列表时使用)。 枚举值: ALARM_RULE RESOURCE RESOURCE_POLICY_NOTIFICATION RESOURCE_POLICY_ALARM DEFAULT relation_ids 是 Array of strings 关联编号(目前是告警规则ID) 数组长度:1 - 100 mask_id 否 String 屏蔽规则ID,可选 最小长度:1 最大长度:64 正则匹配:^nm([0-9A-Za-z]){0,62}$ mask_name 否 String 屏蔽规则名称,可选,只能为字母、数字、汉字、-、_,最大长度为64 最小长度:1 最大长度:64 正则匹配:^([\u4E00-\u9FFF]|[a-z]|[A-Z]|[0-9]|_|-)+$ mask_status 否 String 屏蔽状态,可选。MASK_EFFECTIVE:已生效,MASK_INEFFECTIVE:未生效。 最小长度:1 最大长度:32 枚举值: MASK_EFFECTIVE MASK_INEFFECTIVE resource_id 否 String 资源维度值,提供一个维度的资源ID即可,可选 最小长度:1 最大长度:700 namespace 否 String 资源命名空间,例如弹性云服务器命名空间(格式为service.item;service和item必须是字符串,以字母开头,可包含0-9/a-z/A-Z/_;长度范围[3,32]。) dimensions 否 Array of Dimension objects 资源的维度信息 数组长度:1 - 4 表5 Dimension 参数 是否必选 参数类型 描述 name 是 String 资源维度名,如:弹性云服务器,则维度为instance_id;目前最大支持4个维度,各服务资源的指标维度名称可查看:“服务指标维度”。 正则匹配:^([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-){1,32}$ value 是 String 资源维度值,为资源的实例ID,如:4270ff17-aba3-4138-89fa-820594c39755。 正则匹配:^((([a-z]|[A-Z]|[0-9]){1}([a-z]|[A-Z]|[0-9]|_|-|\.)*)|\*){1,256}$
  • URI GET /v2/{project_id}/alarm-histories 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID 最小长度:1 最大长度:64 正则匹配:^[a-zA-Z0-9-]{1,64}$ 表2 Query参数 参数 是否必选 参数类型 描述 alarm_id 否 String 告警ID,以al开头,后跟22位由字母或数字组成的字符串 最小长度:24 最大长度:24 record_id 否 String 告警记录ID,以ah开头,后跟22位由字母或数字组成的字符串 最小长度:24 最大长度:24 name 否 String 告警规则名称 最小长度:0 最大长度:128 status 否 String 告警规则状态, ok为正常,alarm为告警,invalid为已失效 最小长度:0 最大长度:64 正则匹配:^(ok|alarm|invalid)$ level 否 Integer 告警级别, 1为紧急,2为重要,3为次要,4为提示 最小值:1 最大值:4 namespace 否 String 查询服务的命名空间,各服务命名空间请参考“服务命名空间” 最小长度:3 最大长度:32 resource_id 否 String 告警资源ID,多维度情况按字母升序排列并使用逗号分隔 最小长度:0 最大长度:2048 from 否 String 查询告警记录的起始时间,例如:2022-02-10T10:05:46+08:00 最小长度:0 最大长度:64 to 否 String 查询告警记录的截止时间,例如:2022-02-10T10:05:47+08:00 最小长度:0 最大长度:64 offset 否 Integer 分页偏移量 最小值:0 最大值:999 缺省值:0 正则匹配:^(0|[1-9]|[1-9][0-9])$ limit 否 Integer 分页大小 最小值:1 最大值:100 缺省值:10 正则匹配:^([1-9]|[1-9][0-9]|100)$
  • 请求参数 表3 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 缺省值:application/json; charset=UTF-8 最小长度:1 最大长度:64 X-Auth-Token 是 String 用户Token 最小长度:1 最大长度:16384
  • 响应参数 状态码: 201 表8 响应Body参数 参数 参数类型 描述 alarm_id String 告警规则id,以al开头,包含22个数字或字母 状态码: 400 表9 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码: 500 表10 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256
  • 支持监控的服务列表 分类 服务 命名空间 维度 监控指标参考文档 计算 弹性云服务器 SYS.ECS Key:instance_id Value:云服务器ID 弹性云服务器的基础监控指标 弹性云服务器中操作系统监控 AGT.ECS Key:instance_id Value:云服务器ID Key:disk Value:磁盘 Key:mount_point Value:挂载点 Key:gpu Value:GPU Key:proc Value:进程 弹性云服务器操作系统监控的监控指标(安装Agent) 裸金属服务器 SERVICE.BMS Key:instance_id Value:云服务器ID 裸金属服务器操作系统监控的监控指标(安装Agent) 弹性伸缩 SYS.AS Key:AutoScalingGroup Value:弹性伸缩组的ID 弹性伸缩的监控指标说明 云手机服务器 SYS.CPH Key:instance_id Value:云手机服务器ID Key:cph_id Value:云手机ID Key:disk_name Value:磁盘名称 Key:gpu_index Value:GPU名称 云手机服务器的监控指标说明 函数工作流服务 SYS.FunctionGraph Key:package-functionname Value:应用名-函数名 函数工作流服务的监控指标说明 存储 云硬盘(仅当挂载到云服务器时) SYS.EVS Key:disk_name Value:云服务器实例ID-盘符名(例如sda为盘符名) 云硬盘的监控指标说明 对象存储服务 SYS.OBS Key:bucket_name Value:桶名 Key:tenant_id Value:租户Id Key:api_name Value:接口 Key:http_code Value:HTTP返回码 Key:domain_name Value:域名 对象存储服务监控指标说明 弹性文件服务 SYS.SFS Key:share_id Value:文件系统 弹性文件服务监控指标说明 云备份 SYS.CBR Key:instance_id Value:存储库名称/ID 云备份监控指标说明 云存储网关 SYS.CSG Key:gateway_id Value:网关ID 云存储网关监控指标说明 弹性文件服务Turbo SYS.EFS Key:efs_instance_id Value:实例 SFS Turbo监控指标说明 网络 弹性公网IP和带宽 SYS.VPC Key:publicip_id Value:弹性公网IP ID Key:bandwidth_id Value:带宽ID 虚拟私有云的监控指标说明 弹性负载均衡 SYS.ELB Key:lbaas_pool_id Value:后端服务器组的ID Key:lbaas_instance_id Value:独享/共享型负载均衡器的ID Key:lbaas_listener_id Value:独享/共享型负载均衡监听器的ID 弹性负载均衡的监控指标说明 云专线 SYS.DCAAS Key:direct_connect_id Value:物理连接 Key:history_direct_connect_id Value:历史物理连接 Key:virtual_interface_id Value:虚拟接口 Key:virtual_gateway_id Value:虚拟网关 云专线的监控指标说明 虚拟专用网络 SYS.VPN Key:connection_id Value:VPN连接 虚拟专用网络的监控指标说明 NAT网关 SYS.NAT Key:nat_gateway_id Value:NAT网关实例标识 Key:vpc_nat_gateway_id Value:私网NAT实例标识 NAT网关的监控指标说明 企业路由器 SYS.ER Key:er_instance_id Value:企业路由器实例 Key:er_attachment_id Value:企业路由器连接 企业路由器的监控指标说明 云连接 SYS.CC Key:cloud_connect_id Value:云连接ID Key:bwp_id Value:带宽包ID Key:region_bandwidth_id Value:域间带宽ID 云连接的监控指标说明 全球加速 SYS.GA Key:ga_accelerator_id Value:全球加速实例的ID Key:ga_listener_id Value:全球加速监听器的ID Key:ga_source_pop Value:全球加速实例的接入点 Key:ga_destination_region Value:全球加速实例的目的区域 Key:ga_source_area Value:全球加速实例的接入大区 Key:ga_listener_region Value:全球加速监听器和目的区域 Key:ga_pop_listener Value:全球加速接入点和监听器 Key:ga_pop_region Value:全球加速接入点和目的区域 Key:ga_pop_listener_region Value:全球加速接入点、监听器和目的区域 Key:ga_source_destination_area Vaue:全球加速接入大区和目的大区 全球加速的监控指标说明 应用中间件 分布式消息服务 SYS.DMS 请参考右侧相关文档链接页面。 分布式消息服务Kafka版的监控指标 分布式消息服务RabbitMQ的监控指标 分布式消息服务RocketMQ版的监控指标 API网关 SYS.APIG Key:api_id Value:API API网关的监控指标说明 API专享版网关 SYS.APIC Key:instance_id Value:专享版API网关 Key:api_id Value:API API网关的监控指标说明 分布式缓存服务 SYS.DCS Key:dcs_instance_id Value:Redis实例 Key:dcs_cluster_redis_node Value:数据节点 Key:dcs_cluster_proxy_node Value:Redis3.0 Proxy集群实例Proxy节点 Key:dcs_cluster_proxy2_node Value:Redis4.0/Redis5.0 Proxy集群实例Proxy节点 Key:dcs_memcached_instance_id Value:Memcached实例 分布式缓存服务的监控指标说明 应用与数据集成平台 SYS.ROMA 请参考右侧相关文档链接页面。 应用与数据集成平台的监控指标说明 数据库 关系型数据库 SYS.RDS 请参考右侧相关文档链接页面。 MySQL的监控指标说明 PostgreSQL的监控指标说明 SQL Server的监控指标说明 文档数据库 SYS.DDS Key:mongodb_node_id Value:文档数据库节点ID Key:mongodb_instance_id Value:文档数据库实例ID 文档数据库的监控指标说明 分布式数据库中间件 SYS.DDMS Key:node_id Value:DDM节点 分布式数据库中间件的监控指标说明 云数据库GaussDB NoSQL SYS.NoSQL 请参考右侧相关文档链接页面。 云数据库GaussDB(for Cassandra)的监控指标说明 云数据库GaussDB(for Mongo)的监控指标说明 云数据库GaussDB(for Influx)的监控指标说明 云数据库GaussDB(for Redis)的监控指标说明 云数据库GaussDB(for MySQL) SYS.GAUSSDB Key:gaussdb_mysql_instance_id Value:GaussDB(for MySQL)实例ID Key:gaussdb_mysql_node_id Value:GaussDB(for MySQL)实例节点ID Key:dbproxy_instance_id Value:GaussDB(for MySQL)Proxy实例ID Key:dbproxy_node_id Value:GaussDB(for MySQL)Proxy节点ID 云数据库GaussDB(for MySQL)的监控指标说明 云数据库 GaussDB SYS.GAUSSDBV5 Key:gaussdbv5_instance_id Value:GaussDB实例 Key:gaussdbv5_node_id Value:GaussDB节点 Key:gaussdbv5_component_id Value:GaussDB组件 云数据库 GaussDB的监控指标说明 数据复制服务 SYS.DRS Key:instance_id Value:数据复制服务实例ID 数据复制服务的监控指标说明 迁移 云数据迁移 SYS.CDM Key:instance_id Value:云数据迁移服务实例 云数据迁移的监控指标说明 大数据 数据仓库服务 SYS.DWS Key:datastore_id Value:数据仓库集群ID Key:dws_instance_id Value:数据仓库节点ID 数据仓库服务的监控指标说明 云搜索服务 SYS.ES Key:cluster_id Value:集群id Key:instance_id Value:实例id 云搜索服务的监控指标说明 数据湖探索 SYS.DLI Key:queue_id Value:队列 Key:flink_job_id Value:Flink作业 Key:elastic_resource_pool_id Value:弹性资源池 数据湖探索的监控指标说明 数据接入服务 SYS.DAYU Key:stream_id Value:实时数据接入 数据接入服务的监控指标说明 表格存储服务 SYS.CloudTable Key:cluster_id Value:CloudTable集群ID Key:instance_name Value:CloudTable集群节点名称 HBase集群的监控指标说明 Doris集群的监控指标说明 ClickHouse集群的监控指标说明 人工智能 ModelArts SYS.ModelArts Key:service_id Value:在线服务ID Key:model_id Value:模型负载ID ModelArts的监控指标说明 图像搜索服务 SYS.IS Key:instanceName Value:实例名称 图形搜索服务的监控指标说明 图像识别 SYS.IRS Key:call_of_interface Value:接口 图像识别的监控指标说明 内容审核 SYS.MODERATION Key:call_of_interface Value:接口 内容审核的监控指标说明 人脸识别 SYS.FRS Key:call_of_api Value:接口 Key:face_set Value:人脸库 人脸识别的监控指标说明 自然语言处理 SYS.NLP Key:call_of_interface Value:接口 自然语言处理的监控指标说明 文字识别 SYS.OCR Key:call_of_interface Value:接口 文字识别的监控指标说明 图引擎服务 SYS.GES Key:instance_id Value:图引擎服务实例 图引擎服务的监控指标说明 语音交互服务 SYS.SIS Key:interface Value:接口 语音交互服务的监控指标说明 人证核身 SYS.IVS Key:call_of_api Value:接口 人证核身的监控指标说明 安全与合规 Web应用防火墙 SYS.WAF Key:instance_id Value:独享引擎实例 Key:waf_instance_id Value:云模式实例 WAF监控指标说明 数据库安全服务 SYS.DBSS Key:audit_id Value:实例 数据库安全服务的监控指标说明 云防火墙 SYS.CFW Key:fw_instance_id Value:云防火墙实例 云防火墙的监控指标说明 DDoS防护 SYS.DDOS Key:zone_ip Value:防护IP Key:instance_id Value:实例ID DDoS防护的监控指标说明 云堡垒机 SYS.CBH Key:server_id Value:CBH实例ID 云堡垒机的监控指标说明 企业应用 应用与数据集成平台 ROMA Connect SYS.ROMA Key:kafka_groups Value:消费组 Key:kafka_groups_topics Value:队列 Key:kafka_groups_partitions Value:分区 应用与数据集成平台的监控指标说明 CDN与智能边缘 智能边缘小站 SYS.IES Key:site_id Value:边缘小站ID 智能边缘小站的监控指标说明 视频 视频直播 SYS.Live Key:domain Value:域名 视频直播的监控指标说明 管理与监管 消息通知服务 SYS.SMN Key:topic_id Value:主题的ID 消息通知服务的监控指标说明 父主题: 附录
  • 返回值 正常 200 异常 返回值 说明 400 Bad Request 请求错误。 401 Unauthorized 未提供认证信息,或认证信息错误。 403 Forbidden 请求页面被禁止访问。 408 Request Timeout 请求超出了服务器的等待时间。 429 Too Many Requests 当前请求过多。 500 Internal Server Error 请求未完成,服务异常。 503 Service Unavailable 系统暂时不可用,请求受限。
  • 响应消息 响应参数 表5 响应参数 名称 参数类型 说明 metrics Arrays of objects 指标数据。 详细参数请参见表6。 表6 metrics字段数据结构说明 名称 参数类型 说明 unit String 指标单位。 datapoints Arrays of objects 指标数据列表。由于查询数据时,云监控会根据所选择的聚合粒度向前取整from参数,所以datapoints中包含的数据点有可能会多于预期,最多返回3000个数据点。 详细参数请参见表8。 namespace String 指标命名空间,格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_,service.item总长度最短为3,最大为32。 dimensions Arrays of objects 指标维度列表。 单个维度为json对象,结构说明如下: { "name": "instance_id", "value": "33328f02-3814-422e-b688-bfdba93d4050" } 详细参数请参见表7。 metric_name String 指标名称,必须以字母开头,只能包含0-9/a-z/A-Z/_,长度最短为1,最大为64。 表7 dimensions字段数据结构说明 名称 参数类型 说明 name String 监控维度名称,例如弹性云服务器的维度为instance_id。各服务维度请参考支持监控的服务列表,可参考维度中key字段。 必须以字母开头,只能包含0-9/a-z/A-Z/_/-,长度最短为1,最大为32。 value String 维度取值,例如弹性云服务器的ID。 必须以字母或数字开头,只能包含0-9/a-z/A-Z/_/-,长度最短为1,最大为256。 表8 datapoints字段数据结构说明 名称 参数类型 说明 average Double 聚合周期内指标数据的平均值。 max Double 聚合周期内指标数据的最大值。 min Double 聚合周期内指标数据的最小值。 sum Double 聚合周期内指标数据的求和值。 variance Double 聚合周期内指标数据的方差。 timestamp Long 指标采集时间,UNIX时间戳,单位毫秒。 响应样例 响应样例一:维度是instance_id为faea5b75-e390-4e2b-8733-9226a9026070的弹性云服务器的监控数据cpu_util的平均值和维度是instance_id为06b4020f-461a-4a52-84da-53fa71c2f42b的弹性云服务器的监控数据network_vm_connections的平均值。 { "metrics": [ { "namespace": "SYS.ECS", "metric_name": "cpu_util", "dimensions": [ { "name": "instance_id", "value": "faea5b75-e390-4e2b-8733-9226a9026070" } ], "datapoints": [ { "average": 0.69, "timestamp": 1556625610000 }, { "average": 0.7, "timestamp": 1556625715000 } ], "unit": "%" }, { "namespace": "SYS.ECS", "metric_name": "network_vm_connections", "dimensions": [ { "name": "instance_id", "value": "06b4020f-461a-4a52-84da-53fa71c2f42b" } ], "datapoints": [ { "average": 1, "timestamp": 1556625612000 }, { "average": 3, "timestamp": 1556625717000 } ], "unit": "count" } ] } 响应样例二:维度是rds_cluster_id为3c8cc15614ab46f5b8743317555e0de2in01的关系性数据库和维度是rds_cluster_id为3b2fa8b55a9b4adca3713962a9d31884in01的关系性数据库的监控数据rds021_myisam_buf_usage的求和值。 { "metrics": [ { "unit": "Ratio", "datapoints": [ { "sum": 0.07, "timestamp": 1556625628000 }, { "sum": 0.07, "timestamp": 1556625688000 } ], "namespace": "SYS.RDS", "dimensions": [ { "name": "rds_cluster_id", "value": "3c8cc15614ab46f5b8743317555e0de2in01" } ], "metric_name": "rds021_myisam_buf_usage" }, { "unit": "Ratio", "datapoints": [ { "sum": 0.06, "timestamp": 1556625614000 }, { "sum": 0.07, "timestamp": 1556625674000 } ], "namespace": "SYS.RDS", "dimensions": [ { "name": "rds_cluster_id", "value": "3b2fa8b55a9b4adca3713962a9d31884in01" } ], "metric_name": "rds021_myisam_buf_usage" } ] } 响应样例三:维度是instance_id为cd841102-f6b1-407d-a31f-235db796dcbb和proc为b28354b543375bfa94dabaeda722927f的主机监控的监控数据rds021_myisam_buf_usage的最小值。 { "metrics": [ { "unit": "Ratio", "datapoints": [ { "min": 0, "timestamp": 1556625612000 }, { "min": 0, "timestamp": 1556625672000 } ], "namespace": "AGT.ECS", "dimensions": [ { "name": "instance_id", "value": "cd841102-f6b1-407d-a31f-235db796dcbb" }, { "name": "proc", "value": "b28354b543375bfa94dabaeda722927f" } ], "metric_name": "rds021_myisam_buf_usage" } ] }
  • 请求消息 单次POST请求消息体大小不能超过512KB,否则请求会被服务端拒绝。 对于不同的period取值和查询的指标数量,其对应的默认最大查询区间(to - from)也不同,计算规则为“指标数量 * (to - from) / 监控周期 ≤ 3000”。 当period值为“1”时,监控周期为60*1000ms=60000ms。 当period值为"300" 时,监控周期为300*1000ms=300000ms。 当period值为"1200" 时,监控周期为1200*1000ms=1200000ms。 当period值为"3600" 时,监控周期为3600*1000ms=3600000ms。 当period值为"14400" 时,监控周期为14400*1000ms=14400000ms。 当period值为"86400" 时,监控周期为86400*1000ms=86400000ms。 例如批量查询300个指标,监控周期为60000ms,可算出(to - from)最大值为"600000",若设定的请求参数使(to - from)超出最大值,from值会自动调整为"to-600000"。 请求参数 表2 请求参数 名称 是否必选 参数类型 说明 metrics 是 Arrays of objects 指标数据。数组长度最大500。 详细参数请参见表3。 from 是 Long 查询数据起始时间,UNIX时间戳,单位毫秒。建议from的值相对于当前时间向前偏移至少1个周期。由于聚合运算的过程是将一个聚合周期范围内的数据点聚合到周期起始边界上,如果将from和to的范围设置在聚合周期内,会因为聚合未完成而造成查询数据为空,所以建议from参数相对于当前时间向前偏移至少1个周期。以5分钟聚合周期为例:假设当前时间点为10:35,10:30~10:35之间的原始数据会被聚合到10:30这个点上,所以查询5分钟数据点时from参数应为10:30。 说明: 云监控会根据所选择的聚合粒度向前取整from参数。 to 是 Long 查询数据截止时间UNIX时间戳,单位毫秒。from必须小于to。 period 是 String 监控数据粒度。 枚举值,取值范围: "1",原始数据 "300",5分钟粒度 "1200",20分钟粒度 "3600",1小时粒度 "14400",4小时粒度 "86400",1天粒度 filter 是 String 数据聚合方式,支持的聚合方式如下: average:聚合周期内指标数据的平均值。 max:聚合周期内指标数据的最大值。 min:聚合周期内指标数据的最小值。 sum:聚合周期内指标数据的求和值。 variance:聚合周期内指标数据的方差。 filter参数的值不会影响原始数据(period为1)的查询结果。 表3 metrics字段数据结构说明 名称 是否必选 参数类型 说明 namespace 是 String 查询服务的命名空间,各服务命名空间请参考支持监控的服务列表。 格式为service.item;service和item必须是字符串,必须以字母开头,只能包含0-9/a-z/A-Z/_,service.item总长度最短为3,最大为32。 metric_name 是 String 指标ID,例如弹性云服务器的监控指标CPU使用率,对应的metric_name为cpu_util。各服务监控指标请参考支持监控的服务列表 中的监控指标参考文档列。 字符格式必须以字母开头,只能包含0-9/a-z/A-Z/_-,字符长度最短为1,最大为64。 dimensions 是 Arrays of objects 指标维度列表。数组最大长度为4。 单个维度为json对象,结构说明如下: { "name": "instance_id", "value": "33328f02-3814-422e-b688-bfdba93d4050" } 详细说明请参见表4。 表4 dimensions字段数据结构说明 名称 是否必选 参数类型 说明 name 是 String 监控维度名称,例如弹性云服务器的维度为instance_id。各服务维度请参考支持监控的服务列表,可参考维度中key字段。 必须以字母开头,只能包含0-9/a-z/A-Z/_/-,长度最短为1,最大为32。 value 是 String 维度取值,例如弹性云服务器的ID。可通过调用查询指标列表接口,在其响应体的相关指标数据中获取 必须以字母或数字开头,只能包含0-9/a-z/A-Z/_/-,长度最短为1,最大为256。 对于dimensions字段里value的值,可通过调用查询指标列表接口,在其响应体的相关指标数据中获取。 对于OBS相关指标数据,当进行了相关OBS接口操作时可查询到相关指标数据,否则查询结果为空。 请求样例 请求样例一:查看维度是instance_id为faea5b75-e390-4e2b-8733-9226a9026070的弹性云服务器的监控数据cpu_util和维度instance_id为06b4020f-461a-4a52-84da-53fa71c2f42b的弹性云服务器的监控数据network_vm_connections,在2019-04-30 20:00:00到2019-04-30 22:00:00时间内,原始数据的平均值。 { "metrics": [ { "namespace": "SYS.ECS", "dimensions": [ { "name": "instance_id", "value": "faea5b75-e390-4e2b-8733-9226a9026070" } ], "metric_name": "cpu_util" }, { "namespace": "SYS.ECS", "dimensions": [ { "name": "instance_id", "value": "06b4020f-461a-4a52-84da-53fa71c2f42b" } ], "metric_name": "network_vm_connections" } ], "from": 1556625600000, "to": 1556632800000, "period": "1", "filter": "average" } 请求样例二:查看维度是rds_cluster_id为3c8cc15614ab46f5b8743317555e0de2in01的关系性数据库的监控数据rds021_myisam_buf_usage和维度是rds_cluster_id为3b2fa8b55a9b4adca3713962a9d31884in01的关系性数据库的监控数据rds021_myisam_buf_usage,在2019-04-30 20:00:00到2019-04-30 22:00:00时间内,原始数据的求和值。 { "metrics": [ { "namespace": "SYS.RDS", "dimensions": [ { "name": "rds_cluster_id", "value": "3c8cc15614ab46f5b8743317555e0de2in01" } ], "metric_name": "rds021_myisam_buf_usage" }, { "namespace": "SYS.RDS", "dimensions": [ { "name": "rds_cluster_id", "value": "3b2fa8b55a9b4adca3713962a9d31884in01" } ], "metric_name": "rds021_myisam_buf_usage" } ], "from": 1556625600000, "to": 1556632800000, "period": "1", "filter": "sum" } 请求样例三:查看维度是instance_id为cd841102-f6b1-407d-a31f-235db796dcbb和proc为b28354b543375bfa94dabaeda722927f的主机监控的监控数据proc_specified_count,在2019-04-30 20:00:00到2019-04-30 22:00:00时间内,周期为20分钟时,指标数据的最小值。 { "metrics": [ { "namespace": "AGT.ECS", "dimensions": [ { "name": "instance_id", "value": "cd841102-f6b1-407d-a31f-235db796dcbb" }, { "name": "proc", "value": "b28354b543375bfa94dabaeda722927" } ], "metric_name": "proc_specified_count" } ], "from": 1556625600000, "to": 1556632800000, "period": "1200", "filter": "min" }
  • Step1 检查系统环境 SSH登录机器后,检查NPU卡状态。运行如下命令,返回NPU设备信息。 npu-smi info # 在每个实例节点上运行此命令可以看到NPU卡状态 npu-smi info -l | grep Total # 在每个实例节点上运行此命令可以看到总卡数 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装NPU设备和驱动,或释放被挂载的NPU。 检查是否安装docker。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward
  • 镜像地址 本教程中用到的基础镜像地址和配套版本关系如下表所示,请提前了解。 表1 基础镜像地址 镜像用途 镜像地址 基础镜像(训练和推理通用) 西南-贵阳一:swr.cn-southwest-2.myhuaweicloud.com/atelier/pytorch_2_1_ascend:pytorch_2.1.0-cann_8.0.rc1-py_3.9-hce_2.0.2312-aarch64-snt9b-20240516142953-ca51f42 本文档兼容cann_7.0.1.1和cann_8.0.rc1的镜像,推荐使用较新版本的cann_8.0.rc1镜像。 表2 模型镜像版本 名称 版本 CANN cann_8.0.rc1 PyTorch pytorch_2.1.0 PyTorch_npu 2.1.0.post3-20240413
  • Step3 启动容器镜像 启动容器镜像前请先按照参数说明修改${}中的参数。可以根据实际需要增加修改参数。启动容器命令如下。 container_work_dir="/home/ma-user/ws" # 容器内挂载的目录 work_dir="/home/ma-user/ws" # 宿主机挂载目录,存放了代码、数据、权重 container_name="ascendspeed" # 启动的容器名称 image_name="${container_name} " # 启动的镜像ID docker run -itd \ --device=/dev/davinci0 \ --device=/dev/davinci1 \ --device=/dev/davinci2 \ --device=/dev/davinci3 \ --device=/dev/davinci4 \ --device=/dev/davinci5 \ --device=/dev/davinci6 \ --device=/dev/davinci7 \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/sbin/npu-smi:/usr/local/sbin/npu-smi \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ --cpus 192 \ --memory 1000g \ --shm-size 200g \ --net=host \ -v ${work_dir}:${container_work_dir} \ --name ${container_name} \ $image_name \ /bin/bash 参数说明: --name ${container_name} 容器名称,进入容器时会用到,此处可以自己定义一个容器名称,例如ascendspeed。 -v ${work_dir}:${container_work_dir} 代表需要在容器中挂载宿主机的目录。宿主机和容器使用不同的文件系统。work_dir为宿主机中工作目录,目录下存放着训练所需代码、数据等文件。container_work_dir为要挂载到的容器中的目录。为方便两个地址可以相同。 容器不能挂载到/home/ma-user目录,此目录为ma-user用户家目录。如果容器挂载到/home/ma-user下,拉起容器时会与基础镜像冲突,导致基础镜像不可用。 driver及npu-smi需同时挂载至容器。 ${image_name} 为docker镜像的ID,在宿主机上可通过docker images查询得到。 通过容器名称进入容器中。 docker exec -it ${container_name} bash 启动容器时默认用户为ma-user用户。如果需要切换到root用户可以执行以下命令: sudo su source /home/ma-user/.bashrc 如果继续使用ma-user,在使用其他属组如root用户上传的数据和文件时,可能会存在权限不足的问题,因此需要执行如下命令统一文件属主。 sudo chown -R ma-user:ma-group ${container_work_dir} # ${container_work_dir}:/home/ma-user/ws 容器内挂载的目录 例如: sudo chown -R ma-user:ma-group /home/ma-user/ws 安装pip源。 #进入scriptsscripts目录 cd /home/ma-user/ws/xxxend/llm_train/AscendSpeed/scripts #执行安装命令 pip install -r requirements.txt
  • Step7 推理验证 首先将上面训练的最终模型文件epoch_29.pt 拷贝到/home/ma-user/open_clip目录下,然后在/home/ma-user/open_clip下,执行如下命令。 vi inference.py 将下面的代码拷贝进去后保存。 import os import torch from PIL import Image import open_clip if 'DEVICE_ID' in os.environ: print("DEVICE_ID:", os.environ['DEVICE_ID']) else: os.environ['DEVICE_ID'] = "0" model, _, preprocess = open_clip.create_model_and_transforms('ViT-B-32', pretrained='/home/ma-user/open_clip/epoch_29.pt') model = model.to("npu") tokenizer = open_clip.get_tokenizer('ViT-B-32') image = preprocess(Image.open("./docs/CLIP.png")).unsqueeze(0) text = tokenizer(["a diagram", "a dog", "a cat"]) print("input image shape:", image.shape) print("input text shape:", text.shape) with torch.no_grad(), torch.cuda.amp.autocast(): image = image.to("npu") text = text.to("npu") image_features = model.encode_image(image) text_features = model.encode_text(text) print("output image shape:", image_features.shape) print("output text shape:", text_features.shape) image_features /= image_features.norm(dim=-1, keepdim=True) text_features /= text_features.norm(dim=-1, keepdim=True) text_probs = (100.0 * image_features @ text_features.T).softmax(dim=-1) print("Label probs:", text_probs) # prints: [[1., 0., 0.]] 运行推理脚本。 python inference.py 由于./docs/CLIP.png图片是一张图表,因此结果值和第一个文本"a diagram"吻合,结果值会接近[[1., 0., 0.]]。
  • Step6 训练Open clip模型 适配昇腾代码。 在目录/home/ma-user/open_clip/src/training下,修改main.py文件,在第10行添加如下代码。 import torch_npu from torch_npu.contrib import transfer_to_npu 同样,修改train.py文件,在第11行添加如上代码,如图1所示。 图1 修改train.py文件 单卡训练。 训练命令参考如下。 cd /home/ma-user/open_clip python -m training.main \ --save-frequency 1 \ --zeroshot-frequency 1 \ --report-to tensorboard \ --train-data '/home/ma-user/open_clip/mscoco/{00000..00059}.tar' \ --train-num-samples 102400 \ --dataset-type webdataset \ --warmup 10000 \ --batch-size=256 \ --lr=1e-3 \ --wd=0.1 \ --epochs=30 \ --workers=8 \ --model ViT-B-32 参数说明: save-frequency:指定运行多少个epoch就保存模型参数,可以调大。 report-to tensorboard:指定输出loss指标到tensorboard,一般需要做精度评估才需要带上。 train-num-samples:指定每个epoch需要训练的样本个数,不超过总样本个数。 batch-size:指定一次处理的数据batch。 epochs:指定训练的epoch个数。 训练结束后,模型输出目录为: /home/ma-user/open_clip/logs/xxx-model_ViT-B-32-lr_0.001-b_32-j_8-p_amp/checkpoints 多卡训练 训练命令参考如下。 cd /home/ma-user/open_clip/src torchrun --nproc_per_node 4 -m training.main \ --save-frequency 1 \ --zeroshot-frequency 1 \ --report-to tensorboard \ --train-data '/home/ma-user/open_clip/mscoco/{00000..00059}.tar' \ --train-num-samples 102400 \ --dataset-type webdataset \ --warmup 10000 \ --batch-size=256 \ --lr=1e-3 \ --wd=0.1 \ --epochs=30 \ --workers=8 \ --model ViT-B-32
  • Step8 精度评估 关闭数据集shuffle,保证训练数据一致。 修改/home/ma-user/open_clip/src/training/data.py文件,搜索get_wds_dataset函数,将两处shuffle关闭,修改代码如下。 if is_train: if not resampled: print("dataset unshuffled.") #pipeline.extend([ # detshuffle2( # bufsize=_SHARD_SHUFFLE_SIZE, # initial=_SHARD_SHUFFLE_INITIAL, # seed=args.seed, # epoch=shared_epoch, # ), # wds.split_by_node, # wds.split_by_worker, #]) print("wds unshuffled.") pipeline.extend([ # at this point, we have an iterator over the shards assigned to each worker at each node tarfile_to_samples_nothrow, # wds.tarfile_to_samples(handler=log_and_continue), # wds.shuffle( # bufsize=_SAMPLE_SHUFFLE_SIZE, # initial=_SAMPLE_SHUFFLE_INITIAL, # ), ]) 重新训练1个epoch。脚本参考内容如下。 cd /home/ma-user/open_clip python -m training.main \ --save-frequency 1 \ --zeroshot-frequency 1 \ --report-to tensorboard \ --train-data '/home/ma-user/open_clip/mscoco/{00000..00059}.tar' \ --train-num-samples 102400 \ --dataset-type webdataset \ --warmup 10000 \ --batch-size=256 \ --lr=1e-3 \ --wd=0.1 \ --epochs=1 \ --workers=8 \ --model ViT-B-32 训练完成后,tensorboard统计的记录会保存在/home/ma-user/open_clip/logs/xxx-model_ViT-B-32-lr_0.001-b_32-j_8-p_amp/tensorboard目录下。 通过docker cp命令将容器内tensorboard子目录拷贝到宿主机 /home下。 在宿主机上安装tensorboard并启动。 pip install tensorboard #安装 tensorboard --logdir=/home/tensorboard --bind_all #启动 启动成功后如下图所示。 图2 启动tensorboard 在浏览器上访问http://{宿主机ip}:6006/。将train/loss导出为json,和GPU训练下导出的文件比较。
  • Step1 准备环境 请参考DevServer资源开通,购买DevServer资源,并确保机器已开通,密码已获取,能通过SSH登录,不同机器之间网络互通。 当容器需要提供服务给多个用户,或者多个用户共享使用该容器时,应限制容器访问Openstack的管理地址(169.254.169.254),以防止容器获取宿主机的元数据。具体操作请参见禁止容器获取宿主机元数据。 检查环境。 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。 npu-smi info # 在每个实例节点上运行此命令可以看到NPU卡状态 npu-smi info -l | grep Total # 在每个实例节点上运行此命令可以看到总卡数 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装NPU设备和驱动,或释放被挂载的NPU。 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward
  • Step5 获取训练数据集 使用img2dataset工具下载数据集。首先需要在容器安装img2dataset,安装命令如下。 pip install img2dataset 参考官方指导下载开源mscoco数据集。 #下载metadata wget https://huggingface.co/datasets/ChristophSchuhmann/MS_COCO_2017_URL_TEXT/resolve/main/mscoco.parquet #使用img2dataset工具下载数据集 img2dataset --url_list mscoco.parquet --input_format "parquet"\ --url_col "URL" --caption_col "TEXT" --output_format webdataset\ --output_folder mscoco --processes_count 16 --thread_count 64 --image_size 256\ --enable_wandb True
  • Step3 启动容器 启动容器镜像。启动前请先按照参数说明修改${}中的参数。可以根据实际需要增加修改参数。 docker run -itd \ --device=/dev/davinci0 \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /etc/ascend_install.info:/etc/ascend_install.info \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -v /etc/localtime:/etc/localtime \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ --shm-size 32g \ --net=bridge \ -v ${work_dir}:${container_work_dir} \ --name ${container_name} \ ${image_name} bash 参数说明: --name ${container_name} 容器名称,进入容器时会用到,此处可以自己定义一个容器名称。 -v ${work_dir}:${container_work_dir} 代表需要在容器中挂载宿主机的目录。宿主机和容器使用不同的文件系统。work_dir为宿主机中工作目录,目录下存放着训练所需代码、数据等文件。container_work_dir为要挂载到的容器中的目录。为方便两个地址可以相同。 容器不能挂载到/home/ma-user目录,此目录为ma-user用户家目录。如果容器挂载到/home/ma-user下,拉起容器时会与基础镜像冲突,导致基础镜像不可用。 driver及npu-smi需同时挂载至容器。 ${image_name} 代表镜像地址。 通过容器名称进入容器中。 docker exec -it ${container_name} bash
  • Step4 下载并安装Open-clip源码包 从官网下载Open-clip源码包。下载地址:https://codeload.github.com/mlfoundations/open_clip/zip/refs/heads/main 下载open_clip-main.zip文件后解压,重命名为open_clip,然后拷贝到容器/home/ma-user目录下。 docker cp open_clip open-clip:/home/ma-user/ 修改文件夹权限(注意:重新启动一个终端,使用root用户登录容器,修改文件夹权限,修改完后关闭这个终端。) docker exec -it --user root open-clip bash chown -R ma-user:ma-group open_clip 安装源码。 cd open_clip make install 安装依赖。 pip install -r requirements-training.txt pip install -r requirements-test.txt
  • Step4 下载原始模型包 从HuggingFace官网下载moondream2模型包到本地,下载地址:https://huggingface.co/vikhyatk/moondream2/tree/2024-03-06。 在宿主机上创建一个空目录/home/temp,将下载的模型包存放在宿主机/home/temp/moondream2目录下,修改目录权限后,拷贝到容器中。 mkdir /home/temp #创建一个空目录,将下载的模型包存放在宿主机/home/temp/moondream2目录下 chmod -R 777 moondream2 #修改moondream2目录权限 docker cp moondream2 moondream2:/home/ma-user/ #拷贝moondream2目录到容器中
  • Step3 启动容器镜像 启动容器镜像。启动前请先按照参数说明修改${}中的参数。 docker run -itd \ --device=/dev/davinci1 \ --device=/dev/davinci_manager \ --device=/dev/devmm_svm \ --device=/dev/hisi_hdc \ -v /usr/local/bin/npu-smi:/usr/local/bin/npu-smi \ -v /usr/local/dcmi:/usr/local/dcmi \ -v /etc/ascend_install.info:/etc/ascend_install.info \ -v /sys/fs/cgroup:/sys/fs/cgroup:ro \ -v /usr/local/Ascend/driver:/usr/local/Ascend/driver \ --shm-size 32g \ --net=bridge \ -v ${work_dir}:${container_work_dir} \ --name ${container_name} \ ${image_name} bash 参数说明: -v ${work_dir}:${container_work_dir}:代表需要在容器中挂载宿主机的目录。宿主机和容器使用不同的文件系统。work_dir为宿主机中工作目录,目录下存放着训练所需代码、数据等文件。container_work_dir为要挂载到的容器中的目录。为方便两个地址可以相同。 容器不能挂载到/home/ma-user目录,此目录为ma-user用户家目录。如果容器挂载到/home/ma-user下,拉起容器时会与基础镜像冲突,导致基础镜像不可用。 driver及npu-smi需同时挂载至容器。 --name ${container_name}:容器名称,进入容器时会用到,此处可以自己定义一个容器名称。 ${image_name}:容器镜像的名称。 通过容器名称进入容器中。 docker exec -it ${container_name} bash
  • Step1 准备环境 请参考DevServer资源开通,购买DevServer资源,并确保机器已开通,密码已获取,能通过SSH登录,不同机器之间网络互通。 当容器需要提供服务给多个用户,或者多个用户共享使用该容器时,应限制容器访问Openstack的管理地址(169.254.169.254),以防止容器获取宿主机的元数据。具体操作请参见禁止容器获取宿主机元数据。 检查环境。 SSH登录机器后,检查NPU设备检查。运行如下命令,返回NPU设备信息。 npu-smi info # 在每个实例节点上运行此命令可以看到NPU卡状态 npu-smi info -l | grep Total # 在每个实例节点上运行此命令可以看到总卡数 如出现错误,可能是机器上的NPU设备没有正常安装,或者NPU镜像被其他容器挂载。请先正常安装NPU设备和驱动,或释放被挂载的NPU。 检查docker是否安装。 docker -v #检查docker是否安装 如尚未安装,运行以下命令安装docker。 yum install -y docker-engine.aarch64 docker-engine-selinux.noarch docker-runc.aarch64 配置IP转发,用于容器内的网络访问。执行以下命令查看net.ipv4.ip_forward配置项的值,如果为1,可跳过此步骤。 sysctl -p | grep net.ipv4.ip_forward 如果net.ipv4.ip_forward配置项的值不为1,执行以下命令配置IP转发。 sed -i 's/net\.ipv4\.ip_forward=0/net\.ipv4\.ip_forward=1/g' /etc/sysctl.conf sysctl -p | grep net.ipv4.ip_forward
  • URI GET /v2/bills/customer-bills/monthly-sum 参数说明请参见下表。 表1 查询参数 参数 是否必选 参数类型 取值范围 描述 bill_cycle 是 String 最大长度:8 查询消费汇总数据所在的账期,东八区时间,格式为YYYY-MM。 service_type_code 否 String 最大长度:64 云服务类型编码,例如OBS的云服务类型编码为“hws.service.type.obs”。您可以调用查询云服务类型列表接口获取。 此参数不携带或携带值为空时,不作为筛选条件。 enterprise_project_id 否 String 最大长度:64 企业项目标识(企业项目ID)。 default项目对应ID:0 未归集(表示该云服务不支持企业项目管理能力)项目对应ID:-1 其余项目对应ID获取方法请参见如何获取企业项目ID。 此参数不携带或携带值为空时,不作为筛选条件。携带值为null时,作为筛选条件。不支持携带值为空串。 method 否 String 最大长度:64 查询方式。 oneself:自身 sub_customer:企业子客户 all:自己和企业子客户 此参数不携带或携带值为空时,默认值为“all”,如果没有企业子客户,all的时候也是查询客户自己的数据。 说明: 若需要查询财务独立企业子的账单信息,前提是子账号已经接受了企业主账号的“允许查看子账号消费信息”的申请。申请方法见“变更子账号权限”。 sub_customer_id 否 String 最大长度:64 企业子客户的账号ID。 说明: 如果method取值不为sub_customer,则该参数无效。 如果method取值为sub_customer,则该参数不能为空。 offset 否 Integer [0-最大整数] 偏移量,从0开始。默认值为0。 说明: offset用于分页处理,如不涉及分页,请使用默认值0。offset表示相对于满足条件的第一个数据的偏移量。如offset = 1,则返回满足条件的第二个数据至最后一个数据。 示例1,满足查询条件的结果共10条数据,limit取值为10,offset取值为1,则返回的数据为2~10,第一条数据不返回。 示例2,查询总数20条,期望每页返回10条数据,则获取第一页数据,入参offset填写0,limit填写10;获取第二页数据,入参offset填写10,limit填写10。 limit 否 Integer [1-1000] 每次查询的数量。默认值为10。
  • 请求消息 请求参数 无 请求示例 GET https://bss.myhuaweicloud.com/v2/products/service-types?offset=0&limit=10 HTTP/1.1 Content-Type: application/json X-Auth-Token:MIIPAgYJKoZIhvcNAQcCo...ggg1BBIINPXsidG9rZ X-Language: zh_CN
共100000条