Todos os produtos
Search
Central de documentação

:OnsConsumerStatus

Última atualização: Jul 08, 2026

Consulta os detalhes de um grupo de consumidores, incluindo as transações por segundo (TPS) de consumo de mensagens, o status de balanceamento de carga, as informações de conexão dos clientes consumidores e se todos os consumidores do grupo estão inscritos nos mesmos tópicos e tags.

Observação

  • Use esta operação em cenários com consumidores online e mensagens na fila. Utilize as informações retornadas para solucionar erros, verificar se todos os consumidores do grupo estão inscritos nos mesmos tópicos e tags e confirmar se o balanceamento de carga ocorre conforme o esperado. Também é possível obter rastreamentos de pilha de threads dos consumidores online.

  • Esta operação utiliza múltiplas chamadas de backend para consultar e agregar dados, o que aumenta o tempo de processamento da solicitação. Evite chamadas frequentes a esta API.

Limite de solicitações

Cada conta Alibaba Cloud pode chamar esta operação até 10 vezes por segundo. Se o número de solicitações enviadas dentro de um segundo atingir esse limite, as novas requisições falharão, o que pode interromper seus negócios. Para mais informações sobre os limites de cada operação, consulte Limites de solicitação de API.

Autorização

Contas Alibaba Cloud possuem permissão nativa para chamar esta operação. Usuários do Resource Access Management (RAM) precisam de autorização específica. A tabela abaixo descreve as permissões necessárias para usuários RAM. Para saber como conceder permissões, consulte Políticas.

API

Action

Recurso em uma instância com namespace

Recurso em uma instância sem namespace

OnsConsumerStatus

mq:QueryInstanceBaseInfo

mq:QueryConsumerStatus

acs:mq:::{instanceId}%{groupId}

acs:mq:::{groupId}

Parâmetros da solicitação

ParâmetroTipoObrigatórioExemploDescrição
ActionStringSimOnsConsumerStatus

A operação a ser executada. Defina o valor como OnsConsumerStatus.

GroupIdStringSimGID_test_group_id

O ID do grupo de consumidores a ser consultado.

DetailBooleanNãotrue

Define se os detalhes do grupo de consumidores devem ser consultados. Valores válidos:

  • true: Consulta os detalhes do grupo de consumidores. É possível obter detalhes pelos parâmetros de resposta ConsumerConnectionInfoList e DetailInTopicList.
  • false: Não consulta os detalhes do grupo de consumidores. Os valores dos parâmetros de resposta ConsumerConnectionInfoList e DetailInTopicList estarão vazios. Este é o valor padrão do parâmetro Detail.
NeedJstackBooleanNãotrue

Define se as informações de rastreamento de pilha de threads devem ser consultadas. Valores válidos:

  • true: Consulta as informações de rastreamento de pilha de threads. Essas informações estão disponíveis no parâmetro Jstack retornado na resposta.
    Nota Para obter informações sobre rastreamentos de pilha de threads, defina o parâmetro Detail como true.
  • false: Não consulta as informações de rastreamento de pilha de threads. O valor do parâmetro de resposta Jstack estará vazio. Este é o valor padrão do parâmetro NeedJstack.
InstanceIdStringSimMQ_INST_111111111111_DOxxxxxx

O ID da instância à qual o grupo de consumidores pertence.

Parâmetros de resposta

ParâmetroTipoExemploDescrição
RequestIdString10EDC518-10E7-4B34-92FB-171235FA****

O ID da solicitação. O sistema gera um ID exclusivo para cada requisição, permitindo a solução de problemas com base neste identificador.

DataObject

Os dados retornados.

ConsumeTpsFloat0

O TPS de consumo de mensagens.

ConsumeModelStringCLUSTERING

O modo de consumo. Valores válidos:

  • CLUSTERING: modo de clustering
  • BROADCASTING: modo de broadcasting

Para mais informações sobre os modos de consumo, consulte Consumo por clustering e consumo por broadcasting.

ConnectionSetArray of ConnectionDo

Informações sobre os consumidores online no grupo de consumidores.

ConnectionDo
RemoteIPString42.120.74.**

O endereço IP privado ou público do host.

VersionStringV4_3_6_SNAPSHOT

A versão do cliente consumidor.

ClientAddrString30.5.121.**

O endereço IP e o número da porta do consumidor.

LanguageStringJAVA

A linguagem de programação usada no desenvolvimento do consumidor.

ClientIdString30.5.121.**@25560#-1999745829#-1737591554#458773089270275

O ID do consumidor.

TotalDiffLong197

O número total de mensagens na fila.

ConsumerConnectionInfoListArray of ConsumerConnectionInfoDo

Detalhes dos consumidores online no grupo, incluindo informações sobre rastreamentos de pilha de threads e tempo de resposta (RT) de consumo. Para obter essas informações, defina o parâmetro Detail na solicitação como true. Caso contrário, o valor deste parâmetro será vazio.

ConsumerConnectionInfoDo
ConsumeModelStringCLUSTERING

O modo de consumo. Valores válidos:

  • CLUSTERING: modo de clustering
  • BROADCASTING: modo de broadcasting

Para mais informações sobre os modos de consumo, consulte Consumo por clustering e consumo por broadcasting.

RunningDataListArray of ConsumerRunningDataDo

As estatísticas em tempo real.

ConsumerRunningDataDo
GroupIdString0

O ID do grupo de consumidores.

RtFloat0

O RT de consumo. Unidade: milissegundos.

TopicStringtest-mq_topic

O nome do tópico no qual o consumidor está inscrito.

FailedCountPerHourLong0

O número de mensagens com falha de consumo por hora.

OkTpsFloat0

O TPS de consumo bem-sucedido de mensagens.

FailedTpsFloat0

O TPS de falhas no consumo de mensagens.

SubscriptionSetArray of SubscriptionData

As informações sobre inscrições.

SubscriptionData
SubStringString*

A expressão usada para especificar as tags das mensagens no tópico em que o consumidor está inscrito.

SubVersionLong1570701364301

A versão do relacionamento de inscrição. O valor é do tipo LONG e incrementado automaticamente.

TopicStringtest-mq_topic

O nome do tópico no qual o consumidor está inscrito.

TagsSetArray of Stringff

As informações sobre as tags do tópico no qual o consumidor está inscrito.

JstackArray of ThreadTrackDo

As informações sobre rastreamentos de pilha de threads. Para obter esses dados, defina o parâmetro NeedJstack na solicitação como true. Caso contrário, o valor deste parâmetro será vazio.

ThreadTrackDo
TrackListArray of StringTID: 52 STATE: WAITING

Os detalhes dos rastreamentos de pilha de threads.

ThreadStringConsumeMessageThread_0

O nome da thread.

LastTimeStampLong1570701368114

O momento mais recente em que uma mensagem foi consumida.

StartTimeStampLong1570701361528

O momento mais antigo em que uma mensagem foi consumida.

LanguageStringJAVA

A linguagem de programação usada no desenvolvimento do consumidor.

ClientIdString30.5.**.**@25560#-1999745829#-1737591554#458773089270275

O ID do consumidor.

ConnectionString**

As informações de conexão do consumidor.

VersionStringV4_3_6

A versão do cliente consumidor.

ConsumeTypeStringPUSH

O modo como o consumidor processa mensagens. Valores válidos:

  • PUSH: O broker do Message Queue for Apache RocketMQ envia mensagens para o consumidor.
  • PULL: O consumidor busca mensagens no broker do Message Queue for Apache RocketMQ.
ThreadCountInteger20

O número de threads do consumidor.

InstanceIdStringMQ_INST_111111111111_DOxxxxxx

O ID da instância.

DetailInTopicListArray of DetailInTopicDo

Informações sobre o consumo de mensagens por tópico. Para obter esses dados, defina o parâmetro Detail na solicitação como true. Caso contrário, o valor deste parâmetro será vazio.

DetailInTopicDo
DelayTimeLong0

A latência de consumo.

TotalDiffLong0

O número de mensagens na fila do tópico.

LastTimestampLong1570701259403

O momento mais recente em que uma mensagem foi consumida.

TopicStringtest-mq_topic

O nome do tópico.

SubscriptionSameBooleantrue

Indica se todos os consumidores do grupo estão inscritos nos mesmos tópicos e tags.

DelayTimeLong100857

A latência de consumo.

LastTimestampLong1566883844954

O momento mais recente em que uma mensagem foi consumida.

OnlineBooleantrue

Indica se o grupo de consumidores está online.

RebalanceOKBooleantrue

Indica se o balanceamento de carga ocorreu conforme o esperado. Valores válidos:

  • true: O balanceamento de carga ocorreu conforme o esperado.
  • false: O balanceamento de carga não ocorreu conforme o esperado.

Exemplos

Exemplos de solicitações

http(s)://ons.cn-hangzhou.aliyuncs.com/?Action=OnsConsumerStatus
&GroupId=GID_test_group_id
&InstanceId=MQ_INST_111111111111_DOxxxxxx
&NeedJstack=true
&Detail=true
&<Common request parameters>

Exemplos de respostas de sucesso

Formato XML

HTTP/1.1 200 OK
Content-Type:application/xml

<OnsConsumerStatusResponse>
<data>
    <connectionSet>
        <bizVersion>V4_3_6</bizVersion>
        <clientAddr>30.5.***.*</clientAddr>
        <clientId>30.5.***.*@97730#-1999745829#-1737591554#729272961762836</clientId>
        <language>JAVA</language>
        <version>V4_3_6</version>
    </connectionSet>
    <consumeModel>CLUSTERING</consumeModel>
    <consumeTps>0</consumeTps>
    <consumerConnectionInfoList>
        <bizVersion>V4_3_6</bizVersion>
        <clientId>30.5.***.*@97730#-1999745829#-1737591554#729272961762836</clientId>
        <consumeType>PUSH</consumeType>
        <jstack>
            <thread>ConsumeMessageThread_4</thread>
            <trackList>TID: 44 STATE: WAITING</trackList>
            <trackList>sun.misc.Unsafe.park(Native Method)</trackList>
            <trackList>java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)</trackList>
            <trackList>java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)</trackList>
            <trackList>java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)</trackList>
            <trackList>java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)</trackList>
            <trackList>java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)</trackList>
            <trackList>java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)</trackList>
            <trackList>java.lang.Thread.run(Thread.java:748)</trackList>
        </jstack>
        <language>JAVA</language>
        <lastTimeStamp>1570701368114</lastTimeStamp>
        <runningDataList>
            <failedCountPerHour>0</failedCountPerHour>
            <failedTps>0</failedTps>
            <okTps>0</okTps>
            <rt>0</rt>
            <topic>test-mq_topic</topic>
        </runningDataList>
        <startTimeStamp>1570701361528</startTimeStamp>
        <subscriptionSet>
            <subString>*</subString>
            <subVersion>1570701364301</subVersion>
            <topic>test-mq_topic</topic>
        </subscriptionSet>
        <threadCount>20</threadCount>
        <version>V4_3_6</version>
    </consumerConnectionInfoList>
    <delayTime>0</delayTime>
    <detailInTopicList>
        <delayTime>0</delayTime>
        <lastTimestamp>1570701259403</lastTimestamp>
        <topic>test-mq_topic</topic>
        <totalDiff>0</totalDiff>
    </detailInTopicList>
    <instanceId>MQ_INST_111111111111_DOxxxxxx</instanceId>
    <lastTimestamp>1570701368114</lastTimestamp>
    <online>true</online>
    <rebalanceOK>true</rebalanceOK>
    <subscriptionSame>true</subscriptionSame>
    <totalDiff>0</totalDiff>
</data>
<requestId>10EDC518-10E7-4B34-92FB-171235FA****</requestId>
</OnsConsumerStatusResponse>

Formato JSON

HTTP/1.1 200 OK
Content-Type:application/json

{
  "data" : {
    "connectionSet" : [ {
      "bizVersion" : "V4_3_6",
      "clientAddr" : "30.5.***.*",
      "clientId" : "30.5.***.*@97730#-1999745829#-1737591554#729272961762836",
      "language" : "JAVA",
      "version" : "V4_3_6"
    } ],
    "consumeModel" : "CLUSTERING",
    "consumeTps" : 0,
    "consumerConnectionInfoList" : [ {
      "bizVersion" : "V4_3_6",
      "clientId" : "30.5.***.*@97730#-1999745829#-1737591554#729272961762836",
      "consumeType" : "PUSH",
      "jstack" : [ {
        "thread" : "ConsumeMessageThread_1",
        "trackList" : [ "TID: 44 STATE: WAITING", "sun.misc.Unsafe.park(Native Method)", "java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)", "java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2039)", "java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:442)", "java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1074)", "java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1134)", "java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)", "java.lang.Thread.run(Thread.java:748)" ]
      } ],
      "language" : "JAVA",
      "lastTimeStamp" : 1570701368114,
      "runningDataList" : [ {
        "failedCountPerHour" : 0,
        "failedTps" : 0,
        "okTps" : 0,
        "rt" : 0,
        "topic" : "test-mq_topic"
      } ],
      "startTimeStamp" : 1570701361528,
      "subscriptionSet" : [ {
        "subString" : "*",
        "subVersion" : 1570701364301,
        "tagsSet" : [ ],
        "topic" : "test-mq_topic"
      } ],
      "threadCount" : 20,
      "version" : "V4_3_6"
    } ],
    "delayTime" : 0,
    "detailInTopicList" : [ {
      "delayTime" : 0,
      "lastTimestamp" : 1570701259403,
      "topic" : "test-mq_topic",
      "totalDiff" : 0
    } ],
    "instanceId" : "MQ_INST_111111111111_DOxxxxxx",
    "lastTimestamp" : 1570701368114,
    "online" : true,
    "rebalanceOK" : true,
    "subscriptionSame" : true,
    "totalDiff" : 0
  },
  "requestId" : "10EDC518-10E7-4B34-92FB-171235FA****"
}

Códigos de erro

Para obter uma lista de códigos de erro, visite a Central de Erros de API.

Consultar detalhes de um grupo de consumidores no console

No console do Message Queue for Apache RocketMQ, visualize os detalhes de um grupo de consumidores. Para mais informações, veja Visualizar o status dos consumidores.