Redis
Redis is an open-source, in-memory data structure store used as a database, cache, and message broker.
Auto-Detection
Section titled “Auto-Detection”Glouton detects Redis by its process and listening port (default: 6379).
If auto-detected parameters are incorrect, override them manually:
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"EOFCreate or edit C:\ProgramData\glouton\conf.d\99-redis.conf:
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"Glouton automatically detects configuration changes.
Service Check
Section titled “Service Check”Glouton performs a Redis protocol check on the configured port to verify that the server is responding.
Built-in Metrics
Section titled “Built-in Metrics”| Metric | Description |
|---|---|
service_status | Status of Redis |
redis_current_connections_clients | Number of connected clients |
redis_current_connections_slaves | Number of connected replicas |
redis_evicted_keys | Number of keys evicted due to maxmemory limit per second |
redis_expired_keys | Number of key expiration events per second |
redis_keyspace_hits | Number of successful key lookups per second |
redis_keyspace_misses | Number of failed key lookups per second |
redis_keyspace_hitrate | Hit ratio of key lookups in percent |
redis_memory | Memory allocated by Redis in bytes |
redis_memory_lua | Memory used by the Lua engine in bytes |
redis_memory_peak | Peak memory consumed by Redis in bytes |
redis_memory_rss | Memory used by Redis as seen by the system in bytes |
redis_pubsub_channels | Number of pub/sub channels with client subscriptions |
redis_pubsub_patterns | Number of pub/sub patterns with client subscriptions |
redis_total_connections | Number of connections (client or replica) per second |
redis_total_operations | Number of commands processed by the server per second |
redis_uptime | Time since Redis server start in seconds |
redis_volatile_changes | Number of changes since the last dump |
Glouton collects Redis server logs for analysis in Bleemeo.
Monitoring Troubleshooting
Section titled “Monitoring Troubleshooting”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.
The Service Check is not OK
Section titled “The Service Check is not OK”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:
redis-cli -h 127.0.0.1 -p 6379 -a 'YOUR_REDIS_PASSWORD' pingMetrics are Missing
Section titled “Metrics are Missing”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:
INFOis denied. An ACL rule that excludesINFO, or arename-command INFO ""inredis.conf, leaves Glouton with nothing to parse. Test it with theredis-clicommand above, replacingpingwithinfo 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.