OnsConsumerStatus - 查询Group ID消费状态

查询指定Group ID详细状态数据:订阅关系检查、消费TPS统计、负载均衡状态、消费端连接。

接口说明

注意 阿里云提供的 OpenAPI 属于管控类 API,用于管理和查询阿里云服务的相关资源。仅推荐在管控链路集成,消息收发的核心数据链路中严禁依赖 OpenAPI 实现,否则可能会导致链路产生风险。

  • 本接口一般用于在粗略判断消费堆积以及客户端在线状态后,需要排查消费异常原因的场景。可以根据返回结果判断出指定 Group ID 的订阅关系是否一致、负载均衡是否正常以及获取在线客户端的 Jstack 信息等。
  • 使用本接口需要调用大量后端接口以完成数据聚合,因此查询速度慢,不建议频繁调用。

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

授权信息

下表是API对应的授权信息,可以在RAM权限策略语句的Action元素中使用,用来给RAM用户或RAM角色授予调用此API的权限。具体说明如下:

  • 操作:是指具体的权限点。
  • 访问级别:是指每个操作的访问级别,取值为写入(Write)、读取(Read)或列出(List)。
  • 资源类型:是指操作中支持授权的资源类型。具体说明如下:
    • 对于必选的资源类型,用背景高亮的方式表示。
    • 对于不支持资源级授权的操作,用全部资源表示。
  • 条件关键字:是指云产品自身定义的条件关键字。
  • 关联操作:是指成功执行操作所需要的其他权限。操作者必须同时具备关联操作的权限,操作才能成功。
操作访问级别资源类型条件关键字关联操作
mq:QueryConsumerStatusRead
  • 全部资源
    *

请求参数

名称类型必填描述示例值
GroupIdstring

需要查询的消费端 Group ID。

GID_test_group_id
Detailboolean

是否查询详细信息。取值说明如下:

  • true:要查询详细信息,即可获取返回参数 ConsumerConnectionInfoListDetailInTopicList 信息。

  • false:默认值,不查询详细信息,即返回参数 ConsumerConnectionInfoListDetailInTopicList 为空。

true
NeedJstackboolean

是否打印 Jstack 信息。取值说明如下:

  • true:要打印 Jstack 信息,可在 Jstack 返回参数中获取堆栈信息。
说明 如需打印 Jstack 信息,请确保您的入参 Detail 设置为 true
  • false:默认值,不打印 Jstack 信息,Jstack 返回参数为空。
true
InstanceIdstring

需查询的 Group ID 所对应的实例 ID。

MQ_INST_111111111111_DOxxxxxx

返回参数

名称类型描述示例值
object
RequestIdstring

公共参数,每个请求的 ID 都是唯一的,可用于排查和定位问题。

10EDC518-10E7-4B34-92FB-171235FA****
Dataobject

查询结果。

ConsumeTpsfloat

总消费 TPS。

0
ConsumeModelstring

消费模型。取值说明如下:

  • CLUSTERING:集群消费模式

  • BROADCASTING:广播消费模式

两种订阅模式的详细信息,请参见集群消费和广播消费

CLUSTERING
ConnectionSetobject []

该集群当前在线客户端信息。

RemoteIPstring

宿主机 IP 地址或公网 IP 地址。

42.120.74.**
Versionstring

消费端版本。

V4_3_6_SNAPSHOT
ClientAddrstring

该消费实例的地址和端口。

30.5.121.**
Languagestring

消费端语言。

JAVA
ClientIdstring

消费实例的 ID。

30.5.121.**@25560#-1999745829#-1737591554#458773089270275
TotalDifflong

集群总的消费堆积。

197
ConsumerConnectionInfoListobject []

该集群在线客户端详细信息,包含 Jstack、消费 RT 时间等信息。如需获取详细信息,请确保将 Detail 请求参数设置为 true。否则返回值为空。

ConsumeModelstring

消费模型。取值说明如下:

  • CLUSTERING:集群消费模式

  • BROADCASTING:广播消费模式

两种订阅模式的详细信息,请参见集群消费和广播消费

CLUSTERING
RunningDataListobject []

实时状态统计。

Rtfloat

消费 RT 时间,单位:毫秒。

0
Topicstring

订阅的 Topic 名称。

test-mq_topic
FailedCountPerHourlong

每小时内消费失败的消息数统计。

0
OkTpsfloat

消费消息成功的 TPS 统计。

0
FailedTpsfloat

消费消息失败的 TPS 统计。

0
SubscriptionSetobject []

订阅关系集合。

SubStringstring

订阅该 Topic 的子类别 Tag 表达式。

*
SubVersionlong

订阅关系版本号,为自增 Long 型。

1570701364301
Topicstring

订阅的 Topic 名称。

test-mq_topic
TagsSetarray

订阅的 Tag 集合。

string

订阅的 Tag 集合。

ff
Jstackobject []

Jstack 堆栈信息。如需获取 Jstack 信息,请确保将 NeedJstack 入参设置为 true。否则返回值为空。

TrackListarray

Jstack 堆栈信息字符串。

string

Jstack 堆栈信息字符串。

TID: 52 STATE: WAITING
Threadstring

线程名称。

ConsumeMessageThread_0
LastTimeStamplong

最后消费时间。

该参数值的格式为毫秒级 Unix 时间戳。

1570701368114
StartTimeStamplong

消费开始时间。

该参数值的格式为毫秒级 Unix 时间戳。

1570701361528
Languagestring

客户端语言。

JAVA
ClientIdstring

消费实例的 ID。

30.5.**.**@25560#-1999745829#-1737591554#458773089270275
Connectionstring

连接信息。

**
Versionstring

客户端版本号。

V4_3_6
ConsumeTypestring

消费者消费消息的模式。取值说明如下:

  • PUSH:云消息队列 RocketMQ 版服务端主动向消费者推送消息。
  • PULL:消费者主动向云消息队列 RocketMQ 版服务端拉取消息。
PUSH
ThreadCountinteger

消费线程数。

20
InstanceIdstring

实例 ID。

MQ_INST_111111111111_DOxxxxxx
DetailInTopicListobject []

各个 Topic 的消费情况。如需获取详细信息,请确保将 Detail 请求参数设置为 true。否则返回值为空。

DelayTimelong

指定 Topic 的消费延迟时间。单位:毫秒。

0
TotalDifflong

该 Topic 消费总堆积数。

0
LastTimestamplong

最后消费时间。

该参数值的格式为毫秒级 Unix 时间戳。

1570701259403
Topicstring

Topic 名称。

test-mq_topic
SubscriptionSameboolean

订阅关系是否一致。

true
DelayTimelong

指定 Group ID 所订阅的所有 Topic 中的最大消费延时时间。单位:毫秒。

100857
LastTimestamplong

最后消费时间。

该参数值的格式为毫秒级 Unix 时间戳。

1566883844954
Onlineboolean

是否在线。

true
RebalanceOKboolean

客户端 Rebalance 是否正常。取值说明如下:

  • true:正常

  • false:不正常

true

示例

正常返回示例

JSON格式

{
  "RequestId": "10EDC518-10E7-4B34-92FB-171235FA****",
  "Data": {
    "ConsumeTps": 0,
    "ConsumeModel": "CLUSTERING",
    "ConnectionSet": {
      "ConnectionDo": [
        {
          "RemoteIP": "42.120.74.**",
          "Version": "V4_3_6_SNAPSHOT",
          "ClientAddr": "30.5.121.**",
          "Language": "JAVA",
          "ClientId": "30.5.121.**@25560#-1999745829#-1737591554#458773089270275"
        }
      ]
    },
    "TotalDiff": 197,
    "ConsumerConnectionInfoList": {
      "ConsumerConnectionInfoDo": [
        {
          "ConsumeModel": "CLUSTERING",
          "RunningDataList": {
            "ConsumerRunningDataDo": [
              {
                "Rt": 0,
                "Topic": "test-mq_topic",
                "FailedCountPerHour": 0,
                "OkTps": 0,
                "FailedTps": 0
              }
            ]
          },
          "SubscriptionSet": {
            "SubscriptionData": [
              {
                "SubString": "*",
                "SubVersion": 1570701364301,
                "Topic": "test-mq_topic",
                "TagsSet": {
                  "Tag": [
                    "ff"
                  ]
                }
              }
            ]
          },
          "Jstack": {
            "ThreadTrackDo": [
              {
                "TrackList": {
                  "Track": [
                    "TID: 52 STATE: WAITING"
                  ]
                },
                "Thread": "ConsumeMessageThread_0"
              }
            ]
          },
          "LastTimeStamp": 1570701368114,
          "StartTimeStamp": 1570701361528,
          "Language": "JAVA",
          "ClientId": "30.5.**.**@25560#-1999745829#-1737591554#458773089270275",
          "Connection": "**",
          "Version": "V4_3_6",
          "ConsumeType": "PUSH",
          "ThreadCount": 20
        }
      ]
    },
    "InstanceId": "MQ_INST_111111111111_DOxxxxxx",
    "DetailInTopicList": {
      "DetailInTopicDo": [
        {
          "DelayTime": 0,
          "TotalDiff": 0,
          "LastTimestamp": 1570701259403,
          "Topic": "test-mq_topic"
        }
      ]
    },
    "SubscriptionSame": true,
    "DelayTime": 100857,
    "LastTimestamp": 1566883844954,
    "Online": true,
    "RebalanceOK": true
  }
}

错误码

访问错误中心查看更多错误码。

变更历史

变更时间变更内容概要操作
2023-12-08OpenAPI 返回结构发生变更看变更集
变更项变更内容
出参OpenAPI 返回结构发生变更

控制台操作

除了调用 OnsConsumerStatus 接口,您还可以通过云消息队列 RocketMQ 版控制台查看 Group ID 的详细数据。具体操作,请参见查看消费者状态