Skip to content
BleemeoBleemeo

Redis

Auto-Detection
Health Check
Built-in Metrics
Logs
Tutorial availableHow to monitor Redis with Bleemeo?
Read the tutorial

Redis is an open-source, in-memory data structure store used as a database, cache, and message broker.

Glouton detects Redis by its process and listening port (default: 6379).

If auto-detected parameters are incorrect, override them manually:

Terminal window
sudo tee /etc/glouton/conf.d/99-redis.conf > /dev/null << 'EOF'
service:
# For a Redis running outside a container
- type: "redis"
address: "127.0.0.1"
port: 6379
password: "password-if-configured"
# For an additional Redis running outside a container
- type: "redis"
instance: "NAME_ASSOCIATED_WITH_YOUR_ADDITIONAL_SERVICE"
address: "127.0.0.1"
port: 6380
password: "password-if-configured"
# For a Redis running in a Docker container
- type: "redis"
instance: "CONTAINER_NAME"
address: "172.17.0.2"
port: 6379
password: "password-if-configured"
EOF

Glouton automatically detects configuration changes.

Glouton performs a Redis protocol check on the configured port to verify that the server is responding.

MetricDescription
service_statusStatus of Redis
redis_current_connections_clientsNumber of connected clients
redis_current_connections_slavesNumber of connected replicas
redis_evicted_keysNumber of keys evicted due to maxmemory limit per second
redis_expired_keysNumber of key expiration events per second
redis_keyspace_hitsNumber of successful key lookups per second
redis_keyspace_missesNumber of failed key lookups per second
redis_keyspace_hitrateHit ratio of key lookups in percent
redis_memoryMemory allocated by Redis in bytes
redis_memory_luaMemory used by the Lua engine in bytes
redis_memory_peakPeak memory consumed by Redis in bytes
redis_memory_rssMemory used by Redis as seen by the system in bytes
redis_pubsub_channelsNumber of pub/sub channels with client subscriptions
redis_pubsub_patternsNumber of pub/sub patterns with client subscriptions
redis_total_connectionsNumber of connections (client or replica) per second
redis_total_operationsNumber of commands processed by the server per second
redis_uptimeTime since Redis server start in seconds
redis_volatile_changesNumber of changes since the last dump

Glouton collects Redis server logs for analysis in Bleemeo.

The check and the metric collection both use the password from the Glouton configuration. See

See Troubleshoot a Service Check or Missing Metrics for what applies to every service: finding the address and port Glouton really uses, what each check message means, and how to read the collection error — which does not appear in the agent logs at the default level.

Glouton sends PING on the Redis port and expects +PONG. When a password is configured, it sends AUTH first. Anything else Redis answers is reported verbatim as an unexpected response, so the quoted text tells you what to fix:

Status text Cause Fix
unexpected response "-NOAUTH Authentication required.\r\n" Redis has a requirepass, Glouton has no password Add password to the Glouton configuration
unexpected response "-WRONGPASS invalid username-password pair..." The configured password is wrong, or it belongs to an ACL user other than default Fix the password. Glouton authenticates as the default user and cannot send a username
unexpected response "-ERR Client sent AUTH, but no password is set..." Glouton has a password, Redis has none Remove password from the Glouton configuration, or set requirepass in Redis
unexpected response "-DENIED Redis is running in protected mode..." Redis is in protected mode, reached from a non-loopback address, with no password Set requirepass in Redis and give it to Glouton, or bind Redis so that Glouton reaches it on loopback
Connection refused Redis listens on another port than the one in discovery.txt, or on a bind address Glouton cannot reach Set address and port explicitly
connection closed or no data received from host Redis only accepts TLS on that port (tls-port), or maxclients is reached Point Glouton at the plain-text port: it connects over TCP and does not speak TLS

Reproduce what Glouton does, from the machine where the agent runs:

Terminal window
redis-cli -h 127.0.0.1 -p 6379 -a 'YOUR_REDIS_PASSWORD' ping

Metrics come from a separate connection, on which Glouton runs INFO ALL with the same credentials as the check. A check that passes therefore rules out the password, and leaves three possibilities:

  • INFO is denied. An ACL rule that excludes INFO, or a rename-command INFO "" in redis.conf, leaves Glouton with nothing to parse. Test it with the redis-cli command above, replacing ping with info all.
  • An ACL user other than default. Glouton sends a password but no username, so the credentials of a named ACL user cannot be used, even when the check itself succeeds without authentication.
  • The plan. Built-in redis_* metrics require the Professional plan; the availability check alone is available on every plan.

The exact error, reported by Redis itself, is in scrape-loop-active.json, under redis input.