连接阈值事件的主题是什么?如何通过消息总线侦听连接计数阈值事件,以及如何确定当前连接计数是多少?
1 回答
连接阈值事件可以通过消息总线发布到以下主题:
#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 配置为“发布消息 VPN 事件消息”。
湾。您的应用程序需要订阅连接阈值事件的主题。
为了计算出当前的连接数,您需要通过消息总线查询发送一个 SEMP。
一种。在 VPN 上启用 SEMP over Message Bus Show 命令。
湾。通过消息总线查询发送 SEMP。API 中有一个 SempGetOverMB 示例,其中包含执行此操作的详细说明。您也可以参考文档了解详细信息。
<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 轮询请求,并且不应轮询某些主题。有关详细信息,请参阅文档。