Apache ActiveMQ Artemis 默认情况下附带管理控制台。它由 Hawt.io 提供支持。

它的目的是通过用户友好的 Web UI 公开 管理 API

1. 登录

要访问管理控制台,请使用浏览器并访问 URL https://127.0.0.1:8161/console

将显示一个登录屏幕,如果您的代理是安全的,您将需要使用具有管理员角色的用户,如果它是不安全的,只需输入任何用户名/密码。

ActiveMQ Artemis Console Login

2. 安全

该 Jolokia JMX-HTTP 桥通过代理配置目录中的策略文件进行保护:'etc/jolokia-access.xml'。应根据 Jolokia 安全指南 中的说明修改该文件的内容。默认情况下,控制台被锁定为“localhost”,在通过网络公开控制台 Web 端点时,请特别注意“CORS”限制。

3. 控制台

登录后,您应该会看到类似的屏幕。

ActiveMQ Artemis Console Artemis Plugin

在右上角是一个小的菜单区域,您将看到一些图标。

  • 问号 这将打开一个菜单,其中包含以下项目

  • 帮助 这将导航到控制台用户指南

  • 关于 这将加载一个关于屏幕,在这里您将能够看到和验证版本

  • 将提供一个下拉菜单,其中包含

  • 偏好设置 这将打开偏好设置页面

  • 注销 自述性。

在导航菜单下方,您将看到几个默认功能标签。

  • Artemis 这是 Apache ActiveMQ Artemis 特定功能的核心标签。本文档的其余部分将重点介绍这一点。

  • 仪表板 在这里,您可以创建和保存通过 JMX 可用的指标的图表和表格,提供了一个默认的 jvm 健康仪表板。

  • JMX 这公开了原始的 Jolokia JMX,因此您可以浏览/访问 JVM 公开的 JMX 端点。

  • 线程 这使您可以监控线程使用情况及其状态。

在以前版本中,有一个“连接”标签,可以用于从同一个控制台连接到远程代理。默认情况下,出于安全目的,这已禁用,但可以通过从 artemis.profile(或 Windows 上的 artemis.profile.cmd)中删除 -Dhawtio.disableProxy=true 来重新启用。

如果您希望获得更多功能,可以安装更多 hawtio 插件。

4. Artemis 标签

单击左侧导航栏中的 Artemis 以查看特定于 Artemis 的插件。(如果 JVM 中没有代理,则不会出现 Artemis 标签)。Artemis 插件的工作原理与 JMX 插件非常相似,但重点在于与 Artemis 代理进行交互。

4.1. 树形视图

左侧的树形视图显示了运行在 JVM 中的每个代理实例的顶级 JMX 树。展开树将显示 Artemis 注册的各种 MBean,您可以通过 **属性** 选项卡对其进行检查。

4.1.1. 接受者

这将展开以显示和公开当前配置的接受者的详细信息。

4.1.2. 地址

这将展开以显示当前配置的可用 地址

在地址下,您可以展开以查找地址的 队列,公开属性

4.2. 关键操作

4.2.1. 创建新地址

要创建新地址,只需单击 jmx 树中的代理或地址文件夹,然后单击创建选项卡。

创建地址后,您应该能够通过单击 jmx 树中的地址并单击发送选项卡来**发送**到该地址。

4.2.2. 创建新队列

要创建新队列,请单击要将队列绑定到的地址,然后单击创建选项卡。

创建队列后,您应该能够**发送**消息到该队列或**浏览**该队列或查看**属性**或**图表**。只需单击 ejmx 树中的队列,然后单击相应的选项卡。

您还可以使用**图表**选项卡查看所有代理、地址、队列及其使用者图形视图。

4.3. 状态日志记录

代理启动时,将检测 Web 控制台的存在并记录状态信息,例如

INFO  [org.apache.activemq.artemis] AMQ241002: Artemis Jolokia REST API available at https://127.0.0.1:8161/console/jolokia
INFO  [org.apache.activemq.artemis] AMQ241004: Artemis Console available at https://127.0.0.1:8161/console

通过检查 war 文件的 WEB-INF/web.xml 描述符中的 <display-name> 标签的值来检测 Web 控制台。默认情况下,它会查找 hawtio。但是,如果出于任何原因更改了此值,代理可以通过设置以下系统属性来查找此新值

-Dorg.apache.activemq.artemis.webConsoleDisplayName=newValue