6

我正在 Windows .NET 环境中使用 RabbitMQ、ActiveMQ "Classic" 和 ActiveMQ Artemis 进行一些测试。RabbitMQ 和 ActiveMQ “Classic” 带有一个 Web 界面,您可以在其中查看有关您的代理、队列、消息等的信息,但 ActiveMQ Artemis 没有。我真的希望能够在 Web 界面中或至少使用一些 cmd/PowerShell 命令来监控我的 ActiveMQ Artemis 代理。

我在此页面上阅读了一些可用于监视 ActiveMQ 实例的第三方工具,并且我认为它也适用于 Artemis。不幸的是,我无法让这些第三方工具正常工作。其中一些似乎在 Windows 上无法正常工作,而另一些则是旧的/不活动的。

我的客户通过 C# 中的 NMS(.NET 消息传递 API)与代理进行通信。如果有人能够监控他们的 Artemis 代理,尤其是在 Windows 机器上,请告诉我你是如何做到的!

编辑: 我现在已经设法与 Jolokia REST API 进行通信。请求GET

http://username:password@localhost:8161/jolokia/read/org.apache.activemq.artemis:*

我可以看到有关我的队列的大量信息,例如添加和使用的消息。这是对我有帮助的好信息,但我想了解有关当前内存使用情况和磁盘使用情况的信息。

4

2 回答 2

10

查看 Artemis 手册的管理章节。据我所知,您可以使用以下选项

JMX(Java 管理服务)

JMX是用于管理 Java 服务器的 Java API。有多个 GUI 通过 JMX 连接到 Java 服务器。最值得注意的是 jConsole。这里那里有其他 GUI 的列表,或者您可以构建自己的

j控制台

在此处输入图像描述

jConsole 是一个 GUI 应用程序,您可以连接到启用 JMX 的服务器。它是 Java JDK 的一部分,因此您可能已经安装了它。

乔洛基亚

Jolokia教程是基于 JMX 的 JSON API 层。它使 JMX 接口可以通过 HTTP(S) 访问。您可以使用任何 HTTP 客户端库查询信息。你已经在你的问题中弄清楚了这一点。同样,在此之上还有 GUI,最值得注意的是

Hawt.io Artemis 插件

在此处输入图像描述

Hawt.io是一个 Angular.js 管理控制台。它可以被认为是 Jolokia 的 GUI。

Artemis 2.6 及更新版本

Hawt.io 插件是内置的,无需额外设置。

阿尔忒弥斯 1

有一个红帽为 Artemis制作的hawt.io 插件。编译插件并获取.war文件。Artemis 包含一个内置的 Jetty 网络服务器。你需要把那场战争放到apache-artemis-1.3.0/web. 您还需要hawtio-default.warhttp://hawt.io/getstarted/index.html下载到同一目录。然后,在实例目录中,编辑etc/bootstrap.xml这些战争并将其添加到配置中。

或者你可以得到 Red Hat AMQ 7,目前处于 Alpha 阶段,它内置了管理插件。启动它并转到localhost:8161/hawtio。我在一家销售该产品的公司工作。

普罗米修斯和格拉法纳

Grafana ActiveMQ 阿尔忒弥斯

一个存储库随附的博客文章描述了使用 ActiveMQ Artemis 设置 Prometheus 和 Grafana,所有这些都在 OpenShift 中运行。

Prometheus的jmx 导出器包含Artemis 2入门的示例配置。

于 2016-07-19T10:50:18.293 回答
0

监视代理的最简单和最简单的方法是使用ActiveMQ Artemis Web 控制台。这是在 2.3.0(2017 年 9 月发布)中添加的。当时它基于 Hawtio 1,但最近更新到 Hawtio 2。

监控代理的最强大、最灵活的方法是使用指标插件。指标插件允许与 CloudWatch、Datadog、Dynatrace、Elastic、Prometheus 等专用监控工具集成。Prometheus指标插件实施可用。这与用于可视化和警报的 Grafana 仪表板相结合非常强大。

于 2021-09-27T19:54:31.427 回答