LATEST VERSION: 1.9 - CHANGELOG
Redis for PCF v1.9

Monitoring Redis for PCF

Page last updated:

The Loggregator Firehose exposes Redis metrics. You can use third-party monitoring tools to consume Redis metrics to monitor Redis performance and health. For an example Datadog configuration that displays some of the significant metrics outlined below, see the CF Redis example dashboard. Pivotal does not endorse or provide support for any third party solution.

For the On-Demand service plan, instance-level metrics are not available. The available On-Demand service metrics are listed below.

Metrics Polling Interval

The metrics polling interval defaults to 30 seconds. This can be changed by navigating to the Metrics configuration page and entering a new value in Metrics polling interval (min: 10).

Metrics Polling Interval

Monitoring Current Instances and Quotas Remaining for On-Demand Plans

The following examples shows the number of total provisioned instances for On-Demand Plans across all On-Demand plans and for a specific On-Demand plan:

origin:"p.redis" eventType:ValueMetric timestamp:1491922454382895846 deployment:"redis-on-demand-broker" job:"redis-on-demand-broker" index:"3d004de5-1dae-4bcf-9af8-7b18e1e5b39a" ip:"10.0.0.10" valueMetric:
origin:"p.redis" eventType:ValueMetric timestamp:1491922454382812931 deployment:"redis-on-demand-broker" job:"redis-on-demand-broker" index:"3d004de5-1dae-4bcf-9af8-7b18e1e5b39a" ip:"10.0.0.10" valueMetric:

The following examples shows the number of available instances for On-Demand Plans across all On-Demand plans and for a specific On-Demand plan:

origin:"p.redis" eventType:ValueMetric timestamp:1491922966211762492 deployment:"redis-on-demand-broker" job:"redis-on-demand-broker" index:"3d004de5-1dae-4bcf-9af8-7b18e1e5b39a" ip:"10.0.0.10" valueMetric:
origin:"p.redis" eventType:ValueMetric timestamp:1491922966211730803 deployment:"redis-on-demand-broker" job:"redis-on-demand-broker" index:"3d004de5-1dae-4bcf-9af8-7b18e1e5b39a" ip:"10.0.0.10" valueMetric:

The following example shows the number of available instances for the Dedicated-VM plan metric:

origin:"p-redis" eventType:ValueMetric timestamp:1480084323333475533 deployment:"cf-redis" job:"cf-redis-broker" index:"3be5f4b9-cdf3-45c4-a3b2-19d923d63a01" ip:"10.0.1.49" valueMetric:<name:"/p-redis/service-broker/dedicated_vm_plan/available_instances" value:4 unit:"" >

Redis Metrics

Redis emits a number of metrics that can be used to monitor the health and performance of your Redis deployment. Currently these metrics are only available for dedicated-VM and shared-VM plans. On-demand broke metrics can be seen here

keyspace_hits

Description Number of successful lookups of keys in the main dictionary. “/p-redis/info/stats/keyspace_hits”
Significance In conjunction with keyspace_misses, it can be used to calculate the hit ratio.
Notes A successful lookup is a lookup on a key that exists.

keyspace_misses

Description Number of unsuccessful lookups of keys in the main dictionary. “/p-redis/info/stats/keyspace_misses”
Significance In conjunction with keyspace_hits, it can be used to calculate the hit ratio.
Notes An unsuccessful lookup is a lookup on a key that does not exist.

used_memory

Description Number of bytes allocated by Redis. “/p-redis/info/memory/used_memory”
Significance Grows as the number of unsaved keys increases.

maxmemory

Description Maximum number of bytes available in Redis. “/p-redis/info/memory/maxmemory”
Significance Indicates the max memory available in Redis.

blocked_clients

Description Number of connected clients pending on a blocking call. “/p-redis/info/clients/blocked_clients”
Significance Can be used as an indicator to detect deadlocks.

connected_clients

Description Number of clients connected to the Redis instance. “/p-redis/info/clients/connected_clients”

rdb_changes_since_last_save

Description Number of keys currently in memory. “/p-redis/info/persistence/rdb_changes_since_last_save”
Significance Memory usage grows in proportion to the number of keys in memory. If the Redis instance is stopped ungracefully, these changes may be lost.
Notes Performing a BGSAVE writes these keys to disk and frees up memory.

total_commands_processed

Description Total number of commands processed by Redis. “/p-redis/info/stats/total_commands_processed”
Significance A crude indicator of activity. Can be used in conjunction with uptime_in_seconds.

mem_fragmentation_ratio

Description Ratio of memory allocated by the operating system to the memory requested by Redis. “/p-redis/info/memory/mem_fragmentation_ratio”
Significance A ratio in excess of 1.5 indicates excessive fragmentation, with your Redis instance consuming 150% of the physical memory it requested..

total_instances [Dedicated VM]

Description Total number of dedicated-vm instances of Redis. “/p-redis/service-broker/dedicated_vm_plan/total_instances”
Significance Used in conjunction with available_instances, provides information about used instances.

available_instances [Dedicated VM]

Description Number of available dedicated-vm instances of Redis. “/p-redis/service-broker/dedicated_vm_plan/available_instances”
Significance If zero, no more instances are available.

total_instances [Shared-VM]

Description Total number of shared-vm instances of Redis. “/p-redis/service-broker/shared_vm_plan/total_instances”
Significance Used in conjunction with available_instances, provides information about used instances.

available_instances [Shared-VM]

Description Number of available shared-vm instances of Redis. “/p-redis/service-broker/shared_vm_plan/available_instances”
Significance If zero, no more instances are available.

total_instances [Across on-demand plans]

Description Total number of on-demand instances of Redis available for all plans. “/on-demand-broker/p.redis/total_instances”
Significance Used in conjunction with total_instances, provides information about used instances.

available_instances [Across on-demand plans]

Description Number of available on-demand instances of Redis available for all plans. “/on-demand-broker/p.redis/quota_remaining”
Significance If zero, no more instances are available.

total_instances [Per on-demand plan]

Description Total number of on-demand instances of Redis available for a specific plan. “/on-demand-broker/p.redis/{plan_name}/total_instances”
Significance Used in conjunction with total_instances, provides information about used instances per plan.

available_instances [Per on-demand plan]

Description Number of available on-demand instances of Redis. “/on-demand-broker/p.redis/{plan_name}/quota_remaining”
Significance If zero, no more instances are available per plan.

BOSH Health Monitor Metrics

The BOSH layer that underlies PCF generates healthmonitor metrics for all VMs in the deployment. However, these metrics are not included in the Loggregator Firehose by default. To get these metrics, do either of the following:

  • To send BOSH HM metrics through the Firehose, install the open-source HM Forwarder.
  • To retrieve BOSH health metrics outside of the Firehose, install the JMX Bridge for PCF tile.

Other Metrics

Redis also exposes the following metrics. for more information, see the Redis documentation.

  • arch_bits
  • uptime_in_seconds
  • uptime_in_days
  • hz
  • lru_clock
  • client_longest_output_list
  • client_biggest_input_buf
  • used_memory_rss
  • used_memory_peak
  • used_memory_lua
  • mem_fragmentation_ratio
  • loading
  • rdb_bgsave_in_progress
  • rdb_last_save_time
  • rdb_last_bgsave_time_sec
  • rdb_current_bgsave_time_sec
  • aof_rewrite_in_progress
  • aof_rewrite_scheduled
  • aof_last_rewrite_time_sec
  • aof_current_rewrite_time_sec
  • total_connections_received
  • total_commands_processed
  • instantaneous_ops_per_sec
  • total_net_input_bytes
  • total_net_output_bytes
  • instantaneous_input_kbps
  • instantaneous_output_kbps
  • rejected_connections
  • sync_full
  • sync_partial_ok
  • sync_partial_err
  • expired_keys
  • evicted_keys
  • keyspace_hits
  • keyspace_misses
  • pubsub_channels
  • pubsub_patterns
  • latest_fork_usec
  • migrate_cached_sockets
  • connected_slaves
  • master_repl_offset
  • repl_backlog_active
  • repl_backlog_size
  • repl_backlog_first_byte_offset
  • repl_backlog_histlen
  • used_cpu_sys
  • used_cpu_user
  • used_cpu_sys_children
  • used_cpu_user_children
  • cluster_enabled
  • rdb_last_bgsave_status
  • aof_last_bgrewrite_status
  • aof_last_write_status
Create a pull request or raise an issue on the source for this page in GitHub