5.10 其他接口
5.10.4 查询实例在 CES 的监控层级关系
}, {
"type" : "cluster",
"product_id" : "c6.16u32g.cluster", "ecs_flavor_id" : "c6.4xlarge.2", "billing_code" : "dms.platinum.c6", "arch_types" : [ "X86" ],
"charging_mode" : [ "monthly", "hourly" ], "ios" : [ {
"io_spec" : "dms.physical.storage.high.v2", "type" : "evs",
"available_zones" : [ "cn-north-4b", "cn-north-4g", "cn-north-4c", "cn-north-4a" ], "unavailable_zones" : [ "cn-north-4f", "cn-north-4d", "cn-north-4e", "cn-north-4f" ] }, {
"io_spec" : "dms.physical.storage.ultra.v2", "type" : "evs",
"available_zones" : [ "cn-north-4b", "cn-north-4g", "cn-north-4c", "cn-north-4a" ], "unavailable_zones" : [ "cn-north-4d", "cn-north-4e", "cn-north-4f" ]
} ],
"max_partition_per_broker" : "2000", "max_broker" : "30",
"max_storage_per_node" : "30000", "max_consumer_per_broker" : "4000", "min_broker" : "3",
"max_bandwidth_per_broker" : "100", "min_storage_per_node" : "1600", "max_tps_per_broker" : "250000"
}
调试
您可以在API Explorer中调试该接口。
URI
GET /v2/{project_id}/instances/{instance_id}/ces-hierarchy
表5-178 路径参数
参数 是否必选 参数类型 描述
project_id 是 String 项目ID。
instance_id 是 String 实例ID。
请求参数
无
响应参数
状态码: 200
表5-179 响应 Body 参数
参数 参数类型 描述
dimensions Array of
dimensions
objects监控维度。
instance_ids Array of
instance_ids
objects实例信息。
nodes Array of
nodes objects
节点信息。queues Array of
queues
objects队列信息。
groups Array of
groups
objects消费组信息。
表5-180 dimensions
参数 参数类型 描述
name String 监控维度名称。
metrics Array of
strings 监控指标名称。
key_name Array of
strings 监控查询使用的key。
dim_router Array of
strings 监控维度路由。
children Array of
children
objects子维度列表。
表5-181 children
参数 参数类型 描述
name String 子维度名称。
metrics Array of
strings 监控指标名称列表。
key_name Array of
strings 监控查询使用的key。
dim_router Array of
strings 监控维度路由。
表5-182 instance_ids
参数 参数类型 描述
name String 实例ID。
表5-183 nodes
参数 参数类型 描述
name String 节点名称。
表5-184 queues
参数 参数类型 描述
name String topic名称。
partitions Array of
partitions
objects分区列表。
表5-185 partitions
参数 参数类型 描述
name String 分区名称。
表5-186 groups
参数 参数类型 描述
name String 消费组名称。
queues Array of
queues
objectstopic信息。
表5-187 queues
参数 参数类型 描述
name String topic名称。
partitions Array of
partitions
objects分区信息。
表5-188 partitions
参数 参数类型 描述
name String 分区名称。
请求示例
GET https://{endpoint}/v2/{project_id}/instances/{instance_id}/ces-hierarchy
响应示例
状态码: 200 列表成功。
{ "dimensions" : [ {
"name" : "kafka_instance_id",
"metrics" : [ "current_partitions", "current_topics", "group_messages" ], "key_name" : [ "instance_ids" ],
"dim_router" : [ "kafka_instance_id" ] }, {
"name" : "kafka_broker",
"metrics" : [ "broker_data_size", "broker_messages_in_rate", "broker_bytes_out_rate",
"broker_bytes_in_rate", "broker_produce_mean", "broker_fetch_mean" ], "key_name" : [ "nodes" ],
"dim_router" : [ "kafka_instance_id", "kafka_broker" ] }, {
"name" : "kafka_rest",
"metrics" : [ "rest_produce_success", "rest_produce_failed", "rest_produce_latency",
"rest_produce_msg_num", "rest_produce_flow", "rest_consume_success", "rest_consume_failed",
"rest_consume_latency", "rest_consume_msg_num", "rest_consume_flow", "rest_commit_success",
"rest_commit_failed", "rest_commit_latency", "rest_commit_msg_num", "rest_commit_flow" ], "key_name" : [ "nodes" ],
"dim_router" : [ "kafka_instance_id", "kafka_rest" ] }, {
"name" : "kafka_topics",
"metrics" : [ "topic_data_size", "topic_messages_in_rate", "topic_bytes_out_rate", "topic_bytes_in_rate",
"topic_messages" ],
"key_name" : [ "queues" ],
"dim_router" : [ "kafka_instance_id", "kafka_topics" ], "children" : [ {
"name" : "kafka_partitions",
"metrics" : [ "produced_messages", "partition_messages" ], "key_name" : [ "queues", "partitions" ],
"dim_router" : [ "kafka_instance_id", "kafka_topics", "kafka_partitions" ] } ]
}, {
"name" : "kafka_groups_partitions",
"metrics" : [ "messages_consumed", "messages_remained" ], "key_name" : [ "groups", "queues", "partitions" ],
"dim_router" : [ "kafka_instance_id", "kafka_groups", "kafka_groups_topics", "kafka_groups_partitions" ] } ],
"instance_ids" : [ {
"name" : "68f3f6a0-3741-453b-bda9-a6ff6b5bb6f7"
} ],
"name" : "topic-84234378", "partitions" : [ {
"name" : "0"
}, {
"name" : "1"
}, {
"name" : "2"
} ] } ],
"groups" : [ {
"name" : "test-consumer-group", "queues" : [ {
"name" : "mytest", "partitions" : [ { "name" : "0"
}, {
"name" : "1"
}, {
"name" : "2"
} ] } ] } ] }
状态码
状态码 描述
200 列表成功。
错误码
请参见错误码。
6 权限策略和授权项
如果您需要对您所拥有的DMS for Kafka实例进行精细的权限管理,您可以使用统一身 份认证服务(Identity and Access Management,简称IAM),如果华为云帐号已经 能满足您的要求,不需要创建独立的IAM用户,您可以跳过本章节,不影响您使用 DMS for Kafka实例的其它功能。
默认情况下,新建的IAM用户没有任何权限,您需要将其加入用户组,并给用户组授 予策略或角色,才能使用户组中的用户获得相应的权限,这一过程称为授权。授权 后,用户就可以基于已有权限对云服务进行操作。
权限根据授权的精细程度,分为角色和策略。角色以服务为粒度,是IAM最初提供的 一种根据用户的工作职能定义权限的粗粒度授权机制。策略以API接口为粒度进行权限 拆分,授权更加精细,可以精确到某个操作、资源和条件,能够满足企业对权限最小 化的安全管控要求。
说明
如果您要允许或是禁止某个接口的操作权限,请使用策略。
帐号具备所有接口的调用权限,如果使用帐号下的IAM用户发起API请求时,该IAM用 户必须具备调用该接口所需的权限,否则,API请求将调用失败。每个接口所需要的权 限,与各个接口所对应的授权项相对应,只有发起请求的用户被授予授权项所对应的 策略,该用户才能成功调用该接口。例如,用户要调用接口来创建Kafka实例,那么这 个IAM用户被授予的策略中必须包含允许“dms:instance:create”的授权项,该接口才 能调用成功。
支持的授权项
策略包含系统策略和自定义策略,如果系统策略不满足授权要求,管理员可以创建自 定义策略,并通过给用户组授予自定义策略来进行精细的访问控制。策略支持的操作 与API相对应,授权项列表说明如下:
● 权限:允许或拒绝某项操作。
● 对应API接口:自定义策略实际调用的API接口。
● 授权项:自定义策略中支持的Action,在自定义策略中的Action中写入授权项,
可以实现授权项对应的权限功能。
● IAM项目(Project)/企业项目(Enterprise Project):自定义策略的授权范围,
包括IAM项目与企业项目。授权范围如果同时支持IAM项目和企业项目,表示此授 权项对应的自定义策略,可以在IAM和企业管理两个服务中给用户组授权并生
效。如果仅支持IAM项目,不支持企业项目,表示仅能在IAM中给用户组授权并生 效,如果在企业管理中授权,则该自定义策略不生效。关于IAM项目与企业项目 的区别,详情请参见:IAM与企业管理的区别。
DMS for Kafka的支持自定义策略授权项如下表所示。用户调用如下API时,需要获取 对应的权限。权限获取请参考统一身份认证服务(IAM)的帮助指导。
表6-1 DMS for Kafka 授权项明细
权限 对应API接口 授权项 IAM项目
(Project) 企业项目 (Enterprise Project) 创建实例
(按需)
POST /v2/
{project_id}/
instances
dms:instance:
create √ √
查询指定实
例 GET /v2/{project_id}/
instances/
{instance_id}
dms:instance:
get √ √
修改实例信
息 PUT /v2/{project_id}/
instances/
GET /v2/{project_id}/
instances dms:instance:l
ist √ √
批量重启或 删除实例
POST /v2/
{project_id}/
instances/action
重启:dms:instance:
modifyStatus 删除:dms:instance:
delete
√ √
重置Manager密 码
PUT /v2/{project_id}/
instances/
{instance_id}/kafka-manager-password
dms:instance:
resetAuthInfo √ √
重置密码 POST /v2/
resetAuthInfo √ √
重启Manager PUT /v2/{project_id}/
instances/
{instance_id}/restart-kafka-manager
dms:instance:
modifyStatus √ √
权限 对应API接口 授权项 IAM项目
(Project) 企业项目 (Enterprise Project) 开启或关闭
实例自动创 建topic功能
POST /v2/
{project_id}/
POST /v2/
{project_id}/
connector √ √
创建转储任
POST /v2/
{project_id}/
务列表 GET /v2/{project_id}/
connectors/
储任务 GET /v2/{project_id}/
connectors/
PUT /v2/{project_id}/
connectors/
权限 对应API接口 授权项 IAM项目
(Project) 企业项目 (Enterprise Project) Kafka实例批
量删除Topic POST /v2/
{project_id}/
建Topic POST /v2/
{project_id}/
询Topic GET /v2/{project_id}/
instances/
{instance_id}/topics
dms:instance:
get √ √
修改Kafka实
例Topic PUT /v2/{project_id}/
instances/
{instance_id}/topics
dms:instance:
modify √ √
批量删除用
户 PUT /v2/{project_id}/
instances/
PUT /v2/{project_id}/
instances/
表 GET /v2/{project_id}/
instances/
{instance_id}/users
dms:instance:
get √ √
查询用户权
限 GET /v1/{project_id}/
instances/
权限 对应API接口 授权项 IAM项目
(Project) 企业项目 (Enterprise Project) 查询消息 GET /v2/{project_id}/
instances/
DELETE /v2/
{project_id}/
GET /v2/{project_id}/
instances/
GET /v2/{project_id}/
instances/
POST /v2/
{project_id}/kafka/
签 GET /v2/{project_id}/
kafka/tags dms:instance:
get √ √
查询实例标 签
GET /v2/{project_id}/
kafka/{instance_id}/