9.2. 配置统计、指标和 JMX
启用数据网格导出到 MicroProfile 指标端点或通过 JMX MBeans 统计信息。您还可以注册 JMX MBeans 来执行管理操作。
9.2.1. 启用 Data Grid Statistics
借助 Data Grid,您可以为缓存管理器和缓存启用统计信息。但是,为缓存管理器启用统计信息不会为其控制的缓存启用统计信息。您必须明确启用缓存的统计信息。
默认情况下,Data Grid 服务器为缓存管理器启用统计信息。
流程
- 以声明性方式或以编程方式启用统计信息。
声明性
<cache-container statistics="true"> 1 <local-cache name="mycache" statistics="true"/> 2 </cache-container>
以编程方式
GlobalConfiguration globalConfig = new GlobalConfigurationBuilder() .cacheContainer().statistics(true) 1 .build(); ... Configuration config = new ConfigurationBuilder() .statistics().enable() 2 .build();
9.2.2. 启用 Data Grid Metrics
配置 Data Grid 以导出量表和直方图。
流程
- 以声明性方式或以编程方式配置指标。
声明性
<cache-container statistics="true"> 1 <metrics gauges="true" histograms="true" /> 2 </cache-container>
以编程方式
GlobalConfiguration globalConfig = new GlobalConfigurationBuilder() .statistics().enable() 1 .metrics().gauges(true).histograms(true) 2 .build();
9.2.3. 收集数据网格指标
使用 Prometheus 等监控工具来收集数据网格指标。
前提条件
-
启用统计信息。如果没有启用统计信息,Data Grid 为指标提供
0
和-1
值。 - (可选)启用直方图。默认情况下,Data Grid 生成量表,但不生成直方图。
流程
获取 Prometheus (OpenMetrics)格式的指标:
$ curl -v http://localhost:11222/metrics
以 MicroProfile JSON 格式获取指标:
$ curl --header "Accept: application/json" http://localhost:11222/metrics
后续步骤
配置监控应用程序以收集数据网格指标。例如,将以下内容添加到 prometheus.yml
中:
static_configs: - targets: ['localhost:11222']
参考
- Prometheus 配置
- 启用 Data Grid Statistics
9.2.4. 配置数据网格以注册 JMX MBeans
Data Grid 可以注册可以用来收集统计信息并执行管理操作的 JMX MBeans。但是,您必须将统计信息单独启用到 JMX,否则 Data Grid 都为所有统计属性提供 0
值。
流程
- 以声明性方式或以编程方式启用 JMX。
声明性
<cache-container>
<jmx enabled="true" /> 1
</cache-container>
- 1
- 注册数据网格 JMX MBeans.
以编程方式
GlobalConfiguration globalConfig = new GlobalConfigurationBuilder()
.jmx().enable() 1
.build();
- 1
- 注册数据网格 JMX MBeans.
9.2.4.1. Data Grid MBeans
Data Grid 公开了代表可管理资源的 JMX MBeans。
org.infinispan:type=Cache
- 可用于缓存实例的属性和操作。
org.infinispan:type=CacheManager
- 可用于缓存管理器的属性和操作,包括数据网格缓存和集群健康统计信息。
有关可用 JMX MBeans 的完整列表以及描述和可用的操作和属性,请参阅 Data Grid JMX 组件 文档。