4.2. 注册 JMX MBeans


Data Grid 可以注册可以用来收集统计信息并执行管理操作的 JMX MBeans。您还必须启用统计信息,否则 Data Grid 为 JMX MBeans 中的所有统计属性提供 0 值。

重要

只有在 Data Grid 嵌入于应用程序中而不是远程 Data Grid 服务器时,使用 JMX Mbeans 来收集统计信息。

当您使用 JMX Mbeans 从远程 Data Grid 服务器收集统计信息时,从 JMX Mbeans 接收的数据可能与 REST 等其他 API 接收的数据不同。在这种情况下,从其他 API 接收的数据更为准确。

流程

  1. 打开 Data Grid 配置以进行编辑。
  2. jmx 元素或对象添加到缓存容器,并将 true 指定为 enabled 属性或字段的值。
  3. 添加 domain 属性或字段,并指定公开 JMX MBeans 的域(如果需要)。
  4. 保存并关闭您的客户端配置。

JMX 配置

XML

<infinispan>
  <cache-container statistics="true">
    <jmx enabled="true"
         domain="example.com"/>
  </cache-container>
</infinispan>

JSON

{
  "infinispan" : {
    "cache-container" : {
      "statistics" : "true",
      "jmx" : {
        "enabled" : "true",
        "domain" : "example.com"
      }
    }
  }
}

YAML

infinispan:
  cacheContainer:
    statistics: "true"
    jmx:
      enabled: "true"
      domain: "example.com"

4.2.1. 启用 JMX 远程端口

提供唯一的远程 JMX 端口,以通过 JMXServiceURL 格式的连接公开数据网格 MBean。

您可以使用以下方法之一启用远程 JMX 端口:

  • 启用需要向其中一个 Data Grid 服务器安全域进行身份验证的远程 JMX 端口。
  • 使用标准 Java 管理配置选项手动启用远程 JMX 端口。

先决条件

  • 对于带有身份验证的远程 JMX,请使用默认安全域定义 JMX 特定的用户角色。用户必须具有具有读/写访问权限的 controlRole,或者具有只读访问权限的 monitorRole 才能访问任何 JMX 资源。Data Grid 会自动将全局 ADMINMONITOR 权限映射到 JMX controlRolemonitorRole 角色。

流程

使用以下方法之一启动启用了远程 JMX 端口的 Data Grid 服务器:

  • 通过端口 9999 启用远程 JMX。

    bin/server.sh --jmx 9999
    警告

    在生产环境中不适用于禁用 SSL 的远程 JMX。

  • 在启动时将以下系统属性传递给 Data Grid 服务器。

    bin/server.sh -Dcom.sun.management.jmxremote.port=9999 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false
    警告

    启用没有身份验证或 SSL 的远程 JMX 不安全,在任何环境中都不推荐使用。禁用身份验证和 SSL 允许未授权用户连接到服务器并访问托管的数据。

其他资源

4.2.2. Data Grid MBeans

Data Grid 公开了代表可管理资源的 JMX MBeans。

org.infinispan:type=Cache
可用于缓存实例的属性和操作。
org.infinispan:type=CacheManager
可用于缓存管理器的属性和操作,包括数据网格缓存和集群健康统计信息。

有关可用 JMX MBeans 的完整列表以及描述和可用的操作和属性,请参阅 Data Grid JMX 组件 文档。

其他资源

4.2.3. 在自定义 MBean 服务器中注册 MBeans

Data Grid 包含一个 MBeanServerLookup 接口,可用于在自定义 MBeanServer 实例中注册 MBeans。

先决条件

  • 创建 MBeanServerLookup 的实现,以便 getMBeanServer () 方法返回自定义 MBeanServer 实例。
  • 配置数据网格以注册 JMX MBeans。

流程

  1. 打开 Data Grid 配置以进行编辑。
  2. mbean-server-lookup 属性或字段添加到 Cache Manager 的 JMX 配置。
  3. 指定 MBeanServerLookup 实施的完全限定名称(FQN)。
  4. 保存并关闭您的客户端配置。
JMX MBean 服务器查找配置

XML

<infinispan>
  <cache-container statistics="true">
    <jmx enabled="true"
         domain="example.com"
         mbean-server-lookup="com.example.MyMBeanServerLookup"/>
  </cache-container>
</infinispan>

JSON

{
  "infinispan" : {
    "cache-container" : {
      "statistics" : "true",
      "jmx" : {
        "enabled" : "true",
        "domain" : "example.com",
        "mbean-server-lookup" : "com.example.MyMBeanServerLookup"
      }
    }
  }
}

YAML

infinispan:
  cacheContainer:
    statistics: "true"
    jmx:
      enabled: "true"
      domain: "example.com"
      mbeanServerLookup: "com.example.MyMBeanServerLookup"

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.