如何将组合连接的阈值事件发布到消息总线?

How to publish Threshold event of combined connections to Message Bus?

连接阈值事件的主题是什么?如何监听消息总线上的连接计数阈值事件,以及如何确定当前连接计数是多少?

连接阈值事件可以通过消息总线发布到以下主题:

#LOG/WARNING/VPN/<router-name>/VPN_VPN_CONNECTIONS_HIGH/<vpn-name>当连接数超过高阈值时。

#LOG/INFO/VPN/<router-name>/VPN_VPN_CONNECTIONS_HIGH_CLEAR/<vpn-name> 当连接计数低于清除阈值时。

如果需要,您可以对主题应用通配符。例如,#LOG/*/VPN/<router-name>/VPN_VPN_CONNECTIONS*/<vpn-name>.

请注意,您需要在 <router-name><vpn-name> 中填写适当的值。


为了通过消息总线发布连接计数阈值事件,您需要执行以下操作:

一个。将 VPN 配置为 "Publish Message VPN Event Messages"。

b。您的应用程序需要订阅连接阈值事件的主题。


为了计算出当前连接数,您需要通过消息总线查询发送 SEMP。

一个。在 VPN 上通过消息总线显示命令启用 SEMP。

b。通过消息总线查询发送 SEMP。 API 中有一个 SempGetOverMB 示例,其中包含执行此操作的详细说明。也可以参考documentation了解详情

<rpc semp-version="soltr/7_2">
<show>
<message-vpn>
<vpn-name>default</vpn-name>
</message-vpn>
</show>
</rpc>

c。解析基于 XML 的响应。

<rpc-reply semp-version="soltr/7_2">
<rpc>
<show>
<message-vpn>
<vpn>
<name>default</name>
<connections-service-smf>3</connections-service-smf>
<connections-service-web>0</connections-service-web>
<connections-service-rest-incoming>0</connections-service-rest-incoming>
<connections-service-mqtt>0</connections-service-mqtt>
<connections-service-rest-outgoing>0</connections-service-rest-outgoing>
<max-connections>10</max-connections>
<max-connections-service-smf>9000</max-connections-service-smf>
<max-connections-service-web>9000</max-connections-service-web>
<max-connections-service-rest-incoming>9000</max-connections-service-rest-incoming>
<max-connections-service-mqtt>9000</max-connections-service-mqtt>
<max-connections-service-rest-outgoing>6000</max-connections-service-rest-outgoing>

... Removed non-relevant portions for clarity ...

</vpn>
</message-vpn>
</show>
</rpc>
<execute-result code="ok"/>
</rpc-reply>

请注意,系统限制为每秒 10 个 SEMP 轮询请求,某些主题不应轮询。详情请参考documentation