- 14.10. 统计与监控 (JMX和其它监控系统)
- 配置方法
- Redisson提供了以下这些性能监控指标
- 客户端配置相关指标
- 每个Redis节点的指标
- 每个分布式远程服务(RRemoteService)对象的指标
- 每个分布式执行服务(RExecutorService)对象的指标
- 每个分布式映射(RMap)对象的指标
- 每个分布式映射缓存(RMapCache)对象的指标
- 每个集群分布式映射缓存(RClusteredMapCache)对象的指标
- 每个分布式本地缓存映射(RLocalCachedMap)对象的指标
- 每个集群分布式本地缓存映射(RClusteredLocalCachedMap)对象的指标
- 每个分布式本地缓存映射缓存(RLocalCachedMapCache)对象的指标
- 每个集群分布式本地缓存映射缓存(RClusteredLocalCachedMapCache)对象的指标
- 每个分布式话题(RTopic)对象的指标
- 每个分布式通用对象桶(RBucket)对象的指标
14.10. 统计与监控 (JMX和其它监控系统)
该功能仅适用于Redisson PRO版本 Redisson为各大知名监控系统提供了集成:
| 监控系统 | 适配类 从属于’org.redisson.config.metrics’包 |
参数 | 依赖包的artifactId * |
|---|---|---|---|
| AppOptics | AppOpticsMeterRegistryProvider | uri, hostTag, apiToken | micrometer-registry-appoptics |
| Atlas | AtlasMeterRegistryProvider | uri, configUri, evalUri | micrometer-registry-atlas |
| Azure | AzureMonitorMeterRegistryProvider | instrumentationKey | micrometer-registry-azure-monitor |
| CloudWatch | CloudWatchMeterRegistryProvider | accessKey, secretKey, namespace | micrometer-registry-cloudwatch |
| Datadog | DatadogMeterRegistryProvider | uri, hostTag, apiKey | micrometer-registry-datadog |
| Dropwizard | DropwizardMeterRegistryProvider | sharedRegistryName | - |
| Dynatrace | DynatraceMeterRegistryProvider | apiToken, uri, deviceId | micrometer-registry-dynatrace |
| Elastic | ElasticMeterRegistryProvider | host, userName, password | micrometer-registry-elastic |
| Ganglia | GangliaMeterRegistryProvider | host, port | micrometer-registry-ganglia |
| Graphite | GraphiteMeterRegistryProvider | host, port | micrometer-registry-graphite |
| Humio | HumioMeterRegistryProvider | uri, repository, apiToken | micrometer-registry-humio |
| Influx | InfluxMeterRegistryProvider | uri, db, userName, password | micrometer-registry-influx |
| JMX | JmxMeterRegistryProvider | domain, sharedRegistryName | micrometer-registry-jmx |
| Kairos | KairosMeterRegistryProvider | uri, userName, password | micrometer-registry-kairos |
| NewRelic | NewRelicMeterRegistryProvider | uri, apiKey, accountId | micrometer-registry-new-relic |
| Prometheus | PrometheusMeterRegistryProvider | - | micrometer-registry-prometheus |
| SingnalFx | SingnalFxMeterRegistryProvider | accessToken, apiHost, source | micrometer-registry-signalfx |
| Stackdriver | StackdriverMeterRegistryProvider | projectId | micrometer-registry-stackdriver |
| Statsd | StatsdMeterRegistryProvider | flavor, host, port | micrometer-registry-statsd |
| Wavefront | WavefrontMeterRegistryProvider | uri, source, apiToken | micrometer-registry-wavefront |
* groupId统一为 ‘io.micrometer’
配置方法
Config config = ... // Redisson的Config对象DropwizardMeterRegistryProvider provider = new DropwizardMeterRegistryProvider();provider.setSharedRegistryName("mySharedRegistry");config.setMeterRegistryProvider(provider);
也可以在YAML格式的配置文件中添加以下配置参数:
meterRegistryProvider: !<org.redisson.config.metrics.DropwizardMeterRegistryProvider>sharedRegistryName: "mySharedRegistry"
Redisson提供了以下这些性能监控指标
客户端配置相关指标
redisson.executor-pool-size- [Gauge] 用于展示Executor线程池大小的度量值redisson.netty-pool-size- [Gauge] 用于展示Netty线程池大小的度量值
每个Redis节点的指标
名称前缀格式:redisson.redis.<host>:<port>
status- [Gauge] 用于展示连接状态,连接 和 断开 状态的值分别为:[connected, disconnected]type- [Gauge] 用于展示节点类型,主节点 和 从节点 的状态值分别为:[MASTER, SLAVE]total-response-bytes- [Meter] 用于统计从该节点收到的总字节量response-bytes- [Histogram] 用于统计从该节点收到的字节量total-request-bytes- [Meter] 用于统计写入到该节点的总字节量request-bytes- [Histogram] 用于统计写入到该节点的字节量connections.active- [Counter] 用于显示客户端到该Redis节点的连接池当前 正在使用 的连接数量connections.free- [Counter] 用于显示客户端到该Redis节点的连接池当前 空闲 的连接数量connections.max-pool-size- [Counter] 用于显示客户端到该Redis节点的连接池大小connections.total- [Counter] 用于显示客户端到该Redis节点的连接池当前 所有 的连接数量operations.total- [Meter] 用于统计客户端到该Redis节点所有 已发送 的指令数量operations.total-failed- [Meter] 用于统计客户端到该Redis节点所有 发送失败 的指令数量operations.total-successful- [Meter] 用于统计客户端到该Redis节点所有 发送成功 的指令数量publish-subscribe-connections.active- [Counter] 用于显示客户端到该Redis节点用于订阅发布的连接池 正在使用 的连接数量publish-subscribe-connections.free- [Counter] 用于显示客户端到该Redis节点用于订阅发布的连接池 空闲 的连接数量publish-subscribe-connections.max-pool-size- [Counter] 用于显示客户端到该Redis节点用于订阅发布的连接池大小publish-subscribe-connections.total- [Counter] 用于显示客户端到该Redis节点用于订阅发布的连接池 所有 的连接数量
每个分布式远程服务(RRemoteService)对象的指标
名称前缀格式:redisson.remote-service.<name>
invocations.total- [Meter] 用于统计该远程服务对象所有 已执行 的请求数量invocations.total-failed- [Meter] 用于统计该远程服务对象 执行失败 的请求数量invocations.total-successful- [Meter] 用于统计该远程服务对象 执行成功 的请求数量
每个分布式执行服务(RExecutorService)对象的指标
名称前缀格式:redisson.executor-service.<name>
tasks.submitted- [Meter] 用于统计 已提交 的任务数量tasks.executed- [Meter] 用于统计 已执行 的任务数量workers.active- [Gauge] 用于统计 工作中 的任务线程(Workers)数量workers.free- [Gauge] 用于统计 空闲 的任务线程(Workers)数量workers.total- [Gauge] 用于统计 所有 的任务线程(Workers)数量workers.tasks-executed.total- [Meter] 用于统计任务线程(Workers) 已执行 的任务数量workers.tasks-executed.total-failed- [Meter] 用于统计任务线程(Workers) 执行失败 的任务数量workers.tasks-executed.total-successful- [Meter] 用于统计任务线程(Workers) 执行成功 的任务数量
每个分布式映射(RMap)对象的指标
名称前缀:redisson.map.<name>
hits- [Meter] 用于统计 Redis命中(Redis内 有 需要的数据)的次数misses- [Meter] 用于统计 Redis未命中(Redis内 没有 需要的数据)的次数puts- [Meter] 用于统计 写入 操作次数removals- [Meter] 用于统计 擦除 操作次数
每个分布式映射缓存(RMapCache)对象的指标
名称前缀:redisson.map-cache.<name>
hits- [Meter] 用于统计 Redis命中(Redis内 有 需要的数据)的次数misses- [Meter] 用于统计 Redis未命中(Redis内 没有 需要的数据)的次数puts- [Meter] 用于统计 写入 操作次数removals- [Meter] 用于统计 擦除 操作次数
每个集群分布式映射缓存(RClusteredMapCache)对象的指标
名称前缀:redisson.clustered-map-cache.<name>
hits- [Meter] 用于统计 Redis命中(Redis内 有 需要的数据)的次数misses- [Meter] 用于统计 Redis命中(Redis内 没有 需要的数据)的次数puts- [Meter] 用于统计 写入 操作次数removals- [Meter] 用于统计 擦除 操作次数
每个分布式本地缓存映射(RLocalCachedMap)对象的指标
名称前缀:redisson.local-cached-map.<name>
hits- [Meter] 用于统计 Redis命中(Redis内 有 需要的数据)的次数misses- [Meter] 用于统计 Redis未命中(Redis内 没有 需要的数据)的次数puts- [Meter] 用于统计 写入 操作次数removals- [Meter] 用于统计 擦除 操作次数local-cache.hits- [Meter] 用于统计 本地命中(JVM内 有 需要的数据)的次数local-cache.misses- [Meter] 用于统计 本地未命中(Redis内 没有 需要的数据)的次数local-cache.evictions- [Meter] 用于统计 驱逐 发生次数local-cache.size- [Gauge] 用于统计 本地缓存 的容量大小
每个集群分布式本地缓存映射(RClusteredLocalCachedMap)对象的指标
名称前缀:redisson.clustered-local-cached-map.<name>
hits- [Meter] 用于统计 Redis命中(Redis内 有 需要的数据)的次数misses- [Meter] 用于统计 Redis未命中(Redis内 没有 需要的数据)的次数puts- [Meter] 用于统计 写入 操作次数removals- [Meter] 用于统计 擦除 操作次数local-cache.hits- [Meter] 用于统计 本地命中(JVM内 有 需要的数据)的次数local-cache.misses- [Meter] 用于统计 本地未命中(Redis内 没有 需要的数据)的次数local-cache.evictions- [Meter] 用于统计 驱逐 发生次数local-cache.size- [Gauge] 用于统计 本地缓存 的容量大小
每个分布式本地缓存映射缓存(RLocalCachedMapCache)对象的指标
名称前缀:redisson.local-cached-map-cache.<name>
hits- [Meter] 用于统计 Redis命中(Redis内 有 需要的数据)的次数misses- [Meter] 用于统计 Redis未命中(Redis内 没有 需要的数据)的次数puts- [Meter] 用于统计 写入 操作次数removals- [Meter] 用于统计 擦除 操作次数local-cache.hits- [Meter] 用于统计 本地命中(JVM内 有 需要的数据)的次数local-cache.misses- [Meter] 用于统计 本地未命中(Redis内 没有 需要的数据)的次数local-cache.evictions- [Meter] 用于统计 驱逐 发生次数local-cache.size- [Gauge] 用于统计 本地缓存 的容量大小
每个集群分布式本地缓存映射缓存(RClusteredLocalCachedMapCache)对象的指标
名称前缀:redisson.clustered-local-cached-map-cache.<name>
hits- [Meter] 用于统计 Redis命中(Redis内 有 需要的数据)的次数misses- [Meter] 用于统计 Redis未命中(Redis内 没有 需要的数据)的次数puts- [Meter] 用于统计 写入 操作次数removals- [Meter] 用于统计 擦除 操作次数local-cache.hits- [Meter] 用于统计 本地命中(JVM内 有 需要的数据)的次数local-cache.misses- [Meter] 用于统计 本地未命中(Redis内 没有 需要的数据)的次数local-cache.evictions- [Meter] 用于统计 驱逐 发生次数local-cache.size- [Gauge] 用于统计 本地缓存 的容量大小
每个分布式话题(RTopic)对象的指标
名称前缀:redisson.topic.<name>
messages-sent- [Meter] 用于统计向该话题 发送 出的消息数量messages-received- [Meter] 用于统计从该话题 接收 到的消息数量
每个分布式通用对象桶(RBucket)对象的指标
名称前缀:redisson.bucket.<name>
gets- [Meter] 用于该统计分布式通用对象桶 读取 操作的次数sets- [Meter] 用于该统计分布式通用对象桶 写入 操作的次数
该功能仅适用于Redisson PRO版本
