4.2. 注册 JMX MBeans
数据网格可以注册 JMX MBeans,用于收集统计信息和执行管理操作。您还必须为 JMX MBeans 中的所有统计属性提供 0 值。
流程
- 打开 Data Grid 配置进行编辑。
-
将
jmx元素或对象添加到缓存容器,并将true指定为enabled属性或字段的值。 -
添加
domain属性或字段,并根据需要指定公开 JMX MBeans 的域。 - 保存并关闭您的客户端配置。
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 格式的连接公开数据网格 MBeans。
您可以使用以下方法之一启用远程 JMX 端口:
- 启用需要身份验证到其中一个数据网格服务器安全域的远程 JMX 端口。
- 使用标准的 Java 管理配置选项手动启用远程 JMX 端口。
先决条件
-
对于具有身份验证的远程 JMX,请使用默认安全域定义用户角色。用户必须具有读写访问权限的
controlRole或具有只读访问权限的monitorRole才能访问任何 JMX 资源。
流程
使用以下方法之一启动启用了远程 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 复制链接链接已复制到粘贴板!
数据网格公开了代表可管理资源的 JMX MBeans。
org.infinispan:type=Cache- 用于缓存实例的属性和操作。
org.infinispan:type=CacheManager- 用于缓存管理器的属性和操作,包括数据网格缓存和集群健康统计。
有关可用 JMX MBeans 以及描述以及可用操作和属性的完整列表,请参阅 数据网格 JMX 组件 文档。
4.2.3. 在自定义 MBean 服务器中注册 MBeans 复制链接链接已复制到粘贴板!
数据网格包含一个 MBeanServerLookup 接口,可用于在自定义 MBeanServer 实例中注册 MBeans。
先决条件
-
创建
MBeanServerLookup的实施,使getMBeanServer ()方法返回自定义 MBeanServer 实例。 - 配置数据网格以注册 JMX MBeans.
流程
- 打开 Data Grid 配置进行编辑。
-
将
mbean-server-lookup属性或字段添加到缓存管理器的 JMX 配置中。 -
指定
MBeanServerLookup实施的完全限定域名(FQN)。 - 保存并关闭您的客户端配置。
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"