跳到主要内容

监控消息重放

Solace建议您监控重放日志,以确保重放日志不超过其配置配额的90%的max-spool-usage。当消息重放配置正确时,事件代理会自动从重放日志中修剪最旧的消息,以为新消息腾出空间。在配置消息重放后,Solace建议您监控重放日志的配置配额max-spool-usage

在监控过程中,如果您发现重放日志始终超过其配置配额的90%,这表明进入重放日志的流量比事件代理能够执行修剪的速度更快。在这种情况下,Solace建议您进行调查。有关更多信息,请参见缓慢修剪的影响。

要解决此问题,您可能需要采取以下一项或多项措施:

  • 减少进入重放日志的入站消息数量。例如,您可能希望订阅更少的主题或在重放日志上使用主题过滤器。有关更多信息,请参见指定要添加到重放日志中的消息和配置消息重放。
  • 增加重放日志的max-spool-usage配置配额。有关更多信息,请参见配置消息重放。
  • 如果修剪速度过慢,Solace建议您评估并调整您的日志修剪策略。有关更多信息,请参见确定日志修剪策略。

如果您注意到有消息的“突发”,Solace建议您描述突发模式,然后调整重放日志大小以吸收它。后者可以为事件代理执行修剪提供足够的时间。如果您需要进一步的帮助,请联系Solace。

请参阅以下主题,了解如何监控消息重放以确保其按预期运行:

  • 可能发生的任何重放失败,请参见适用的显示命令。
  • 关于存储消息重放日志的队列,请参见理解消息重放队列。
  • 检查消息重放的状态,请参见监控消息重放。
  • 如何计算使用的示例,请参见监控重放日志使用情况。

适用的show命令锚点

您可以使用以下命令来监控消息重放。

以下表格列出了在监控消息重放中可能有用的Solace CLI show命令。

命令描述
show replay-log显示记录的消息数量、这些消息占用的空间、max-spool-usage的设置值以及入站和出站状态。详细信息请参见使用show replay-log检查重放状态。
show queue <replay-queue-name> replay-state all显示用户指定重放状态的所有队列,用于重放日志队列。请参见理解消息重放队列。
show queue <replay-queue-name> replay显示重放状态、最后重放消息时间、最后重放开始时间、最后重放完成时间、最后重放失败时间和最后重放失败原因。
show queue <replay-queue-name> stats显示启动的重放次数、成功重放次数、失败重放次数、重放的消息数量以及重放的消息确认数量。
show topic-endpoint <endpoint-name> replay-state <state>显示用户指定重放状态的所有主题端点。
show topic-endpoint <endpoint-name> replay显示重放状态、最后重放消息时间、最后重放开始时间、最后重放完成时间、最后重放失败时间和最后重放失败原因。
show topic-endpoint <endpoint-name> stats显示启动的重放次数、成功重放次数、失败重放次数、重放的消息数量以及重放的消息确认数量。
show message-spool stats显示消息池处理统计信息和相关消息重放处理统计信息。
show message-spool message-vpn <message-vpn-name> stats显示指定消息VPN的消息池处理统计信息和相关消息重放处理统计信息。

有关上述命令的详细描述,请参见CLI命令参考。

理解消息重放队列锚点

当您在消息VPN上配置重放日志时,会创建两个名为#REPLAY_LOG_<replay-log-name>#REPLAY_TOPICS_<replay-log-name>的队列。创建的重放日志如下:

  • #REPLAY_LOG_<replay-log-name>

    • 存储所有记录的消息。

    • 此队列中的消息计入消息VPN配额。

  • #REPLAY_TOPICS_<replay-log-name>

    • 存储记录消息的元数据(消息ID、存储时间、主题字符串)。

    • 其内容计入消息VPN配额。

您不能通过通常与队列配置相关的Solace CLI命令来配置这些队列。

使用show replay-log检查重放状态锚点

对于show replay-log命令中识别的重放日志,您可以显示:

  • 记录的消息数量
  • 这些消息占用的空间
  • max-spool-usage的设置值以及入站和出站状态

有关使用命令监控使用的示例,请参见监控重放日志使用情况。

solace> show replay-log <name> [message-vpn <vpn-name>] [messages [oldest | newest] [msg-id <msg-id> | replication-group-msg-id <replication-group-msg-id> | priority <priority>] [detail] | topic-filters] [count <num-elements>]

其中:

  • <name> — 消息重放日志的名称。
  • <vpn-name> — 消息VPN的名称。
  • messages — 指定显示与重放日志相关的消息信息。
  • oldest — 指定按从最旧到最新的顺序显示重放日志中的消息。
  • newest — 指定按从最新到最旧的顺序显示重放日志中的消息。
  • msg-id <msg-id> — 指定从<msg-id>指定的消息标识符编号开始显示重放日志中的消息。
  • replication-group-msg-id <replication-group-msg-id> — 指定从<replication-group-msg-id>指定的复制组消息ID开始显示重放日志中的消息。
  • priority <priority> — 指定仅显示重放日志中优先级为<priority>的消息。有效值为0到9。
  • topic-filters — 指定显示与重放日志相关的订阅。
  • count <num-elements> — 指定要显示的显示元素数量。有效值为1到4294967295。

监控重放日志使用情况锚点

您可以使用PubSub+ Broker Manager或Solace CLI来监控重放日志的使用情况,以对比其配置配额的max-spool-usage

要确定重放日志的使用情况,您可以:

  • 登录到PubSub+ Broker Manager,选择您要查看的消息VPN,并从左侧导航栏中选择重放img

有关使用Broker Manager的更多信息,请参见PubSub+ Broker Manager(用于软件事件代理)或使用PubSub+ Broker Manager(PubSub+ Cloud)。

  • 在Solace CLI中运行show replay-log <replay-log-name>命令。从结果中,使用Log Usage(MB)的值并将其除以Quota(MB)来计算配置配额的百分比。例如,这将是1773.21/2000,等于89%的使用率。
solace(configure/message-spool/replay-log)# show replay-log my-first-log

Flags Legend:
I - Ingress Admin State (U=Up, D=Down)
E - Egress Admin State (U=Up, D=Down)
F - Topic Filter State (E=Enabled, D=Disabled)

Replay Log Name Messages Log Status
Message VPN Logged Usage(MB) Quota(MB) I E F
------------------------- ----------- ---------- ---------- ------
My-first-replay-log
default 928 1773.21 2000 U D E