跳到主要内容

监控事件

Solace PubSub+ 事件代理生成事件以通知监控应用程序状态变化。这些事件包括:

  • 客户端事件 — 例如连接、断开连接、绑定、流事件等。
  • VPN 事件 — 例如 PubSub+ 缓存状态变化、端点创建、超出配额等。
  • 系统事件 — 例如多节点路由事件、电源模块上下线、风扇速度变化等。

Solace PubSub+ 事件代理还允许通过 Solace CLI 或 SEMP 审计管理命令。

处理事件时应遵循以下指南:

  • 严重事件应通过联系 Solace 进行升级。
  • 应用程序可以订阅知名主题以接收事件代理发布的事件日志。通常,标准应用程序不会订阅这些,但管理应用程序可能会订阅。例如,一组应用程序的看门狗。有关详细信息,请参阅通过消息总线发布事件。
  • 应用程序还可以使用 SEMP 通过 HTTP 或消息总线请求信息,以获取监控详细信息和统计信息的快照。有关详细信息,请参阅使用 SEMP 的请求/回复监控。
  • 为确保多个事件代理(包括 HA 对中的代理)之间的日志时间戳同步,所有事件代理都应配置为使用 NTP 同步时钟,以确保一致的日志时间戳。

通过消息总线发布事件

事件代理可以配置为将提供管理和状态信息的事件发布到消息总线上的知名主题。事件可以是以下类型:

  • 系统级别事件 — 例如,风扇故障、冗余下线
  • 消息 VPN 级别事件 — 例如,消息池使用量超出、入站/出站消息速率超出
  • 客户端事件 — 例如,出站丢弃、客户端绑定/解绑
  • 订阅事件 — 例如,订阅添加/移除

要能够接收通过消息总线发布的事件,必须启用系统级别和/或消息 VPN 级别事件通过消息总线的发布。

在消息 VPN 中启用订阅级别事件到消息总线的发布可能会影响事件代理的订阅性能。只有当有客户端需要这些消息被发布时,才应启用此功能。

发布系统级别事件

默认情况下,系统级别事件通过消息总线的发布未启用。要启用事件代理发布系统级别事件,必须将一个当前启用的消息 VPN 配置为管理消息 VPN。在事件代理上,只能将一个消息 VPN 配置为管理消息 VPN。一旦配置了管理消息 VPN,系统事件将始终发布到指定为管理消息 VPN 的消息 VPN。如果没有配置管理消息 VPN,则事件代理不会发布系统事件。

连接到管理消息 VPN 的客户端将接收系统级别事件,并能够访问所有 VPN 的统计信息。默认情况下,不为任何 VPN 分配管理权限,需要明确配置。

有关如何将 VPN 配置为管理消息 VPN 以及启用系统级别事件发布的详细信息,请参阅指定管理消息 VPN。

发布消息VPN级别事件

默认情况下,消息 VPN 客户端和订阅事件通过消息总线的发布未启用,必须为每个消息 VPN 分别启用。启用后,使用 Solace API 的管理应用程序可以订阅知名主题以接收来自消息 VPN 的事件消息。

另一种事件监控选项是将您的应用程序与第三方监控系统(开源或专有)集成,该系统可以利用一个或多个支持的集成选项。

有关如何配置消息 VPN 级别事件发布的详细信息,请参阅配置消息 VPN 事件生成和配置事件和阈值。

  • 有关通过消息总线进行事件监控的示例,请参阅 Solace Java 和 C SDK 中提供的示例应用程序 EventMonitor.java 或 EventMonitor.c。这些示例演示了如何配置客户端使用 Solace API 接收事件代理事件信息。
  • 有关如何配置和订阅消息总线上的事件的详细信息,请参阅订阅消息总线事件。

这些是监控应用程序可能订阅的消息 VPN 级别事件示例:

  • VPN_AD_BIND_COUNT_HIGH
  • VPN_AD_MSG_SPOOL_HIGH
  • VPN_AD_MSG_SPOOL_QUOTA_EXCEED
  • VPN_VPN_CONNECTIONS_HIGH
  • VPN_VPN_EG_MSG_RATE_HIGH
  • VPN_VPN_ING_MSG_RATE_HIGH
  • VPN_VPN_SUBSCRIPTIONS_HIGH

有关可能事件的详细列表和每个事件的描述,请参阅 Syslog 事件参考。

使用SEMP的请求/回复监控

SEMP 是一种使用 XML 模式标识事件代理中所有可用管理对象的请求/回复协议。通过 Solace CLI 或 SolAdmin 可用的任何对象也通过 SEMP 可用。

应用程序可以使用 SEMP 接口管理并监控事件代理。SEMP 请求可以通过管理接口的 HTTP 端口或消息接口的消息端口发送。请求客户端可以向事件代理发送 XML 编码的请求,并接收相应的 XML 编码的回复。这些请求和回复与 CLI 提供的命令和回复相对应。

  • 事件代理支持所有 SEMP 连接到事件代理的最大 SEMP 轮询率为每秒 10 个请求。监控应用程序应配置为不超过此阈值。
  • 如果监控应用程序使用 SEMP 监控 PubSub+ 缓存实例,则强烈建议将 SEMP 请求保持在最低限度,以避免在处理实时数据流量时影响 PubSub+ 缓存的性能。定期发送 SEMP 请求以监控 PubSub+ 缓存的间隔不应少于 30 秒。此间隔应根据 PubSub+ 缓存实例的峰值性能进行调整。
  • 有关 SEMP 格式的详细信息以及如何发送和接收 SEMP 请求/回复,请参阅 SEMP。
  • 有关通过消息总线发送 SEMP 请求的示例,请参阅 Java 和 C SDK 中提供的示例应用程序 SempGetOverMB.java 或 sempGetOverMb.c。这些示例演示了如何通过消息总线完成 SEMP 请求/响应。

有关可以通过 SEMP 查询的事件代理健康状况的常见统计信息的详细信息,请参阅使用 SEMP 收集统计信息。

Solace Syslog

事件代理为与系统健康、系统操作和资源利用相关的事件生成 Syslog 消息。Syslog 消息在事件代理本地记录,但也可以转发到远程服务器。有关详细信息,请参阅使用 Syslog 进行监控。