华为云用户手册

  • 响应示例 状态码:200 OK { "group_name" : "band", "type" : "TAG", "tags" : [ { "key" : "Resource", "value" : "VPC" }, { "key" : "Usage", "value" : "Tmp" } ], "create_time" : "2006-01-02T15:04:05.000Z", "group_id" : "rg0123456789xxxx", "enterprise_project_id" : "0" }
  • 响应参数 状态码:200 表3 响应Body参数 参数 参数类型 描述 group_name String 资源分组的名称 正则匹配:^((([a-z]|[0-9]){8}-([a-z]|[0-9]){4}-([a-z]|[0-9]){4}-([a-z]|[0-9]){4}-([a-z]|[0-9]){12})|0)$ group_id String 资源分组ID,以rg开头,后跟22位由字母或数字组成的字符串 最小长度:2 最大长度:24 create_time String 资源分组的创建时间 enterprise_project_id String 资源分组归属企业项目ID 正则匹配:^((([a-z]|[0-9]){8}-([a-z]|[0-9]){4}-([a-z]|[0-9]){4}-([a-z]|[0-9]){4}-([a-z]|[0-9]){12})|0)$ type String 资源分组添加资源方式,取值只能为EPS(同步企业项目),TAG(标签动态匹配),Manual(手动添加) 枚举值: EPS TAG Manual association_ep_ids Array of strings 该资源分组内包含的资源来源的企业项目ID,type为EPS时必传 数组长度:1 - 1 tags Array of ResourceGroupTagRelation objects 标签动态匹配时的关联标签,type为TAG时该字段不为空 数组长度:1 - 10 instances Array of Instance objects 实例名称匹配参数 数组长度:1 - 10 表4 ResourceGroupTagRelation 参数 参数类型 描述 key String TMS标签键规范。 operator String tag操作符,含义是标签key与value的关系。 include表示包含 prefix表示前缀 suffix表示后缀 notInclude表示不包含 equal表示相等 当operator为equal,value为空字符串时表示为全部 all表示全部 枚举值: include prefix suffix notInclude equal all value String TMS标签值规范。 表5 Instance 参数 参数类型 描述 product_name String 云产品名称 最小长度:1 最大长度:16 logical_operator String 逻辑运算符 ALL 所有条件匹配成功 ANY 任意条件匹配成功 枚举值: ALL ANY instance_names Array of ResourceName objects 资源名称匹配参数数组 数组长度:1 - 10 表6 ResourceName 参数 参数类型 描述 resource_name String 资源名称条件值 最小长度:0 最大长度:128 operator String 实例操作符,含义是真实资源的名称与资源名称条件值的运算关系。 include表示包含 prefix表示前缀 suffix表示后缀 notInclude表示不包含 equal表示相等 all表示全部 枚举值: include prefix suffix notInclude equal all 状态码:400 表7 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:401 表8 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:403 表9 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:404 表10 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:500 表11 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 alarm_policy_ids Array of strings 成功启停的告警规则策略ID列表 数组长度:1 - 100 状态码:400 表5 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:401 表6 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:403 表7 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:404 表8 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:500 表9 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 缺省值:application/json; charset=UTF-8 最小长度:1 最大长度:64 X-Auth-Token 是 String 用户Token 最小长度:1 最大长度:16384 表3 请求Body参数 参数 是否必选 参数类型 描述 alarm_policy_ids 是 Array of strings 需要批量启停的告警规则策略的ID列表 数组长度:1 - 100 enabled 是 Boolean 开关
  • URI PUT /v2/{project_id}/one-click-alarms/{one_click_alarm_id}/alarms/{alarm_id}/policies/action 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID 最小长度:1 最大长度:64 正则匹配:^[a-zA-Z0-9-]{1,64}$ one_click_alarm_id 是 String 一键告警ID 最小长度:1 最大长度:64 alarm_id 是 String 告警规则ID 最小长度:24 最大长度:24
  • 响应示例 状态码:200 OK { "widgets" : [ { "widget_id" : "wgXXXXXXXXXXXXXXXXXXXXXX", "ret_status" : "successful" }, { "widget_id" : "wg9876543210123456789012", "ret_status" : "error", "error_msg" : "record not found" } ] }
  • 响应参数 状态码:200 表11 响应Body参数 参数 参数类型 描述 widgets Array of BatchUpdateWidgetInfo objects 更新结果列表 数组长度:1 - 50 表12 BatchUpdateWidgetInfo 参数 参数类型 描述 widget_id String 视图id 正则匹配:^wg([a-z]|[A-Z]|[0-9]){22}$ ret_status String 修改结果;成功: successful, 失败: error 枚举值: successful error error_msg String 如果失败则返回失败信息 最小长度:1 最大长度:2048 状态码:400 表13 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:401 表14 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:500 表15 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256
  • 请求示例 [ { "widget_id" : "wgXXXXXXXXXXXXXXXXXXXXXX", "metrics" : [ { "namespace" : "SYS.E CS ", "dimensions" : { "name" : "instance_id", "filter_type" : "specific_instances", "values" : [ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ], "metric_name" : "cpu_util", "alias" : [ "cpuutilalias" ], "extra_info" : { "origin_metric_name" : "cpu_util", "metric_prefix" : "cpu", "metric_type" : "type", "custom_proc_name" : "app.sh" } } } ], "view" : "view", "metric_display_mode" : "single", "threshold" : 500, "threshold_enabled" : false, "title" : "widget_title_new", "properties" : { "filter" : "topN", "topN" : 10, "order" : "asc" }, "location" : { "left" : 0, "top" : 3, "width" : 4, "height" : 3 }, "unit" : "%" } ]
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 缺省值:application/json; charset=UTF-8 最小长度:1 最大长度:64 X-Auth-Token 是 String 用户Token 最小长度:1 最大长度:16384 表3 请求Body参数 参数 是否必选 参数类型 描述 [数组元素] 是 Array of UpdateWidgetInfo objects 待修改的监控视图列表 表4 UpdateWidgetInfo 参数 是否必选 参数类型 描述 group_id 否 String 视图分区id 正则匹配:^dg([a-z]|[A-Z]|[0-9]){22}|default$ widget_id 是 String 视图id 正则匹配:^wg([a-z]|[A-Z]|[0-9]){22}$ metrics 否 Array of WidgetMetric objects 指标列表 数组长度:1 - 200 title 否 String 监控视图标题 最小长度:1 最大长度:128 正则匹配:^([\u4E00-\u9FFF]|[a-z]|[A-Z]|[0-9]|_|-|:|;|\(|\)|\.|~|(|))+$ threshold 否 Double 监控视图指标的阈值 最小值:0 最大值:1.7976931348623157E308 threshold_enabled 否 Boolean 阈值是否展示,true:展示,false:不展示 view 否 String 监控视图图表类型, bar条形图,line折线图,bar_chart柱状图,table表格,circular_bar环形柱状图,area_chart面积图 枚举值: bar line bar_chart table circular_bar area_chart metric_display_mode 否 String 指标展示类型,single 单指标展示,multiple 多指标展示 枚举值: single multiple properties 否 properties object 视图展示配置 location 否 location object 监控视图图表坐标 unit 否 String 单位 表5 WidgetMetric 参数 是否必选 参数类型 描述 namespace 是 String 服务维度 最小长度:3 最大长度:32 正则匹配:^([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_)*\.([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_)*$ dimensions 是 DimensionInfo object 维度信息列表 metric_name 是 String 多个指标名称,用逗号隔开 alias 否 Array of strings 监控视图的指标别名列表 最小长度:1 最大长度:128 数组长度:0 - 200 extra_info 否 ExtraInfo object 指标信息 rollup_enable 否 Boolean 是否开启聚合 rollup_filter 否 String 聚合规则,last:最新值,max:最大值,min:最小值,average:平均值,sum:求和值 枚举值: last max min average sum rollup_dimension 否 String 聚合维度 last_week_compare_enable 否 Boolean 是否展示同比(上周同一时间)数据,true:展示,false:不展示 yesterday_compare_enable 否 Boolean 是否展示环比(昨天同一时间)数据,true:展示,false:不展示 metric_dimension 否 String 维度名称,多维度用逗号分隔,各服务支持的维度可参考:“服务维度名称” 最小长度:1 最大长度:131 正则匹配:^([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-){0,31}(,([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-){0,31}){0,3}$ top_num 否 Integer 展示数据数量 最小值:1 最大值:200 unit 否 String 单位 order 否 String 排序字段,asc正序,desc倒序 枚举值: asc desc topn_metric_name 否 String 资源的监控指标名称,必须以字母开头,只能包含0-9/a-z/A-Z/_,字符长度最短为1,最大为64;如:弹性云服务器中的监控指标cpu_util,表示弹性服务器的CPU使用率;文档数据库中的指标mongo001_command_ps,表示command执行频率;各服务的指标名称可查看:“服务指标名称”。 表6 DimensionInfo 参数 是否必选 参数类型 描述 name 是 String 维度名称,多维度用逗号分隔,各服务支持的维度可参考:“服务维度名称” 最小长度:1 最大长度:131 正则匹配:^([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-){0,31}(,([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-){0,31}){0,3}$ filter_type 是 String 资源类型, all_instances: 全部资源, specific_instances: 指定资源 枚举值: all_instances specific_instances values 否 Array of strings 维度值列表 最小长度:1 最大长度:1024 数组长度:0 - 200 表7 ExtraInfo 参数 是否必选 参数类型 描述 origin_metric_name 是 String 指标名称 最小长度:1 最大长度:4096 正则匹配:^([a-z]|[A-Z]|[0-9]|_|-|~|\.|/|:)*$ metric_prefix 否 String 指标名称前缀 最小长度:1 最大长度:4096 正则匹配:^([a-z]|[A-Z]|[0-9]|_|-|~|\.|/|:)*$ metric_type 否 String 指标类型 最小长度:1 最大长度:32 正则匹配:^([a-z]|[A-Z]|[0-9]|_|-|~|\.|/|:)*$ custom_proc_name 否 String 自定义进程名称 最小长度:1 最大长度:250 表8 properties 参数 是否必选 参数类型 描述 filter 否 String 聚合类型,目前只有TopN这一种类型,折线图不支持该参数 枚举值: topN topN 否 Integer Top值前N个;折线图时表示随机展示的时序数据条数 最小值:1 最大值:2147483647 缺省值:100 order 否 String 排序字段,asc正序,desc倒序,折线图不支持该参数 枚举值: asc desc description 否 String 监控视图的描述信息 最小长度:0 最大长度:200 last_week_compare_enable 否 Boolean 是否展示同比(上周同一时间)数据,true:展示,false:不展示 yesterday_compare_enable 否 Boolean 是否展示环比(昨天同一时间)数据,true:展示,false:不展示 legend_location 否 String 图例位置标记,hide表示隐藏图例,right表示图例放在监控视图右侧,bottom表示图例放在监控视图底部,表格不支持该参数 枚举值: hide right bottom legend_values 否 Array of strings 当前时序数据需要在图例中展示的统计值名称列表,表格不支持该参数,条形图和柱状图仅支持选择当前值 数组长度:0 - 5 枚举值: last max min avg sum thresholds 否 Array of ThresholdInfo objects 监控视图的阈值辅助线配置 数组长度:0 - 6 is_all_compare_enable 否 Boolean 同比环比总开关是否生效;true:生效;false:不生效 表9 ThresholdInfo 参数 是否必选 参数类型 描述 threshold 是 Number 监控视图辅助线的阈值 最小值:0 最大值:2147483647 threshold_color 是 String 监控视图辅助线的颜色,"#B50E65"紫色,"#F23030"红色,"#FF8800"橙色,"#F2E70C"黄色 枚举值: #B50E65 #F23030 #FF8800 #F2E70C 表10 location 参数 是否必选 参数类型 描述 top 是 Integer 监控视图的上坐标 最小值:0 最大值:2147483647 left 是 Integer 监控视图的左坐标 最小值:0 最大值:9 width 是 Integer 监控视图图表宽度 最小值:3 最大值:12 height 是 Integer 监控视图图表高度 最小值:3 最大值:2147483647
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 缺省值:application/json; charset=UTF-8 最小长度:1 最大长度:64 X-Auth-Token 是 String 用户Token 最小长度:1 最大长度:16384
  • 响应参数 状态码:400 表3 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:401 表4 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:500 表5 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 one_click_alarm_ids Array of strings 成功删除的一键告警ID列表 数组长度:1 - 100 状态码:400 表5 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:401 表6 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:403 表7 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:500 表8 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 缺省值:application/json; charset=UTF-8 最小长度:1 最大长度:64 X-Auth-Token 是 String 用户Token 最小长度:1 最大长度:16384 表3 请求Body参数 参数 是否必选 参数类型 描述 one_click_alarm_ids 是 Array of strings 需要批量删除的一键告警ID列表 数组长度:1 - 100
  • 响应参数 状态码:200 表4 响应Body参数 参数 参数类型 描述 alarms Array of alarms objects 告警规则列表 数组长度:0 - 100 count Integer 告警规则列表总数 最小值:0 最大值:1000 表5 alarms 参数 参数类型 描述 alarm_id String 告警规则ID 正则匹配:^al([0-9A-Za-z]){22}$ name String 告警规则名称 最小长度:1 最大长度:128 正则匹配:^([\u4E00-\u9FFF]|[a-z]|[A-Z]|[0-9]|_|-)+$ description String 告警规则描述 最小长度:0 最大长度:256 状态码:400 表6 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:401 表7 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:403 表8 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:500 表9 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256
  • URI GET /v2/{project_id}/alarm-templates/{template_id}/association-alarms 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID 最小长度:1 最大长度:64 template_id 是 String 告警模板的ID,以at开头,后跟字母、数字,长度最长为64 最小长度:2 最大长度:64 表2 Query参数 参数 是否必选 参数类型 描述 offset 否 Integer 分页查询时查询的起始位置,表示从第几条数据开始,默认为0 最小值:0 最大值:10000 limit 否 Integer 查询结果条数的限制值,取值范围为[1,100],默认值为100 最小值:1 最大值:100
  • 请求示例 [ { "metrics" : [ { "namespace" : "SYS.ECS", "dimensions" : { "name" : "instance_id", "filter_type" : "specific_instances", "values" : [ "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx" ] }, "metric_name" : "cpu_util", "alias" : [ "cpuutilalias" ], "extra_info" : { "origin_metric_name" : "cpu_util", "metric_prefix" : "cpu", "metric_type" : "type", "custom_proc_name" : "app.sh" } } ], "view" : "view", "metric_display_mode" : "single", "threshold" : 0.7, "threshold_enabled" : true, "title" : "widget_title", "properties" : { "filter" : "topN", "topN" : 100, "order" : "desc" }, "location" : { "left" : 0, "top" : 0, "width" : 4, "height" : 3 }, "unit" : "%" } ]
  • 响应参数 状态码:200 表11 响应Body参数 参数 参数类型 描述 widget_ids Array of strings 批量创建监控视图返回结果 数组长度:1 - 50 状态码:400 表12 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:401 表13 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:500 表14 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 缺省值:application/json; charset=UTF-8 最小长度:1 最大长度:64 X-Auth-Token 是 String 用户Token 最小长度:1 最大长度:16384 表3 请求Body参数 参数 是否必选 参数类型 描述 [数组元素] 否 Array of BaseWidgetInfo objects 监控视图信息 表4 BaseWidgetInfo 参数 是否必选 参数类型 描述 group_id 否 String 视图分区id 正则匹配:^dg([a-z]|[A-Z]|[0-9]){22}|default$ metrics 是 Array of WidgetMetric objects 指标列表 数组长度:1 - 200 title 是 String 监控视图标题 最小长度:1 最大长度:128 正则匹配:^([\u4E00-\u9FFF]|[a-z]|[A-Z]|[0-9]|_|-|:|;|\(|\)|\.|~|(|))+$ threshold 否 Double 监控视图指标的阈值 最小值:0 最大值:1.7976931348623157E308 threshold_enabled 是 Boolean 阈值是否展示,true:展示,false:不展示 view 是 String 监控视图图表类型, bar条形图,line折线图,bar_chart柱状图,table表格,circular_bar环形柱状图,area_chart面积图 枚举值: bar line bar_chart table circular_bar area_chart metric_display_mode 是 String 指标展示类型,single 单指标展示,multiple 多指标展示 枚举值: single multiple properties 否 properties object 额外信息 location 是 location object 监控视图图表坐标 unit 否 String 单位 表5 WidgetMetric 参数 是否必选 参数类型 描述 namespace 是 String 服务维度 最小长度:3 最大长度:32 正则匹配:^([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_)*\.([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_)*$ dimensions 是 DimensionInfo object 维度信息列表 metric_name 是 String 多个指标名称,用逗号隔开 alias 否 Array of strings 监控视图的指标别名列表 最小长度:1 最大长度:128 数组长度:0 - 200 extra_info 否 ExtraInfo object 指标信息 rollup_enable 否 Boolean 是否开启聚合 rollup_filter 否 String 聚合规则,last:最新值,max:最大值,min:最小值,average:平均值,sum:求和值 枚举值: last max min average sum rollup_dimension 否 String 聚合维度 last_week_compare_enable 否 Boolean 是否展示同比(上周同一时间)数据,true:展示,false:不展示 yesterday_compare_enable 否 Boolean 是否展示环比(昨天同一时间)数据,true:展示,false:不展示 metric_dimension 否 String 维度名称,多维度用逗号分隔,各服务支持的维度可参考:“服务维度名称” 最小长度:1 最大长度:131 正则匹配:^([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-){0,31}(,([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-){0,31}){0,3}$ top_num 否 Integer 展示数据数量 最小值:1 最大值:200 unit 否 String 单位 order 否 String 排序字段,asc正序,desc倒序 枚举值: asc desc topn_metric_name 否 String 资源的监控指标名称,必须以字母开头,只能包含0-9/a-z/A-Z/_,字符长度最短为1,最大为64;如:弹性云服务器中的监控指标cpu_util,表示弹性服务器的CPU使用率;文档数据库中的指标mongo001_command_ps,表示command执行频率;各服务的指标名称可查看:“服务指标名称”。 表6 DimensionInfo 参数 是否必选 参数类型 描述 name 是 String 维度名称,多维度用逗号分隔,各服务支持的维度可参考:“服务维度名称” 最小长度:1 最大长度:131 正则匹配:^([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-){0,31}(,([a-z]|[A-Z]){1}([a-z]|[A-Z]|[0-9]|_|-){0,31}){0,3}$ filter_type 是 String 资源类型, all_instances: 全部资源, specific_instances: 指定资源 枚举值: all_instances specific_instances values 否 Array of strings 维度值列表 最小长度:1 最大长度:1024 数组长度:0 - 200 表7 ExtraInfo 参数 是否必选 参数类型 描述 origin_metric_name 是 String 指标名称 最小长度:1 最大长度:4096 正则匹配:^([a-z]|[A-Z]|[0-9]|_|-|~|\.|/|:)*$ metric_prefix 否 String 指标名称前缀 最小长度:1 最大长度:4096 正则匹配:^([a-z]|[A-Z]|[0-9]|_|-|~|\.|/|:)*$ metric_type 否 String 指标类型 最小长度:1 最大长度:32 正则匹配:^([a-z]|[A-Z]|[0-9]|_|-|~|\.|/|:)*$ custom_proc_name 否 String 自定义进程名称 最小长度:1 最大长度:250 表8 properties 参数 是否必选 参数类型 描述 filter 否 String 聚合类型,目前只有TopN这一种类型,折线图不支持该参数 枚举值: topN topN 否 Integer Top前N个;折线图时为随机展示的时序数据条数 最小值:1 最大值:2147483647 缺省值:100 order 否 String 排序字段,asc正序,desc倒序,折线图不支持该参数 枚举值: asc desc description 否 String 监控视图的描述信息 最小长度:0 最大长度:200 last_week_compare_enable 否 Boolean 是否展示同比(上周同一时间)数据,true:展示,false:不展示 yesterday_compare_enable 否 Boolean 是否展示环比(昨天同一时间)数据,true:展示,false:不展示 legend_location 否 String 图例位置标记,hide表示隐藏图例,right表示图例放在监控视图右侧,bottom表示图例放在监控视图底部,表格不支持该参数 枚举值: hide right bottom legend_values 否 Array of strings 当前时序数据需要在图例中展示的统计值名称列表,表格不支持该参数;条形图和柱状图仅支持配置当前值 数组长度:0 - 6 枚举值: last max min avg sum thresholds 否 Array of ThresholdInfo objects 监控视图的阈值辅助线配置 数组长度:0 - 5 is_all_compare_enable 否 Boolean 同比环比总开关是否生效;true:生效;false:不生效 表9 ThresholdInfo 参数 是否必选 参数类型 描述 threshold 是 Number 监控视图辅助线的阈值 最小值:0 最大值:2147483647 threshold_color 是 String 监控视图辅助线的颜色,"#B50E65"紫色,"#F23030"红色,"#FF8800"橙色,"#F2E70C"黄色 枚举值: #B50E65 #F23030 #FF8800 #F2E70C 表10 location 参数 是否必选 参数类型 描述 top 是 Integer 监控视图的上坐标 最小值:0 最大值:2147483647 left 是 Integer 监控视图的左坐标 最小值:0 最大值:9 width 是 Integer 监控视图图表宽度 最小值:3 最大值:12 height 是 Integer 监控视图图表高度 最小值:3 最大值:2147483647
  • URI POST /v2/{project_id}/dashboards/{dashboard_id}/widgets 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID 最小长度:1 最大长度:64 正则匹配:^[a-zA-Z0-9-]{1,64}$ dashboard_id 是 String 监控看板id,以db开头,包含22个字母和数字例:db16564943172807wjOmoLyn' 数组长度:24 - 24 正则匹配:^db([a-z]|[A-Z]|[0-9]){22}$
  • 响应参数 状态码:400 表4 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:401 表5 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256 状态码:500 表6 响应Body参数 参数 参数类型 描述 error_code String 请求异常内部业务状态码 最小长度:0 最大长度:256 error_msg String 请求异常信息 最小长度:0 最大长度:256 request_id String 请求ID 最小长度:0 最大长度:256
  • URI PUT /v2/{project_id}/dashboards/{dashboard_id} 表1 路径参数 参数 是否必选 参数类型 描述 project_id 是 String 租户ID 最小长度:1 最大长度:64 正则匹配:^[a-zA-Z0-9-]{1,64}$ dashboard_id 是 String 监控看板id,以db开头,包含22个字母和数字例:db16564943172807wjOmoLyn' 数组长度:24 - 24 正则匹配:^db([a-z]|[A-Z]|[0-9]){22}$
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 Content-Type 是 String 发送的实体的MIME类型。默认使用application/json; charset=UTF-8。 缺省值:application/json; charset=UTF-8 最小长度:1 最大长度:64 X-Auth-Token 是 String 用户Token 最小长度:1 最大长度:16384 表3 请求Body参数 参数 是否必选 参数类型 描述 dashboard_name 否 String 自定义监控看板名称 最小长度:1 最大长度:128 正则匹配:^([\u4E00-\u9FFF]|[a-z]|[A-Z]|[0-9]|_|-)+$ is_favorite 否 Boolean 监控看板是否标记收藏, true: 收藏, false: 未收藏 row_widget_num 是 Integer 监控视图展示模式,0表示自定义坐标,1代表每行一个 最小值:0 最大值:3 缺省值:3 filter 否 String 表示指标聚合方式,average表示平均值,min表示最小值,max表示最大值,sum表示求合 枚举值: average min max sum period 否 Integer 表示指标聚合周期,1表示原始值,60表示一分钟,300表示5分钟,1200表示20分钟,3600表示1小时,14400表示4小时,86400表示1天 枚举值: 1 60 300 1200 3600 14400 86400 display_time 否 Integer 展示时间,0表示使用自定义时间展示, 5分钟,15分钟,30分钟,1小时,2小时,3小时,12小时,24小时,7天,30天 枚举值: 0 5 15 30 60 120 180 720 1440 10080 43200 refresh_time 否 Integer 刷新时间 0秒表示不刷新,10秒,1分钟,5分钟,20分钟 枚举值: 0 10 60 300 1200 from 否 Integer 开始时间 最小值:0 最大值:9999999999999 to 否 Integer 结束时间 最小值:0 最大值:9999999999999 screen_color 否 String 监控大屏背景颜色 最小长度:1 最大长度:100 enable_screen_auto_play 否 Boolean 监控大屏是否自动切换 time_interval 否 Integer 监控大屏自动切换时间间隔,10000代表10s,30000代表30s,60000代表1min 枚举值: 10000 30000 60000 enable_legend 否 Boolean 是否开启图例 full_screen_widget_num 否 Integer 大屏展示视图数量, 可以取得值必须与console页面可选值保持一致 最小值:0 最大值:65535
  • 数据保护技术 工业数据转换引擎云服务通过多种数据保护手段和特性,保障在存储和传输的数据安全可靠。其数据保护技术如表1所示。 表1 数据保护手段和特性 数据保护手段 说明 传输加密(HTTP/HTTPS) 工业数据转换引擎云服务支持HTTP和HTTPS两种传输协议,为保证数据传输的安全性,推荐您使用更加安全的HTTPS协议。 传输敏感数据(包含密码)时,使用TLS1.2版本的HTTPS协议,支持完整性和机密性保护。 服务端存储加密 服务端对于敏感数据采取加密存储机制,使用SCC加密机制。详情请参见RDS高安全性。 数据备份 使用公有云RDS/OBS提供的数据备份恢复机制。详情请参见RDS/OBS高可靠性。 敏感操作保护 用户进行敏感操作时,会对操作用户进行风险提示,或者二次认证通过后进行操作。 敏感操作包括服务的启动、停止、部署与升级等。 父主题: 安全
  • 授权管理 通过添加授权策略,可实现被授权的其他用户拥有DIS通道的上传和下载权限。 使用注册账户登录DIS控制台。 单击管理控制台左上角的,选择区域和项目。 在左侧列表栏中选择“通道管理”。 单击通道名称,进入所选通道的管理页面。 选择“授权管理”,单击“添加授权策略”, 选择授权模式,再在“被授权用户”文本框中,设置用户信息。 支持通配符"*",表示授权所有账号; 支持添加多账号,用","隔开 支持授权某账号下的特定用户,输入账号名,单击"查询用户"按钮,选择用户。 图1 添加权限 父主题: 管理通道
  • 约束限制 每个通道在一小时内仅可操作实现10次自动扩容、10次手动扩容、1次缩容(包含手动缩容和自动缩容)操作。 进行弹性伸缩分区后,有如下注意事项: 上传数据时,不建议设置数据的PartitionKey,DIS会自动根据通道分区的数量将数据均匀散列到多个分片中。如果设置数据的PartitionKey,可能会导致数据倾斜,产生通道限流。 下载数据时,需要定期的使用descriptStream接口检测通道分区数量的变化,以便DIS可以下载到所有分区的数据。
  • 自动扩缩容 自动扩缩容原理 当上一分钟内通道触发流控(即超过通道内分区最大吞吐量开始限流)、且通道上传流量大于通道总带宽80%时,触发自动扩容操作,扩容目标分区数=分区数/0.6,向上取整。 例如,有5个普通分区时,上传总带宽为5MB/秒。当上一分钟通道触发流控后、且通道上传流量达到4MB/秒以上时,触发自动扩容操作,目标分区数为5/0.6=8.3,向上取整后为9。 当通道上传流量和下载流量均小于30%时,触发自动缩容操作,缩容目标分区数=分区数/2,向下取整。 例如,有5个普通分区时,上传总带宽为5MB/秒,下载总带宽为10MB/秒。当通道上传流量低于1.5MB/秒、且下载流量低于3MB/秒时,触发自动缩容操作,目标分区数为5/2=2.5,向下取整后为2。 自动扩缩容规则 自动扩缩容间隔时间大于1分钟,且发生扩容(含自动扩容和手工扩容)后2分钟内,不触发自动缩容。发生缩容(包含手动缩容和自动缩容)后的2分钟内,不触发自动扩容。 扩容分区时,首先将状态为“DELETED”的分区恢复为“ACTIVE”状态,成为可读写分区。其次将状态为“EXPIRED”的分区恢复为“ACTIVE”状态,成为可读写分区。若前两者恢复后仍不满足扩容需求,系统将新建分区。 对已有分区进行缩容操作后,缩容成功的分区不再进行计费也不参与配额控制。在步骤1:开通DIS通道中配置的“生命周期”时间内,缩容成功的分区可以读取数据不可写入数据,超过此时间则不可读取/写入数据。 执行自动扩缩容操作 使用注册账户登录DIS控制台。 单击管理控制台左上角的,选择区域和项目。 按照如下方法进行自动扩缩容。 在左侧列表栏中选择“通道管理”。 在“通道管理”页面中单击需要扩缩容的通道名称。 单击通道详情页面的“自动扩缩容”菜单后的编辑按钮。 系统弹出“变更自动扩缩容参数”对话框,将自动扩缩容的开关开启。 图1 变更自动扩缩容参数 设置自动扩缩容的分区上限和下限,单击“确认”。
  • 手动扩缩容 手动扩缩容规则 扩容分区时“目标分区数量”需大于当前分区数量,且小于等于租户剩余配额与当前分区数量的总和。 扩容分区时,首先将状态为“DELETED”的分区恢复为“ACTIVE”状态,成为可读写分区。其次将状态为“EXPIRED”的分区恢复为“ACTIVE”状态,成为可读写分区。若前两者恢复后仍不满足扩容需求,系统将新建分区。 缩容分区时“目标分区数量”需要大于等于“1”,且小于当前分区数量。 对已有分区进行缩容操作后,缩容成功的分区不再进行计费也不参与配额控制。在步骤1:开通DIS通道中配置的“生命周期”时间内,缩容成功的分区可以读取数据不可写入数据,超过此时间则不可读取/写入数据。 执行手动扩缩容操作 使用注册账户登录DIS控制台。 单击管理控制台左上角的,选择区域和项目。 选择如下任意一种方法进行手动扩缩容。 在左侧列表栏中选择“通道管理”。 在“通道管理”页面中单击需要扩缩容的通道名称。 在通道详情页面的右上角单击“扩缩容”按钮,弹出“变更分区数目”对话框。 修改“目标分区数”,单击“确认”。 在左侧列表栏中选择通道管理。 针对待扩缩容的通道,选中“操作”列中的“更多”下拉列表中的“扩缩容”。 弹出“变更分区数目”对话框。 修改“目标分区数”,单击“确认”。
  • Windows服务器上配置DIS Agent 使用文件管理器进入安装包解压后的目录,例如“C:\dis-agent-X.X.X”。 使用编辑器打开“agent.yml”文件,根据实际情况修改各配置项的值并保存。 “agent.yml”文件为linux格式,建议使用通用文本编辑器工具编辑文件。 关于日志文件的补充说明: 在dis-agent程序的安装路径下,logs目录中存放程序运行产生的日志文件,其中dis-agent.log文件记录程序运行状况,dis-agent-2022-10-28.log等带日期的log文件记录文件上传记录,每天生成一个日志文件。 为此,用户也可以在dis-agent程序安装路径下的conf文件夹修改log4j2.xml文件,自定义log文件的存放位置(如下图红框所示位置修改)。 图2 log4j2
  • Linux服务器上配置DIS Agent 使用PuTTY 工具登录日志所在服务器。 执行cd /opt/dis-agent-X.X.X/命令,进入“dis-agent-X.X.X”文件夹。 执行vim conf/agent.yml命令,打开DIS Agent配置文件“agent.yml”,根据实际情况修改各配置项的值并保存,配置项说明请参见表1。 表1 agent.yml配置文件说明 配置项 是否必填 说明 默认值 region 是 DIS服务所在区域。 说明: 获取DIS区域请参见终端节点及区域说明。 cn-north-1 AK 是 用户的Access Key。 说明: 支持用户自己加密AK以保证安全,也可以使用明文的AK,如若需要对AK加密,请查看表格下关于AK/SK加密的使用说明。 获取方式请参见检查认证信息。 请根据实际情况配置 SK 是 用户的Secret Key。 说明: 支持用户自己加密SK以保证安全,也可以使用明文的SK,如若需要对SK加密,请查看表格下关于AK/SK加密的使用说明。 获取方式请参见检查认证信息。 请根据实际情况配置 encrypt.key 否 用户加密时使用key值。 说明: 如果用户需要使用加密的AK或者SK,则必须配置该参数(自己在agent.yml文件中添加),请务必保证加密时使用的key值和此处写的encrypt.key保持一致,否则将会解密失败。 请根据实际情况配置 projectId 是 用户所属区域的项目ID。 获取方式请参见检查认证信息。 请根据实际情况配置 endpoint 是 DIS数据网关地址。 格式:https://DIS终端节点。 说明: 获取DIS终端节点请参见终端节点及区域说明。 https://dis.cn-north-1.myhuaweicloud.com body.serialize.type 否 DIS数据包上传格式。(非原始数据格式) json:DIS数据包封装为json格式,满足普通使用。 protobuf:DIS数据包封装为二进制格式,可以减少体积约1/3,在数据量较大的情况下推荐使用此格式。 json body.compress.enabled 否 是否开启传输数据压缩。 false body.compress.type 否 开启压缩时选择的数据压缩格式,目前支持的压缩格式如下: lz4:综合来看效率最高的压缩算法,更加侧重压缩解压速度,压缩比并不是第一。 zstd:一种新的无损压缩算法,旨在提供快速压缩,并实现高压缩比。 lz4 PROXY_HOST 否 配置代理IP,请求走代理服务器的需要配置。 请根据实际情况配置 PROXY_PORT 否 配置代理端口。 80 PROXY_PROTOCOL 否 配置代理协议。支持http和https。 http PROXY_USERNAME 否 配置代理用户名。 请根据实际情况配置 PROXY_PASSWORD 否 配置代理密码。 请根据实际情况配置 [flows] 监控的文件信息,可同时配置多个监控文件信息。 当前支持如下模式上传: DISStream:持续监控文本文件,实时收集增量数据按分隔符解析并上传到DIS通道(通道源数据类型为BLOB/JSON/CSV),配置项说明请参见表2。 具体配置格式可以参见版本包中的“agent.yml”的样例。 关于AK/SK加密的使用说明: 参照安装DIS Agent下载安装dis-agent,利用dis-agent包中bin目录下的脚本对AK和SK进行加密,按照如下所示步骤进行操作(windows环境下): 进入到dis-agent的bin目录中,右键git bash here运行脚本,示例: ./dis-encrypt.sh {key} {ak},即可得到加密后的AK,将其配置在“agent.yml“配置文件中,SK同理。 按上述操作将AK和SK加密之后,将加密后的AK/SK,key全部配置到"agent.yml”即可。 图1 加密示例 表2 DISStream配置项说明 配置项 是否必填 说明 默认值 DISStream 是 DIS 通道名称。 将“filePattern”所匹配到的文件内容按分隔符解析并上传到此通道。 请根据实际情况配置 filePattern 是 文件监控路径,只能监控一个目录下的文件,无法递归目录监控。 如果要监控多个目录,可以在flows下面配置多个“DISStream”,文件名可使用“*”进行匹配。 “/tmp/*.log”表示匹配“/tmp”目录下所有以“.log”结尾的文件。 “/tmp/access-*.log”表示匹配“/tmp”目录下所有以“access-”开头,以“.log”结尾的文件。 Windows上路径范例为“D:\logs\*.log”。 请根据实际情况配置 directoryRecursionEnabled 否 是否查找子目录 false:不递归查找子目录,只匹配根目录下的文件 true: 递归查找所有子目录。如filePattern配置为/tmp/*.log,此时可以匹配到/tmp/one.log,/tmp/child/two.log,/tmp/child/child/three.log false initialPosition 否 监控起始位置。 END_OF_FILE:开始启动时不解析当前匹配的文件,而是从新增文件或新增的内容开始按分隔符解析并上传。 START_OF_FILE:将“filePattern”配置的所有匹配文件按照修改时间,从旧到新按分隔符解析并上传到DIS服务。 START_OF_FILE maxBufferAgeMillis 否 最长上传等待时间。 单位:毫秒 记录队列满则立即上传。 记录队列未满,等待此配置项配置的时间后上传到DIS服务。 5000 maxBufferSizeRecords 否 记录队列缓存的最大记录数,如果队列达到此值则立刻上传这批数据。 500 partitionKeyOption 否 每条记录会携带一个PartitionKey,相同PartitionKey的记录会分配到同一个分区。此配置项可设置每条记录的PartitionKey值,取值如下: RANDOM_INT:PartitionKey的值为随机数字的字符串,记录均匀分布在每个分区。 FILE_NAME:PartitionKey的值为文件名称字符串,记录分布在特定的一个分区中。 FILE_NAME,RANDOM_INT:PartitionKey的值为文件名称字符串与随机数字字符串的组合体,以英文逗号分隔,记录携带所属的文件名并均匀分布在所有分区。 RANDOM_INT recordDelimiter 否 每条记录之间的分隔符。 取值范围:任意一个字符,且包含在双引号内。 取值不可为空,即该配置项不可配置为“”。 说明: 如果取值为特殊字符,使用反斜杠(\)转义,如分隔符为引号("),可配置为"\"",如果为反斜杠(\),可配置为"\\"。 如果为控制字符如STX(正文开始),可配置为"\u0002"。 "\n" isRemainRecordDelimiter 否 上传记录时,是否携带分隔符。 true:携带分隔符。 false:不携带分隔符。 false isFileAppendable 否 文件是否有追加内容的可能。 true:文件可能会追加内容。Agent持续监控文件,若文件追加了内容则根据recordDelimiter解析后上传记录。此时要保证文件以recordDelimiter结尾,否则Agent会认为文件追加未完成,继续等待recordDelimiter写入。 false:文件不会追加内容。文件最后一行不以recordDelimiter结尾,Agent仍会当做最后一条记录上传,上传完成后根据“deletePolicy”和“fileSuffix”的配置执行文件删除或重命名操作。 true maxFileCheckingMillis 否 最长文件变动检查时间,如果文件在此时间内“大小”、“修改时间”和“文件ID”都没有变化,则认为文件已经完成并开始上传。 请根据实际文件变动的频率配置此值,避免文件未完成已开始上传的情况。 若文件上传后有变动,则会重新全量上传。 单位:毫秒 说明: “isFileAppendable”配置为“false”时该配置项生效。 5000 deletePolicy 否 文件内容上传完成之后的删除策略。 never:文件内容上传完毕后不删除文件。 immediate:文件内容上传完毕后删除文件 。 说明: “isFileAppendable”配置为“false”时该配置项生效。 never fileSuffix 否 文件内容上传完成之后添加的文件名后缀。 例如:原文件名为“x.txt”,“fileSuffix”配置为“.COMPLETED”,则文件上传后的命名为“x.txt.COMPLETED”。 说明: “isFileAppendable”配置为“false”,同时“deletePolicy”配置为“never”,该配置项生效。 .COMPLETED sendingThreadSize 否 发送线程数。默认单线程发送。 须知: 使用多线程会导致如下问题: 数据发送不保证顺序。 程序异常停止并重新启动时会丢失部分数据。 1 fileEncoding 否 文件编码格式,支持UTF8, GBK, GB2312, ISO-8859-1等 UTF8 resultLogLevel 否 每次调用DIS数据发送接口后的结果日志级别。 OFF:日志中不输出每次接口调用的结果。 INFO:每次接口调用的结果以INFO级别输出到日志。 WARN:每次接口调用的结果以WARN级别输出到日志。 ERROR:每次接口调用的结果以ERROR级别输出到日志。 INFO
  • 查看App 使用注册账户登录DIS控制台。 单击管理控制台左上角的,选择区域和项目。 在左侧列表栏中选择“通道管理”。 单击需要查看的通道名称,进入所选通道的管理页面。 单击“Apps”,可查看到接入该通道的所有App。 可查看接入该通道的App名称,ID和创建时间。 您也可通过单击“清空Checkpoints”,将App的所有Checkpoints清零。 Checkpoint,消费检查点。应用程序消费数据时,记录已消费数据的最新序列号作为检查点。当重新消费数据时,可根据此检查点继续消费。 图1 查看Apps 单击实际的App名称,可查看App对该通道数据的消费详情。 图2 查看App详情
共100000条
提示

您即将访问非华为云网站,请注意账号财产安全