Redis Enterprise Software is from Redis Labs which enhances the open-source Redis with multiple deployment choices (public and private clouds, on-premises, hybrid, RAM-Flash combination), topology and support for very large data-set sizes. The AppDynamics Monitoring Extension for Redis Enterprise will collect metrics from Redis Enterprise clusters and send them to AppDynamics Controller.
Before the extension is installed, the prerequisites mentioned here need to be met.
Please do not proceed with the extension installation if the specified prerequisites are not met.
In order to use this extension, the following files need to be configured - config.yml and metrics.xml. Here’s how to configure those files.
serverssection of the config.yml. This can be configured to collect metrics from the cluster along with all nodes, databases, and shards in the cluster.
servers: - uri: "http://localhost:9443" username: "admin" # user should have privileges in RedisEnterprise password: "admin" encryptedPassword: "" useSSL: "false" displayName: "cluster1"
servers: - uri: "http://redis.enterprise.one:5984" username: "admin" # user should have privileges in RedisEnterprise password: "admin" encryptedPassword: "" useSSL: "false" displayName: "cluster1" # cluster 1 endpoint - uri: "http://redis.enterprise.two:5984" username: "admin" # user should have privileges in RedisEnterprise password: "admin" encryptedPassword: "" useSSL: "false" displayName: "cluster2" # cluster 2 endpoint <<To add more clusters, simply add each cluster here>>
The metrics.xml is a configurable file with the list of all metrics that the extension will fetch.
Please un-comment metrics that are needed from metrics.xml.
The metrics.xml can be configured to report only those metrics that are required. Please remove or comment out metrics that you don’t require.
For configuring the metrics, the following properties can be used:
|Metric Property||Default value||Possible values||Description|
|alias||metric name||Any string||The substitute name to be used in the metric browser instead of metric name.|
|aggregationType||“AVERAGE”||“AVERAGE”, “SUM”, “OBSERVATION”||Aggregation qualifier|
|timeRollUpType||“AVERAGE”||“AVERAGE”, “SUM”, “CURRENT”||Time roll-up qualifier|
|clusterRollUpType||“INDIVIDUAL”||“INDIVIDUAL”, “COLLECTIVE”||Cluster roll-up qualifier|
|multiplier||1||Any number||Value with which the metric needs to be multiplied.|
|convert||null||Any key value map||Set of key value pairs that indicates the value to which the metrics need to be transformed. eg: UP:0, DOWN:1|
|delta||false||true, false||If enabled, gives the delta values of metrics instead of actual values.|
The following metrics are reported under each
Free Memory Available Memory Provisional Memory Available Flash Provisional Flash Cpu Time - User Cpu Time - System Cpu Idle Time Available Ephemeral Disk Space Available Persistent Storage Ephemeral Storage - Free Persistent Storage - Free Request Rate Average Node Latency Number of Client Connections Ingress Rate Egress Rate BigRedis Key Access Per Sec BigRedis IO ops BigRedis Throughput BigRedis Memory - Free
The following metrics are reported under
Number of Keys Evicted Objects Expired Objects Instantaneous Ops/sec Read Hits Read Misses Write Hits Write Misses PubSub Channels PubSub Patterns RAM Frag Ratio Disk Frag Ratio Bigstore KV Ops Bigstore IO ops Bigstore throughput BigRedis RAM Hits BigRedis Flash Hits BigRedis RAM Writes BigRedis Flash Writes BigRedis Deletes - RAM BigRedis Deletes - Flash BigRedis IO ops BigRedis Flash IO ops BigRedis Flash IO Reads BigRedis Flash IO Writes BigRedis Flash IO Deletes BigRedis Flash IO Read Throughput BigRedis Flash IO Write Throughput BigRedis RAM Overhead BigRedis RAM Value Count BigRedis Flash Value Count BigRedis Used Memory Redis Lua Scripting Heap Size BigRedis RAM Used BigRedis Flash Used Client Connection Count New Connections Per Sec Ingress Bytes Egress Bytes DB Request Rate - Read DB Response Rate - Read DB Request Rate - Write DB Response Rate - Write DB Request Rate - Non Read/Write DB Response Rate - Non Read/Write Total Request Rate Total Response Rate Number of Monitor Sessions Average Read latency Average Write Latency Average Latency - Other Average Latency BigRedis Flash Used BigRedis Flash Used BigRedis Flash Used BigRedis Flash Used BigRedis Flash Used BigRedis Flash Used BigRedis Flash Used
The following metrics are reported under
Free Memory Available Memory Provisional Memory Available Flash Provisional Flash Cpu Time - User Cpu Time - System Cpu Idle Time Available Ephemeral Disk Space Available Persistent Storage Ephemeral Storage - Free Persistent Storage - Free Request Rate Average Node Latency Number of Client Connections Ingress Rate Egress Rate BigRedis Read/Write ops BigRedis IO ops BigRedis Throughput BigRedis Memory - Free aof rewrites
The following metrics are reported under
AOF Rewrites In Progress Avg TTL BigStore IO BigStore Throughput BigStore Key Access Per Sec BigStore Key Count - Flash BigStore Key Count - RAM BigRedis Fetch - RAM BigRedis Fetch - Flash BigRedis Writes - RAM BigRedis Writes - Flash available_flash BigRedis Deletes - Flash BigRedis IO Ratio - RAM BigRedis IO Ratio - Flash BigStore IO Reads BigStore IO Writes BigStore IO Deletes BigStore Read Throughput BIgStore Write Throughput Clients Blocked Clients Connected Evicted Objects Expired Objects Last RDB Save Time Memory Used Redis Lua Heap Size Peak Memory Used RSS Number of Keys PubSub Channels PubSub Patterns RDB Changes Read Hits Read Misses Total Requests Write Hits Write Misses Memory Frag Ratio Disk Frag Ratio Number of Expires Percent cores - User mode Percent cores - System mode Main Thread - User mode Main Thread - System mode Fork Process - User mode Fork Process - System mode
objectssection in config.yml will help you filter out metrics from specific nodes/shard/db in your cluster(s).
objects: database: ['test1','test2', 'db.*'] node: ['172.*'] shard: ['3']
### This matches all names - database: ['.*'] ### This matches all database names that start with dev and database names that start with test - database: ["dev.*", "test.*" ] ### This matches nothing, no metrics will be fetched - nodes:  ### This matches nothing, no metrics will be fetched - nodes: [""]
Please visit this page to get detailed instructions on password encryption. The steps in this document will guide you through the whole process.
Workbench is an in-built feature provided with each extension in order to assist you to fine tune the extension setup before you actually deploy it on the controller. Please review this document for how to use the Extensions WorkBench.
curl -u "firstname.lastname@example.org:yourRedisEnterprisePassword" https://your.redis.cluster.endpoint/v1/cluster
If your cluster is set-up over SSL, please use the
--cacert option to specify your keys.
Usually the endpoint is of the format:
https://localhost:9443/v1/cluster # port 9443 is the default SSL port to fetch metrics from Redis Enterprise cluster or http://localhost:8080/v1/cluster # port 8080 is the default non-SSL port to fetch metrics from Redis Enterprise cluster
If the curl command gives a
200 OK response, your cluster is reachable from Machine Agent. If not, please ensure connectivity from your machine agent host every Redis Enterprise cluster.
If after going through the Troubleshooting Document you have not been able to get your extension working, please file a ticket and add the following information.Please provide the following in order for us to assist you better.
Stop the running machine agent.
Delete all existing logs under <MachineAgent>/logs.
Please enable debug logging by editing the file <MachineAgent>/conf/logging/log4j.xml. Change the level value of the following <logger> elements to debug.
<logger name="com.singularity"> <logger name="com.appdynamics">
Start the machine agent and please let it run for 10 mins. Then zip and upload all the logs in the directory <MachineAgent>/logs/*.
Attach the zipped <MachineAgent>/conf/* directory here.
Attach the zipped <MachineAgent>/monitors/<ExtensionMonitor> directory here.
For any support related questions, you can also contact email@example.com.
|Controller Compatibility:||2.2 or Later|
|Tested On:||Redis Enterprise Software v5.4.x|
|Operating System Tested On:||Mac OS, Linux|
|Last updated On:||Dec 13, 2019|