我正在Windows .NET环境中使用RabbitMQ,ActiveMQ和Apache Artemis进行一些测试。 RabbitMQ和ActiveMQ附带一个Web界面,您可以在其中查看有关您的经纪人,队列,消息等的信息,但Artemis没有。我真的希望能够在Web界面中监控我的Artemis代理,或者至少使用一些cmd / PowerShell命令监控我的Artemis代理。
我已经在this page上阅读了一些可用于监控ActiveMQ实例的第三方工具,我认为它也适用于Artemis。不幸的是,我无法使用这些第三方工具。其中一些似乎在Windows上运行良好,有些是旧的/不活动的。
我的客户正在通过C#中的NMS(.NET Messaging API)与代理进行通信。如果有人能够监控他们的Artemis经纪人,特别是在Windows机器上,请告诉我你是如何做到的!
修改
我现在已经设法与Jolokia REST API进行通信。有GET请求到
http://username:password@localhost:8161/jolokia/read/org.apache.activemq.artemis:*
我能够看到一堆关于我的队列的信息,例如添加和消费的消息。这是一个很好的信息,可以帮助我,但我想了解有关当前内存使用情况和磁盘使用情况的信息。
答案 0 :(得分:6)
查看Artemis手册的Management chapter。据我所知,您可以使用以下选项
JMX是用于管理Java服务器的Java API。有多个GUI通过JMX连接到Java服务器。最值得注意的是jConsole。有一个其他GUI here或there的列表,或者你可以build your own
jConsole是一个GUI应用程序,可以连接到启用JMX的服务器。它是Java JDK的一部分,因此您可能已经安装了它。
Jolokia,tutorial是JMX上的JSON API层。它使JMX接口可通过HTTP(S)访问。您可以使用任何HTTP客户端库查询信息。你已经在你的问题中找到了这一点。同样,最重要的是GUI,最值得注意的是
Hawt.io是一个Angular.js管理控制台。它可以被认为是Jolokia的GUI。红帽有一个hawt.io plugin for Artemis。编译插件并获取.war
文件。 Artemis包含一个内置的Jetty网络服务器。你需要把这场战争放到apache-artemis-1.3.0/web
。您还需要将hawtio-default.war
从http://hawt.io/getstarted/index.html下载到同一目录。然后,在实例目录中,编辑etc/bootstrap.xml
并将这些战争添加到配置。
或者你可以get JBoss A-MQ7,目前在Alpha中,内置了管理插件。启动它并转到localhost:8161/hawtio。我在一家销售该产品的公司工作。