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

Monitoring Redis for PCF

The PCF Firehose emits Redis metrics.

Configuring Secure Communication

Redis for PCF v1.7.2 lets the operator turn on/off TLS communications for metrics, via a Use non-secure communication for metrics checkbox on the metrics configuration page in Ops Manager. Configure this checkbox for different versions of PCF as follows:

  • PCF v1.8: Select this checkbox to send metrics to the Firehose.

  • PCF v1.9: Clear this checkbox to send metrics to the Firehose securely, or select it to send metrics insecurely.

  • PCF v1.10 and later: Clear this checkbox to send metrics to the Firehose and avoid errors.

Configuring Secure Metrics

Setting this checkbox incorrectly can cause a Cannot generate manifest... unknown property "cf_etcd_client_cert" error:

Configuring Secure Metrics error

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

Third-party monitoring tools can 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.

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.

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

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

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

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

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.

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