海康威视iSC (iSecure Center)运维后台MQ测试工具
- 产品测评
- 2024-01-12
- 2512
Mq消息队列是种应用程序对应用程序的通信方法,实际在iSC平台上,MQ实际上是有两个的,一个用于外部事件处理的消息队列机制叫ActiveMQ,而另一个是程序内部事件处理的消息队列机制叫notify
一、ActiveMQ
对外事件的处理简称AMQ,其界面如下,可以在自检这块登录到其消息队列界面
ActiveMQ自检页面如下,有时我们判断事件是否被接收到就可以登录到这个页面,其下有主题和队列,主题是1对多,1个事件被多个消费者消费。队列是1对1,1个事件只能被1个消费者消费。因此一般情况我们判断AMQ外部事件是否正常就可以看这个界面,刷新后是否有新的事件接收。
那么内部事件处理的消息机制notify呢?是否也可以这样一眼就能看出来是否正常呢,若是不行,该如何处理,如何判断呢?因其没有相应的界面,这就需要我们使用mq工具来测试了。
二、Notify
Notify通知服务,其核心原理也是mq消息机制,其主要处理的是内部通知。例如资源变更通知等,将某个子系统的某个变更,通过notify通知服务,通知其他子系统接收变更并作出相应的处理,其位于核心服务内如下所示。
三、MQClient(JAVA)
MQClient(JAVA)是mq的测试工具,可以创建消费者,订阅事件,并从MQ中获取相应的信息,其使用方法如下:
工具位置:ftp:// hikftp.hikvision.com:400/产品资料/02.系统业务/18.软件交付/03.综合安防/01.综合安防/03.常用工具/iSC/ MQClient(JAVA).jar
设置环境变量并运行程序
(1)将工具拷贝至出问题的组件所在服务器,解压后,快速打开本文件夹命令行,shift+右键
(2)为保证与服务器所处环境相同,需要设置环境变量,其环境变量加载的jar位置为平台jre18win64.1/bin目录。在上面打开的命令窗里输入,例如:
set path= D:\Program Files\hikvision\web\components\jre18win64.1\bin
(3)设置完成环境变量后,运行程序,可以在命令行里输入exe名称如下,并回车:
会弹出如下页面,此工具加载成功
2、登录notify
(1)运行后,我们需要设置MQ测试工具的监听地址和端口,登录MQ的用户名和密码,具体的页面如下,其中信息需要去配置文件中查找。
(2)以视频的配置文件为例,找到如下:
D:\Program Files\hikvision\web\components\vms.1\conf\config.properties打开,找到bic.notify的选项,其中包含IP,端口,账号,密码,密码需要使用解密工具解密
(3)填入信息
3、监听队列或主题
(1)找到问题队列或主题,例如监听区域变更的主题,其监听队列名称和查找路径如下:
D:\Program Files\hikvision\web\components\tomcat85win64.1\webapps\isupm\WEB-INF\classes\application-context-notify
bic.ldap.topic.resource_change此队列即为区域资源变更需监听的主题
(2)找到队列或主题后,将其添加到工具的监听项中,如下:
4、开始测试
(1)上述操作完成后,点击右上角的开始按钮,开启监听,bic.ldap.topic.resource_change以此队列为例,如下:
(2)前端系统管理内新增区域测试,测试后收到消息如下。
可以看到Json报文,拷贝出来如下所示,此为新增区域的消息推送
{"data":{"comId":"rtree","ids":[{"DN":"regionId=4267b2a4-3526-4101-8daf-71b3e1ece978,regionId=67162a3e-2eb4-42e6-8087-ee99c4982251,regionId=61fe7cf3-04c2-41bc-ac28-87905d6d8c89,regionId=root000000,ou=region,dc=businessview,dc=platform,dc=hikvision,dc=com","indexCode":"4267b2a4-3526-4101-8daf-71b3e1ece978"}]},"operate":"add","resourceType":"region"}
核心服务提供的通用通知包括:组织、资源、人员、license、菜单、帮助、下载和服务的变更通知。Topic的命名如下表所示:
队列命名 | 描述 |
bic.ldap.topic.org_change | 组织机构变更 |
bic.ldap.topic.person_change | 人员变更 |
bic.core.topic.device_change | 设备变更 |
bic.license.topic.license_change | 授权变更 |
bic.core.topic.menu_change | 菜单变更 |
bic.core.topic.help_change | 帮助信息变更 |
bic.core.topic.download_change | 下载信息变更 |
bic.core.topic.service_change | 服务信息变更 |
bic.core.topic.netdomain_change | 多线路变更通知 |
bic.ldap.topic.resource_change | 区域变更 |
bic.cas.topic.sso_logout | sso登出队列 |