Skip to main content
Metrics type: Supporting MetricsCategory: Replication & Cluster

At a glance

Connected Replicas is the number of replica nodes currently attached to and streaming from the primary, read from connected_slaves in INFO replication. It is a small number with outsized importance: it is your live answer to “if this primary dies right now, is there a copy ready to take over?” A value of zero means there is no automatic failover target. Whatever the topology was designed to be, a drop below the expected replica count is the early warning that your redundancy has quietly evaporated, usually well before anything visibly breaks.

Calculation

The card reads connected_slaves from the Replication section of INFO on the primary. Redis only increments this count for replicas that have completed their handshake and are in the connected, streaming state, so a replica mid-resync or one that has dropped off the network is excluded automatically. The detail behind this card is precise: the figure comes from connected_slaves in INFO replication, and the alert fires below 1 because a primary with no connected replica has no failover target at all. The same INFO replication block also exposes each replica line (slave0, slave1, and so on) with its state, offset, and lag, which is what the related Replica Lag (seconds) card reads to judge whether the connected replicas are actually keeping up rather than merely attached.

Worked example

A platform team runs a Redis 7.2 primary with two replicas behind Sentinel, the standard “one to promote, one to spare” pattern for a session and cache tier. The expected reading is 2. Snapshot taken on 03 Jun 26 at 16:40 BST. At 16:35 the card fell from 2 to 1 and held there. The instance is still serving traffic perfectly, and the remaining replica is in sync, so nothing looks broken on a surface dashboard. But the redundancy has halved: there is now exactly one failover target, and if the primary fails before replica-2 rejoins, Sentinel has a single candidate, with no margin if that candidate is also unhealthy.
The lesson: this card is a redundancy tripwire, not a performance metric. The cluster looked completely healthy on throughput and latency the whole time, but its ability to survive a primary failure had quietly halved. Catching the drop from 2 to 1 (not waiting for the drop to 0) is what keeps you out of a single-point-of-failure window during which an unlucky primary crash becomes real downtime.

Sibling cards

Reconciling against the source

Where to look in Redis’s own tooling:
INFO replication on the primary: read connected_slaves, then the per-replica lines (slave0:ip=...,port=...,state=online,offset=...,lag=...). role:master confirms you are querying the right node. ROLE for a compact one-line view of role plus the list of connected replicas and their offsets. If you run Sentinel, SENTINEL replicas <master-name> lists every replica Sentinel knows about and its flags, which is useful when a replica is up but Sentinel has marked it s_down (subjectively down). CLUSTER NODES (cluster mode) shows the master-replica relationships across the whole cluster, with each replica’s master ID.
On a managed service, cross-check the console: ElastiCache and MemoryDB show the node group (shard) membership and each replica’s status in the cluster view, and CloudWatch exposes replication metrics. Note the managed control plane handles failover itself, so the console’s notion of “replicas” is the authoritative redundancy view there, and a healthy console with a transiently odd INFO reading usually means a node is mid-recovery. Why our number may legitimately differ:

Known limitations / FAQs

The card shows 0 but I definitely configured a replica. Where is it? Three usual causes. (1) The replica is still doing its initial full sync and has not reached online state, so it is not counted yet; check the replica’s log for MASTER <-> REPLICA sync progress. (2) The replica cannot authenticate (wrong masterauth after a password rotation); its log will show auth failures. (3) A network or security-group rule is blocking the replication port. Run INFO replication on the replica itself to see what it thinks its master_link_status is. Connected Replicas is healthy but should I still worry? Possibly, because “connected” does not mean “in sync”. A replica can be attached but lagging by minutes if it cannot keep up with the write rate or is starved of resources. Always read this card alongside Replica Lag (seconds): a connected-but-lagging replica will promote with stale data, which can be worse than an obvious failure. Why does the alert fire at below 1 rather than below my designed count? The shipped threshold treats zero as the universal danger line because zero replicas means no automatic failover under any topology. If your design calls for two or three replicas, set a tighter alert threshold per profile so the card alerts when you drop below your own redundancy target, not just when you hit zero. Catching the 2-to-1 transition is usually where the real early warning lives. Does this work the same way on a managed service like ElastiCache? The metric still comes from INFO replication if you query the node directly, but on a managed service the control plane owns failover, so the console’s node-group view is the authoritative redundancy picture. During a managed failover or scaling event, connected_slaves can read oddly for a short window while nodes are added or promoted; let the console settle before treating a transient reading as a real drop. A replica dropped and came back on its own. Was that a problem? A brief drop with automatic reconnection is often a partial resync after a short network blip, which is normal and harmless. The concern is a replica that drops and then loops on full resyncs (each one reloads the whole dataset), which hammers the primary and can OOM the replica. If you see repeated drops, check the replica’s maxmemory and the primary’s repl-backlog-size: too small a backlog forces full resyncs instead of cheap partial ones. In cluster mode, what does this card mean per shard? Each shard (hash-slot range) has its own primary and its own replicas, so connected-replica health is a per-shard property. One shard losing its only replica is a single point of failure for that slice of the keyspace even if every other shard is fully redundant. Read this card together with Cluster Slots Assigned (of 16384) to confirm both that slots are covered and that the primary owning each slot range has a standby.

Tracked live in Vortex IQ Nerve Centre

Connected Replicas is one of hundreds of KPI pulses Vortex IQ tracks across Redis and 70+ other ecommerce connectors. Nerve Centre runs the detection layer; Vortex Mind investigates the cause when something moves; Ask Viq lets you interrogate any number in plain English. Start for free or book a demo to see this metric running on your own data.