- 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版本