4.7. 连接到远程 Fuse 应用程序


Fuse 控制台使用 Jolokia,这是一种基于代理的 Java 管理扩展(JMX)方法,需要在客户端上安装额外的软件(代理)。默认情况下,Red Hat Fuse 包含一个 jolokia 代理。

使用独立 Fuse 控制台发布,您可以连接到已在它们中运行的 jolokia 代理(https://jolokia.org/)的远程集成。如果要连接的进程没有 jolokia 代理,请参阅 jolokia 文档(http://jolokia.org/agent.html)。

4.7.1. 解锁 Fuse 控制台

默认情况下,JBoss EAP 上的 Fuse 7 独立 Jolokia 被锁定,并且无法远程访问 Fuse 控制台。

要为 locahost127.0.0.1 以外的主机名或 IP 地址解锁 Fuse 控制台,请按照以下步骤操作:

  1. 在编辑器中打开 $EAP_HOME/standalone/configuration/jolokia-access.xml 文件。
  2. 通过将其添加到 < cors > 部分,为您要访问 Fuse 集成注册主机名或 IP 地址。

    例如,若要从 Fuse 控制台访问主机名 0.0.0.3,请添加

    *<allow-origin>http://0.0.0.3:*</allow-origin>*

    显示的行:

    <!--
    
      Cross-Origin Resource Sharing (CORS) restrictions
    
      By default, only CORS access within localhost is allowed for maximum security.
    
      You can add trusted hostnames in the <cors> section to unlock CORS access from them.
    
      -->
    
      <cors>
    
        <!-- Allow cross origin access only within localhost -->
    
        <allow-origin>http*://localhost:*</allow-origin>
    
        <allow-origin>http*://127.0.0.1:*</allow-origin>
    
        <allow-origin>http://0.0.0.3:*</allow-origin>
    
        <!-- Whitelist the hostname patterns as <allow-origin> -->
    
        <!--
    
        <allow-origin>http*://*.example.com</allow-origin>
    
        <allow-origin>http*://*.example.com:*</allow-origin>
    
        -->
    
        <!-- Check for the proper origin on the server side to protect against CSRF -->
    
        <strict-checking />
    
      </cors>
  3. 保存该文件。

4.7.2. 限制远程访问

另外,您可以限制对特定主机和 IP 地址的 Fuse 控制台的远程访问。

您可以根据 HTTP 客户端的 IP 地址授予整个访问权限。指定这些限制:

jolokia-access.xml 文件中,添加或编辑包含一个或多个 < host& gt; 元素的 <remote > 部分。对于 <host > 元素,您可以为来自 10.0 网络的所有客户端指定一个 IP 地址、主机名或子网掩码(例如: 10.0.0.0/16 )。

以下示例允许从 localhost 以及其 IP 地址以 10.0 开头的所有客户端访问。对于所有其他 IP 地址,访问被拒绝。

<remote>
  <host>localhost</host>
  <host>10.0.0.0/16</host>
</remote>

详情请查看 Jolokia 安全文档(https://jolokia.org/reference/html/security.html)。

4.7.3. 允许连接到远程 Fuse 实例

Fuse 控制台的代理 servlet 使用白名单主机保护,默认情况下 Fuse 控制台只能连接到 localhost。如果要将 Fuse 控制台连接到其他远程 Fuse 实例,请在 standalone/configuration/standalone factory.xml 文件中进行以下配置更改:

 <property name=hawtio.proxyWhitelist" value="localhost, 127.0.0.1, myhost1, myhost2, myhost3"/>

4.7.4. 连接到远程 Jolokia 代理

开始之前,您需要知道远程 Jolokia 代理的连接详情(主机名、端口和路径)。

Red Hat JBoss EAP 上的 Jolokia 代理的默认连接 URL 是 http://<host>:8080/hawtio/jolokia

作为系统管理员,您可以更改此默认值。

通常,远程连接到 Jolokia 代理的 URL 是打开 Fuse 控制台加上 /jolokia 的 URL。例如,如果打开 Fuse 控制台的 URL 是 http://<host>:1234/hawtio,则远程连接的 URL 可能是 http://<host>:1234/hawtio/jolokia

要连接到远程 Jolokia 实例,以便您可以检查其 JVM:

  1. Connect 标签页。
  2. Remote 选项卡,然后点 Add connection
  3. 键入 NameScheme (HTTP 或 HTTPS)以及 主机名
  4. 单击 Test Connection
  5. 点击 Add
注意

Fuse 控制台自动探测 localhost 和 127.0.0.1 以外的本地网络接口,并将它们添加到白名单中。因此,您不需要手动将本地计算机的地址注册到白名单中。

4.7.5. 设置数据移动首选项

您可以更改以下 Jolokia 首选项,例如,如果要更频繁地刷新 Fuse 控制台中显示的数据。请注意,增加数据更新的频率会影响网络流量,并增加向服务器发出的请求数量。

  • 更新速率 - 轮询到 Jolokia 以获取 JMX 数据之间的周期(默认为 5 秒)。
  • 最大深度 - Jolokia 将在返回(默认为 7)前将对象聚合到服务器端的 JSON 级别数。
  • 最大集合大小 - Jolokia marshals 在响应中的最大元素数(默认值为 50,000)。

更改这些设置的值:

  1. 在 Fuse 控制台右上角,单击用户图标,然后单击 Preferences

    mf preferences

  2. 编辑选项,然后单击 Close

4.7.6. 查看 JVM 运行时信息

要查看 JVM 运行时信息,如系统属性、指标和线程,请单击 Runtime 选项卡。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.