• 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’

    配置方法

    1. Config config = ... // Redisson的Config对象
    2. DropwizardMeterRegistryProvider provider = new DropwizardMeterRegistryProvider();
    3. provider.setSharedRegistryName("mySharedRegistry");
    4. config.setMeterRegistryProvider(provider);

    也可以在YAML格式的配置文件中添加以下配置参数:

    1. meterRegistryProvider: !<org.redisson.config.metrics.DropwizardMeterRegistryProvider>
    2. 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版本