Ubuntu
1. Check redis-cli
Advanced collection needs redis-cli 6.2 or newer on the agent's host — that is when --json arrived. This is the client version, not the server's.
redis-cli --version
If it is older, install a current one:
sudo apt-get install -y redis-tools
2. Create a monitoring user (Redis 6+)
With ACLs you can give the agent a read-only account rather than the shared password:
redis-cli ACL SETUSER watchlog_monitor on '>your_password' '~*' '&*' \
+@read +info +config\|get +slowlog\|get +client\|list +cluster\|info +cluster\|nodes
Persist it:
redis-cli ACL SAVE
On Redis 5, or with requirepass only, skip this and use the shared password.
3. Configure the agent
- Navigate to the agent config directory:
cd /opt/watchlog-agent sudo vim integration.json - Locate the Redis object:
{ "service": "redis", "monitor": false, "host": "127.0.0.1", "port": "6379", "username": "", "password": "", "tls": false }
3. Change `"monitor"` from `false` to `true`:
```diff
- "monitor": false
+ "monitor": true
Update
host,port, and the credentials:- Redis 6+ with an ACL user → set both
usernameandpassword - Redis 5, or
requirepassonly → setpassword, leaveusernameempty
{ "service": "redis", "monitor": true, "host": "127.0.0.1", "port": "6379", "username": "watchlog_monitor", "password": "your_password", "tls": false }- Redis 6+ with an ACL user → set both
Save the file and reload the agent:
sudo pm2 reload watchlog-agent
Verify
Check the connection and the sections the agent reads:
redis-cli -h 127.0.0.1 -p 6379 --user watchlog_monitor --pass 'your_password' --no-auth-warning INFO server | head -5
redis-cli -h 127.0.0.1 -p 6379 --user watchlog_monitor --pass 'your_password' --no-auth-warning INFO commandstats | head -3
redis-cli -h 127.0.0.1 -p 6379 --user watchlog_monitor --pass 'your_password' --no-auth-warning SLOWLOG GET 1
redis-cli -h 127.0.0.1 -p 6379 --user watchlog_monitor --pass 'your_password' --no-auth-warning CONFIG GET slowlog-log-slower-than
Each one that succeeds is a section that will populate. INFO commandstats is the one most often restricted by managed providers.
TLS
Set "tls": true and the agent adds --tls to the redis-cli invocation:
{
"service": "redis",
"monitor": true,
"host": "redis.internal",
"port": "6380",
"username": "watchlog_monitor",
"password": "your_password",
"tls": true
}
The agent uses the system trust store. If your deployment uses a private CA, install it on the agent's host (/usr/local/share/ca-certificates/ then update-ca-certificates).
Slow commands
Unlike MongoDB's profiler or Elasticsearch's slow logs, Redis SLOWLOG is on by default, so this usually needs nothing. Check what your threshold actually is:
redis-cli CONFIG GET slowlog-log-slower-than
The value is in microseconds — the default 10000 means 10 ms. -1 disables logging entirely. Watchlog reads this value and shows it on the dashboard so you can tell an empty slowlog from a disabled one.
Watchlog never runs SLOWLOG RESET — that would be destructive to anything else reading the same log. It tracks a high-water mark instead, so entries are never shipped twice.
Command arguments are redacted on your host before they leave it. The command name, key names, numeric arguments and structural tokens survive; everything else becomes [REDACTED]. See the integration overview for exactly what is kept and why.
Memory limit
If maxmemory is 0 there is no configured ceiling, and Watchlog reports usage without a percentage rather than inventing one:
redis-cli CONFIG GET maxmemory
redis-cli CONFIG GET maxmemory-policy
Setting a limit and a policy is what makes the memory-pressure part of the health score meaningful.
