Watchlog DocsWatchlog Docs
Home
Get Started
Gen AI Monitoring
Integrations
Log Watchlist
Home
Get Started
Gen AI Monitoring
Integrations
Log Watchlist
  • All Integrations
  • NGINX

    • Nginx Integration
    • Connect NGINX to Watchlog
    • Docker
    • Windows
    • Kubernetes
    • Source Code
  • IIS

    • IIS Integration
    • Ubuntu
    • Docker Container
    • Windows
    • Kubernetes
    • Source Code
  • REDIS

    • Redis Integration
    • Ubuntu
    • Docker Container
    • Windows
    • Kubernetes
    • Source Code
  • POSTGRESQL

    • PostgreSQL Integration
    • Ubuntu
    • Docker Container
    • Windows
    • Kubernetes
    • Source Code
  • MONGODB

    • MongoDB Integration
    • Ubuntu
    • Docker Container
    • Windows
    • Kubernetes
    • Source Code
  • MYSQL

    • MySQL Integration
    • Ubuntu
    • Docker Container
    • Windows
    • Kubernetes
    • Source Code
  • PM2

    • PM2 Integration
    • Ubuntu
    • Docker Container
    • Windows
    • Kubernetes
    • Source Code
  • DOCKER

    • Docker Integration
    • Ubuntu
    • Docker Container
    • Windows
    • Kubernetes
    • Source Code
  • GITLAB

    • Gitlab Integration
    • Ubuntu
    • Docker
    • Windows
    • Kubernetes
    • Source
  • ELASTICSEARCH

    • Elasticsearch Integration
    • Ubuntu
    • Docker Container
    • Windows
    • Kubernetes
    • Source Code

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

  1. Navigate to the agent config directory:
    cd /opt/watchlog-agent
    sudo vim integration.json
    
  2. 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
  1. Update host, port, and the credentials:

    • Redis 6+ with an ACL user → set both username and password
    • Redis 5, or requirepass only → set password, leave username empty
    {
      "service": "redis",
      "monitor": true,
      "host": "127.0.0.1",
      "port": "6379",
      "username": "watchlog_monitor",
      "password": "your_password",
      "tls": false
    }
    
  2. 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.

Last Updated:: 8/13/26, 12:54 AM
Contributors: mohammad
Prev
Redis Integration
Next
Docker Container