跳到主要内容

查看保证送达消息信息

您可以使用多个显示命令来查看Solace PubSub+事件代理上的保证消息配置和状态。

对于配置在高可用性设置中的PubSub+设备和软件事件代理,应执行显示命令在当前AD-Active的事件代理上,以确保事件代理返回正确的统计数据。要检查事件代理是否为AD-Active,输入show message-spool并查看操作状态。

队列信息

要查看事件代理上用于支持JMS队列和主题的持久存储概念的消息队列配置和状态,请输入以下用户执行命令。

solace> show queue <name> [message-vpn <vpn-name>] [flows | stats [priorities] | messages [oldest | newest] [msg-id <msg-id>] | replication-group-msg-id <replication-group-msg-id> | priority <priority>] | subscriptions | rates | sort-by-messages-spooled | sort-by-unacked-messages-spooled] | dead-message-queue <dmq-filter> [dmq-list] | replay | partitions] [durable | non-durable] [detail] [replay-state {initializing | active | pending-complete | failed | all}][flow <flow-id>] [count <num-elements>]

其中:

<name>是消息队列的完整名称,或队列名称的一部分,使用通配符?代表名称中的一个字符,或使用通配符*代表名称中的零个或多个字符,其中仅输入通配符*显示所有消息队列。

<vpn-name>是队列所属的消息VPN的名称。

flows指定显示与消息队列池相关的流程。

stats指定显示与消息队列池相关的统计数据。

priorities指定显示与消息队列池相关的统计数据及优先级。

messages指定显示与消息队列相关的入队消息。

oldest指定从最旧到最新显示入队消息。

newest指定从最新到最旧显示入队消息。

msg-id指定从指定的<msg-id>消息标识号开始显示入队消息。

replication-group-msg-id指定从指定的<replication-group-msg-id>复制组消息ID开始显示入队消息。

priority指定仅显示消息队列池中由<priority>指定优先级的消息。有效值为0至9。

subscriptions指定显示添加到相关消息队列的主题订阅。

rates指定显示与队列相关的入站和出站消息速率。

durable指定显示有关活动持久消息队列的信息。

non-durable指定显示有关活动非持久消息队列的信息。

detail指定显示有关入队消息的详细信息。

flow <flow-id>指定显示与给定入站或出站消息流相关联的消息流标识符。<flow-id>是标识要显示的入站或出站消息流的整数。有效值为0至16383。

sort-by-messages-spooled指定按给定队列入队消息数量降序排序显示输出。

sort-by-unacked-messages-spooled指定按给定队列未确认消息入队数量降序排序显示输出。

dead-message-queue <dmq-filter>指定仅显示使用给定<dmq-filter>作为其死信队列的队列。

dmq-list指定列出与死信队列相关联的队列。注意,如果使用detail选项,则忽略dmq-list

replay指定显示重播日志信息。

partitions指定显示队列分区信息。

durable指定仅显示持久队列。

non-durable指定仅显示非持久队列。

detail指定显示详细信息。

flow <flow-id>指定显示给定保证消息流ID的队列详细信息。有效值为1至4294967295。

replay-state指定仅显示处于initializingactivepending-completefailed重播状态的队列。

count <num-elements>指定显示的显示元素数量。有效值为1至4294967295。

对于分区队列,不带partitions关键字的show queue命令返回父队列的入队消息数量——这包括每个分区入队的消息总数加上在变为分区队列之前入队到父队列的任何消息。

要显示消息队列的详细配置和状态摘要屏幕,请输入以下命令:

solace> show queue <name> message-vpn default detail
  • 在出站流部分下的“Deliver From”状态项显示保证消息出站流源作为从“input stream”、“RAM”或“ADB或磁盘”交付。
  • 当保证消息在入队后立即被交付时,出站流处于从“input stream”交付的状态。当保证消息在客户端准备好后被交付,因此需要进一步处理时,出站流处于从“RAM”或“ADB或磁盘”交付的状态。
  • 从RAM交付的保证消息需要进一步处理,但不一定被复制到/从ADB或磁盘(例如,具有选择器的队列,或在其传输窗口上具有瞬态关闭的队列)。
  • 从输入流交付的保证消息比需要进一步处理的消息具有更低的延迟,而从RAM交付的保证消息比从ADB或磁盘交付的消息具有更低的延迟。

要显示消息队列的统计摘要屏幕,请输入以下命令:

solace> show queue <name> stats
  • 在出站流统计部分下的“Flow Id (State)”项显示保证消息出站流源作为“Deliver from input stream”、“Deliver from RAM”或“Deliver from ADB or disk”。
  • 当保证消息在入队后立即被交付时,出站流处于“Delivered from input stream”状态。当保证消息在客户端准备好后被交付,因此需要进一步处理时,出站流处于“Deliver from RAM”或“Deliver from ADB or disk”状态。
  • 从RAM交付的保证消息需要进一步处理,但不一定被复制到/从ADB或磁盘(例如,具有选择器的队列,或在其传输窗口上具有瞬态关闭的队列)。
  • 从输入流交付的保证消息比需要进一步处理的消息具有更低的延迟,而从RAM交付的保证消息比从ADB或磁盘交付的消息具有更低的延迟。

清除队列统计

要清除事件代理上的队列统计,请输入以下特权执行命令:

solace> enable
solace# clear queue <name> message-vpn <vpn-name> stats

其中:

<name>是消息队列名称

<vpn-name>是队列所属的消息VPN的名称

主题端点信息

要查看事件代理上用于支持JMS队列和主题的持久存储概念的主题端点配置和状态,请输入以下用户执行命令。

solace> show topic-endpoint <name> [message-vpn <vpn-name>] [flows | stats [priorities] | messages [oldest | newest] [msg-id <msg-id>] | replication-group-msg-id <replication-group-msg-id> | priority <priority>] | topics | rates | sort-by-messages-spooled | sort-by-unacked-messages-spooled | dead-message-queue <dmq-filter> [dmq-list] | replay] [durable | non-durable] [replay-state {initializing | active | pending-complete | failed | all}] [detail] [flow <flow-id>] [count <num-elements>]

其中:

<name>是持久化主题端点的完整名称,或持久化主题端点名称的一部分,使用通配符?代表名称中的一个字符,或使用通配符*代表名称中的零个或多个字符,其中仅输入通配符*显示持久化主题端点。

<vpn-name>是主题端点所属的消息VPN的名称。

flows指定显示与持久化主题端点相关的流程。

stats指定显示与持久化主题端点相关的统计数据。

priorities指定显示与持久化主题端点相关的统计数据及优先级。

messages指定显示与持久化主题端点相关的入队消息。

oldest指定从最旧到最新显示入队消息。

newest指定从最新到最旧显示入队消息。

msg-id <msg-id>指定从指定的<msg-id>消息标识符开始显示入队消息。

replication-group-msg-id指定从指定的<replication-group-msg-id>复制组消息ID开始显示入队消息。

priority指定仅显示优先级由<priority>指定的入队消息。有效值为0至9。

topics指定显示与持久化主题端点相关联的主题。

rates指定显示与主题端点相关的入站和出站消息速率。

sort-by-messages-spooled指定按给定主题端点入队消息数量降序排序显示输出。

sort-by-unacked-messages-spooled指定按给定主题端点未确认消息入队数量降序排序显示输出。

dead-message-queue <dmq-filter>指定仅显示使用给定<dmq-filter>作为其死信队列的持久化主题端点。

replay指定显示重播日志信息。

durable指定显示有关活动持久消息队列的信息。

non-durable指定显示有关活动非持久消息队列的信息。

replay-state指定仅显示处于initializingactivepending-completefailed重播状态的持久化主题端点。

detail指定显示持久化主题端点的详细信息。

flow <flow-id>指定显示与给定入站或出站消息流相关联的消息流标识符。<flow-id>是标识要显示的入站或出站消息流的整数。有效值为0至16383。

count <num-elements>指定显示的显示元素数量。<num-elements>是指定元素数量的整数。有效值为1至4294967295。

清除主题端点统计

要清除事件代理上的主题端点统计,请输入以下特权执行命令:

solace> enable
solace# clear topic-endpoint <name> message-vpn <vpn-name> stats

其中:

<name>是持久化主题端点的名称

<vpn-name>是持久化主题端点所属的消息VPN的名称

消息池信息

要查看保证消息的状态和使用情况,请输入以下用户执行命令。

solace> show message-spool [message-vpn <vpn-name>] stats | detail | rates]

其中:

message-vpn <vpn-name>是要显示消息池信息的消息VPN的名称

stats指定显示所有入队消息的统计数据

detail指定显示消息池设施的详细信息

rates指定显示活动队列和主题端点的入站和出站订阅速率信息

要显示入队消息的标准状态和使用摘要屏幕,请输入以下命令:

solace> show message-spool
  • 始终注意扇出可能会影响队列消息的数量。例如,如果一条消息注定要存储在50个队列上,那么有50个队列消息需要跟踪。要确定您实际使用的队列消息资源的百分比,请检查show message-spool用户执行命令输出的“Queue Message Resource Utilization”字段。

  • 事件代理可以使用的最大消息池磁盘空间(Maximum Spool Usage)是一个总体测量,因为每条消息还存储了一些开销。要确定您实际使用的本地磁盘存储容量,请检查show message-spool用户执行命令输出的“Current Persistent Storage Usage (MB)”字段。

要显示消息池设施的详细状态和使用摘要屏幕,请输入以下命令:

solace> show message-spool detail

以下表格描述了摘要屏幕底部显示的入队消息的详细状态和使用项目。

项目描述
当前使用和最大消息池实体部分总结用于为客户端、队列和持久化主题端点入队消息的消息池实体。- 整数
总流程部分总结被使用的发布者(入站)和订阅者(出站)保证消息流。- 整数
CVRID/LAG配置状态指示本地CVRID/LAG配置是否已完成。- 未知
  • 就绪 | | ADB状态 | 总结ADB上的闪存卡模块和电源模块的高级状态,以及ADB本身。
    如果其模块之一为“不就绪”,则ADB状态默认为“不就绪”。 | - 不就绪

  • 就绪 | | ADB内容 | 指示ADB的内容是否有效。 | - 无效

  • 陈旧

  • 就绪 | | 内容密钥 | 这是在ADB上使用的内部签名,用于确保同步健全性并防止由于配置错误导致的问题。
    对于非冗余系统,仅显示“本地内容密钥”。 | 在Solace PubSub+设备上:

  • 后跟两个整数的IP地址
    在Solace PubSub+软件事件代理上:

  • 后跟两个整数的32位数字,以点分四元组表示 | | 磁盘状态 | 指示内部磁盘或外部磁盘存储阵列(如适用)的状态。 | - 不就绪

  • 就绪 | | 磁盘内容 | 指示磁盘上的池文件目录是否有效。通常在非活动的Solace PubSub+事件代理上为“未知”。 | - 未知

  • 挂载错误

    (如果WWN无法挂载,则设置此状态)

  • 无效

    (如果磁盘内容存在所有权冲突,则设置此状态。)

  • 就绪 | | 磁盘密钥 | 这是在ADB上使用的内部签名,用于确保同步健全性并防止由于配置错误导致的问题。
    对于非冗余系统,仅显示“磁盘密钥(主)”。 | 在Solace PubSub+设备上:

  • 后跟两个整数的IP地址
    在Solace PubSub+软件事件代理上:

  • 后跟两个整数的32位数字,以点分四元组表示 |

入队消息的详细状态和使用项目

要显示入队消息的详细统计摘要屏幕,请输入以下命令:

solace> show message-spool stats

以下表格描述了详细入队消息统计中记录的信息。

统计描述
入站池丢弃统计:
池不就绪由于消息池设施不就绪(例如,因为通过CLI未启用或未正确配置消息池设施,或ADB检测到硬件故障),而无法入队并被丢弃的消息数量。
无序消息由于接收无序而无法入队并被丢弃的消息数量。
重复消息由于是重复而无法入队并被丢弃的消息数量。
无合格目的地因为没有现有的端点具有与发布主题匹配的主题订阅,而被丢弃的保证消息数量。
池配额超出因为超出最大允许的本地消息池使用配额而被丢弃的消息数量。
队列/主题端点配额超出因为超出最大允许的消息池使用配额而被丢弃的消息数量。
最大消息使用量超出因为超出最大允许的消息使用计数而被丢弃的消息数量。
最大消息大小超出因为超出最大允许的消息大而被丢弃的消息数量。
远程路由器池不支持由于远程事件代理未通过message-spool全局配置命令激活保证消息和消息池,而无法入队并被丢弃的消息数量。
池到ADB失败由于池到ADB失败而无法入队并被丢弃的消息数量。例如,由于硬件问题,保证消息无法写入ADB。
池到磁盘失败由于池到磁盘存储失败(例如,已满)而无法入队并被丢弃的消息数量。
池文件限制超出由于使用所有池文件资源而无法入队并被丢弃的消息数量。
错误消息由于检测到错误而无法入队并被丢弃的消息数量。
队列未找到由于无法找到相关消息队列(例如,因为通过CLI未启用或未正确配置消息队列设施)而无法入队并被丢弃的消息数量。
池关闭丢弃由于入站客户端被shutdown队列配置命令禁用发布到队列而无法入队的消息数量。
用户配置文件拒绝保证由于用户配置文件不允许发布保证消息而无法入队的消息数量。
发布者未找到由于无法找到相关发布者而无法入队的消息数量。
无本地交付丢弃由于发送到与消息发布者绑定的队列或主题端点具有无本地指令而被丢弃的消息数量。
TTL超出因为超出为消息VPN桥配置的指定最大生存时间(TTL)值(通过max-ttl桥配置命令配置)而被丢弃的消息数量。
发布ACL拒绝因为没有满足发布访问控制列表(ACL)标准而被丢弃的消息数量。
目的地组错误由于在同一目的地组中的另一个队列/主题端点触发“reject-msg-to-sender-on-discard”,而被丢弃的保证消息数量。目的地组是具有“reject-msg-to-sender-on-discard”打开的持久和/或临时端点的集合,以及与发布消息的主题匹配的主题订阅。
低优先级消息拥塞丢弃在超出端点的拒绝低优先级消息限制后,被丢弃的已发布低优先级消息数量。
复制处于待机状态丢弃因为当消息VPN具有复制待机状态时,不允许保证发布而被丢弃的消息数量。
同步复制不合格丢弃因为事件代理被配置为在同步复制模式不合格时拒绝消息而被丢弃的消息数量。
其他保留
出站池丢弃统计:
消息删除由用户行政删除的入队消息数量。
消息过期到丢弃因为没有配置DMQ而过期并被丢弃的入队消息数量。
消息过期到#DEAD_MSG_QUEUE成功移动到DMQ的过期入队消息数量。
消息过期到#DEAD_MSG_QUEUE失败过期但未能成功移动到DMQ的入队消息数量。
这些消息被丢弃。
最大重新交付超出到丢弃在尝试最大重新交付次数后被丢弃的入队消息数量。
最大重新交付超出到#DEAD_MSG_QUEUE在尝试最大重新交付次数后移动到DMQ的入队消息数量。
最大重新交付超出到#DEAD_MSG_QUEUE失败在尝试最大重新交付次数后未能移动到DMQ的入队消息数量。
这些消息被丢弃。
TTL超出到丢弃因为超出为消息VPN桥配置的指定最大生存时间(TTL)值(通过max-ttl桥配置命令配置)而被丢弃的消息数量。
消息处理统计:
入站消息数量ADB在订阅匹配成功完成后接收的入队消息数量。
提升为非持久被更改为非持久的直接消息数量。
降级为直接被更改为直接的持久消息数量。
复制提升被更改为非持久然后发送到复制消息VPN的直接消息数量。
异步复制处于异步复制模式的消息数量。
同步复制处于同步复制模式的消息数量。
来自复制伙伴来自复制伙伴的消息数量。
复制到重播日志被复制到重播日志的消息数量。
序列化主题匹配与配置的序列化主题匹配的消息数量。
序列号已分配接收到的消息序列号已存在,或匹配多个序列化主题的消息。
序列号回绕序列号从(263-1)回绕到1的消息。
序列号消息丢弃与序列化主题匹配但随后被丢弃的消息。
未序列化的事务消息与序列化主题匹配但没有应用序列号的消息,因为它们是事务会话的一部分。
入站消息丢弃ADB在入站时丢弃的无法入队的消息数量。
入队到ADB的消息发送到ADB的入队消息数量。
入队到磁盘的消息发送到磁盘进行池的消息数量。
从ADB检索的消息从ADB检索的入队消息数量。删除的消息也包括在计数中。
从磁盘检索的消息从磁盘检索的入队消息数量。删除的消息也包括在此计数中。
保证消息缓存未命中无法使用可选NAB缓存功能的消息数量。
入站消息选择器检查入站选择器在主题端点上检查的入队消息数量。
选择器匹配的消息与选择器匹配的入队消息数量。
选择器未匹配的消息与选择器未匹配的入队消息数量。
出站消息选择器检查出站选择器在浏览者和消费者流程上检查的入队消息数量。
选择器匹配的消息与选择器匹配的入队消息数量。
选择器未匹配的消息与选择器未匹配的消息数量。
出站消息丢弃在出站时被丢弃的消息数量。
出站消息数量从池发送的消息数量。注意,发送给多个客户端的一条消息被计为一条出站消息。
重新交付尝试将消息交付给应用程序的尝试次数,在队列和主题端点的首次交付尝试后。这些额外的尝试可能导致应用程序多次接收到相同的消息。
传输重新传输队列和主题端点在传输层(即从代理到Solace API)重新传输的消息数量,作为单次交付尝试的一部分。这些重新传输的消息不会导致应用程序多次接收到相同的消息,但可能表明网络问题。
确认交付的消息被客户端和邻近事件代理确认的入队消息数量。
存储和转发使用存储和转发交付(默认)的入队消息数量,被客户端和邻近事件代理确认。
来自复制伙伴来自复制伙伴的入队消息数量,被客户端和邻近事件代理确认。
事务会话处理统计:
打开会话打开事务会话的尝试次数。
成功成功创建的事务会话数量。
最大会话超出因为超出系统最大事务会话数量限制而未打开的事务会话次数。
其他
成功成功创建的事务会话数量。
事务尝试创建本地事务的次数。成功创建的事务数量。列出了提交和回滚的事务数量。
失败创建事务失败的次数。
发布消息通过成功提交的事务发布的消息数量。
消费消息通过成功提交的事务消费的消息数量。
最大事务超出因为超出系统最大事务数量限制而超出的次数。
最大事务资源超出分配给事务的系统资源超出的次数。
XA事务处理统计:
打开会话打开XA会话的尝试次数。
成功成功创建的事务会话数量。
最大会话超出因为超出系统最大XA会话数量限制而未打开的XA会话次数
其他
事务请求做出的XA请求数量。在此类别中,提供了成功和失败的请求数量。还提供了每种成功和失败请求的数量。
入队到ADB的消息在XA事务中入队到ADB的消息数量。
从ADB或磁盘检索的消息从ADB或磁盘检索的XA事务中的消息数量。
发布消息通过成功提交的XA事务发布的消息数量。
消费消息通过成功提交的XA事务消费的消息数量。
最大事务超出因为超出系统最大XA事务数量限制而超出的次数。
最大事务资源超出分配给XA事务的系统资源超出的次数。

入队消息统计的详细描述

清除消息池统计

要清除事件代理上的入队消息统计,请输入以下特权执行命令:

solace# clear message-spool stats

客户端消息池信息

要显示客户端消息池配置和状态,请输入以下用户执行命令:

solace> show client <name> message-spool [{ingress | egress} [flow <flow-id>]]

其中:

<name>是客户端的完整名称,或客户端名称的一部分,使用通配符?代表名称中的一个字符,或使用通配符*代表名称中的零个或多个字符,其中仅输入通配符*显示所有客户端。

ingress指定显示入站消息池信息和统计数据。

egress指定显示出站消息池信息和统计数据。

flow指定显示与入站或出站消息流相关联的消息流标识符。

<flow-id>是标识入站或出站消息流的整数。有效值为0至16383。

客户端消息池统计

要显示客户端消息池统计,请输入以下用户执行命令:

solace> show client <name> message-spool-stats [{ingress | egress} [flow <flow-id>]]

其中:

<name>是客户端的完整名称,或客户端名称的一部分,使用通配符?代表名称中的一个字符,或使用通配符*代表名称中的零个或多个字符,其中仅输入通配符*显示所有客户端。

ingress指定显示入站消息池信息和统计数据。

egress指定显示出站消息池信息和统计数据。

flow指定显示与入站或出站消息流相关联的消息流标识符。

<flow-id>是标识入站或出站消息流的整数。有效值为0至16383。

清除客户端消息池统计

要清除事件代理上所有客户端的消息池统计数据库,运行以下特权执行命令:

solace> enable
solace# clear message-spool-stats

XA事务统计

要显示XA事务统计,请输入以下用户执行命令:

solace> show xa-transaction [xid <xid>] [message-vpn <vpn-name>] [state <transaction-state>] [detail | sort-by-last-state-change | sort-by-messages-spooled]

其中:

<xid>是唯一标识 XA事务及其关联的全局事务的Xid。可以使用通配符*或?。

<vpn-name>是XA事务所在的消息VPN的名称。消息VPN名称可以包含1至32个字符。可以使用通配符*或?。

<transaction-state>指定显示具有特定状态的XA事务。如果未指定,则包括所有状态。可以使用通配符*或?。

detail指定显示XA事务的详细信息。

sort-by-last-state-change指定根据最后一次状态更改以降序排列列出的XA事务。

sort-by-messages-spooled指定按入队消息数量以降序排列显示输出。

以下表格列出了入队消息统计中可能显示的信息。当请求详细统计时,仅显示其中一些信息。

统计描述
XA会话关联事务会话的名称。如果没有关联会话,则此字段为
N/A。
会话ID关联事务会话的ID。如果没有关联会话,则此字段为
N/A。
空闲超时空闲事务可能自动回滚并释放前的秒数。
上一次状态更改自上次状态更改以来经过的时间。
这不包括从进行中到完成的状态更改,而只是自进入状态以来的时间。
状态XA事务可能的状态如下:
ACTIVE—事务与事务会话关联。
MARKED_ROLLBACK—事务处于活动状态,并标记为仅回滚。
IDLE—事务未与任何事务会话关联,如果在空闲超时期内未准备、提交或回滚,则将回滚。
PREPARING—事务正在处理准备请求。
PREPARED—事务已准备就绪,可以提交或回滚请求。
COMMITTING—事务正在处理提交请求。
COMMITTED—事务以启发式完成并成功提交。
ROLLING_BACK—事务正在处理回滚请求。
ROLLED_BACK—事务以启发式完成并成功回滚。

XA事务统计