A Redis cluster node info provides metrics that are mostly specific to itself, not the cluster. To get a perspective on the whole cluster, you must collect info results from each node in the cluster.
This is trivial in a e.g. EC2/self-hosted Redis where you can install the Telegraf agent locally and have the Redis plugin connect to localhost.
It is challenging, however, when using a Managed Redis cluster such as AWS ElasiCache or GCP Memorystore, where you're presented with a primary endpoint, and the cluster members will change potentially dynamically as the cluster scales in/out.
The desired feature is for the Telegraf Redis plug-in have a node discovery feature. Similar to a Redis client, the initial connection will perform a cluster nodes command to understand the cluster topology:
It will then connect to each node to collect the info or custom command metrics.
Expected behavior
With the following example configuration, the Redis plug-in will connect to the initially provided server and perform node/topology discovery. It will then connect to each node in the cluster to collect metrics.
Use Case
A Redis cluster node
info
provides metrics that are mostly specific to itself, not the cluster. To get a perspective on the whole cluster, you must collectinfo
results from each node in the cluster.This is trivial in a e.g. EC2/self-hosted Redis where you can install the Telegraf agent locally and have the Redis plugin connect to
localhost
.It is challenging, however, when using a Managed Redis cluster such as AWS ElasiCache or GCP Memorystore, where you're presented with a primary endpoint, and the cluster members will change potentially dynamically as the cluster scales in/out.
The desired feature is for the Telegraf Redis plug-in have a node discovery feature. Similar to a Redis client, the initial connection will perform a
cluster nodes
command to understand the cluster topology:It will then connect to each node to collect the
info
or custom command metrics.Expected behavior
With the following example configuration, the Redis plug-in will connect to the initially provided server and perform node/topology discovery. It will then connect to each node in the cluster to collect metrics.
This will result in effectively the following configuration:
and metrics will be pulled for each node.
tls configuration, authentication, custom commands, etc will all be assumed to be the same for each discovered node.
Actual behavior
Currently, the following configuration:
will only collect metrics for the specified node.
Additional info
No response