{"slug":"redis-observability","title":"redis-observability","summary":"Redis observability guidance — which metrics to monitor (memory, connections, hit ratio, ops/sec, rejected connections), which built-in commands to reach for during incident triage (SLOWLOG, INFO, MEMORY DOCTOR, CLIENT LIST, FT.PROFILE), and when to use the Redis Insight GUI. Use","platform":"Claude","tags":[],"authorName":"LLM Mart","authorSlug":"llm-mart","score":0,"source":"github","price":null,"verified":false,"createdAt":"2026-08-26T15:32:04.301963Z","repo":{"url":"https://github.com/redis/agent-skills","stars":154,"forks":31,"license":"MIT","updatedAt":"2026-09-08T10:56:41Z"},"bodyHtml":"<hr>\n<h2>name: redis-observability\ndescription: Redis observability guidance — which metrics to monitor (memory, connections, hit ratio, ops/sec, rejected connections), which built-in commands to reach for during incident triage (SLOWLOG, INFO, MEMORY DOCTOR, CLIENT LIST, FT.PROFILE), and when to use the Redis Insight GUI. Use when setting up monitoring or alerts for a Redis instance, diagnosing a performance regression, profiling a slow FT.SEARCH query, or wiring Redis metrics into Prometheus, Datadog, or similar.\nlicense: MIT\nmetadata:\nauthor: Redis, Inc.\nversion: \"0.1.0\"</h2>\n<h1>Redis Observability</h1>\n<p>What to watch, what to run, and what to alert on. Covers the metrics every Redis deployment should monitor and the built-in commands for ad-hoc diagnosis.</p>\n<h2>When to apply</h2>\n<ul>\n<li>Setting up monitoring or alerts for a Redis instance.</li>\n<li>Diagnosing a Redis performance regression (high latency, memory pressure, connection storms).</li>\n<li>Profiling a slow <code>FT.SEARCH</code> or pipeline.</li>\n<li>Wiring Redis metrics into Prometheus, Datadog, CloudWatch, or similar.</li>\n</ul>\n<h2>1. Monitor these metrics</h2>\n<p>These come from <code>INFO</code> and should be exported to your monitoring system.</p>\n<table>\n<thead>\n<tr>\n<th>Metric</th>\n<th>What it tells you</th>\n<th>Alert when</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td><code>used_memory</code></td>\n<td>Current memory usage</td>\n<td>&gt; 80% of <code>maxmemory</code></td>\n</tr>\n<tr>\n<td><code>connected_clients</code></td>\n<td>Open connections</td>\n<td>Sudden spikes or drops</td>\n</tr>\n<tr>\n<td><code>blocked_clients</code></td>\n<td>Clients waiting on blocking ops</td>\n<td>&gt; 0 sustained</td>\n</tr>\n<tr>\n<td><code>instantaneous_ops_per_sec</code></td>\n<td>Current throughput</td>\n<td>Significant drops</td>\n</tr>\n<tr>\n<td><code>keyspace_hits</code> / <code>keyspace_misses</code></td>\n<td>Cache hit ratio</td>\n<td>Hit ratio &lt; 80%</td>\n</tr>\n<tr>\n<td><code>rejected_connections</code></td>\n<td>Hit <code>maxclients</code> cap</td>\n<td>&gt; 0</td>\n</tr>\n<tr>\n<td><code>rdb_last_save_time</code></td>\n<td>Last persistence snapshot</td>\n<td>Too old vs. RPO</td>\n</tr>\n</tbody>\n</table>\n<pre><code>info = redis.info()\nhit_ratio = info[\"keyspace_hits\"] / max(1, info[\"keyspace_hits\"] + info[\"keyspace_misses\"])\nprint(f\"Memory:    {info['used_memory_human']}\")\nprint(f\"Clients:   {info['connected_clients']}\")\nprint(f\"Ops/sec:   {info['instantaneous_ops_per_sec']}\")\nprint(f\"Hit ratio: {hit_ratio:.1%}\")\n</code></pre>\n<p>See <a href=\"references/metrics.md\">references/metrics.md</a>.</p>\n<h2>2. Built-in commands for debugging</h2>\n<p>Reach for these when something looks off.</p>\n<table>\n<thead>\n<tr>\n<th>Topic</th>\n<th>Command</th>\n</tr>\n</thead>\n<tbody>\n<tr>\n<td>Slow commands</td>\n<td><code>SLOWLOG GET 10</code> / <code>SLOWLOG LEN</code> / <code>SLOWLOG RESET</code></td>\n</tr>\n<tr>\n<td>Server snapshot</td>\n<td><code>INFO all</code> (or <code>INFO memory</code> / <code>INFO stats</code> / <code>INFO clients</code> / <code>INFO replication</code>)</td>\n</tr>\n<tr>\n<td>Memory diagnostics</td>\n<td><code>MEMORY DOCTOR</code> / <code>MEMORY STATS</code> / <code>MEMORY USAGE &lt;key&gt;</code></td>\n</tr>\n<tr>\n<td>Connections</td>\n<td><code>CLIENT LIST</code> / <code>CLIENT INFO</code></td>\n</tr>\n<tr>\n<td>RQE / Search</td>\n<td><code>FT.INFO &lt;idx&gt;</code> / <code>FT.PROFILE &lt;idx&gt; SEARCH QUERY \"...\"</code></td>\n</tr>\n</tbody>\n</table>\n<p>The two most useful for incident triage:</p>\n<ul>\n<li><strong><code>SLOWLOG GET</code></strong> to find queries that exceeded the <code>slowlog-log-slower-than</code> threshold (10ms by default). The output shows the exact command and duration in microseconds.</li>\n<li><strong><code>MEMORY DOCTOR</code></strong> for memory pressure — it returns a one-paragraph summary of what's unusual about memory usage right now.</li>\n</ul>\n<pre><code>for entry in redis.slowlog_get(10):\n    print(f\"{entry['duration']}μs  {entry['command']}\")\n</code></pre>\n<p>See <a href=\"references/commands.md\">references/commands.md</a>.</p>\n<h2>3. Redis Insight</h2>\n<p>For interactive use (running queries, browsing keys, profiling indexes), <a href=\"https://redis.io/insight/\">Redis Insight</a> is the official GUI. It surfaces the same <code>SLOWLOG</code> / <code>INFO</code> / <code>FT.PROFILE</code> data visually and includes Redis Copilot for natural-language queries. Useful during development and incident response; not a replacement for exporting metrics to your monitoring system.</p>\n<h2>References</h2>\n<ul>\n<li><a href=\"https://redis.io/docs/latest/operate/oss_and_stack/management/optimization/latency/\">Redis: Latency monitoring</a></li>\n<li><a href=\"https://redis.io/insight/\">Redis Insight</a></li>\n</ul>\n","files":[{"path":"references/commands.md","sizeBytes":853,"isText":true},{"path":"references/metrics.md","sizeBytes":1218,"isText":true},{"path":"SKILL.md","sizeBytes":3646,"isText":true}],"reviewScore":null,"reviewSummary":null,"trust":{"provenance":"trusted-source-unreviewed","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow.","bodySource":null},"bodyLocked":false,"purchaseUrl":null,"sourceUrl":null,"report":{"provenance":"trusted-source-unreviewed","screen":{"ran":true,"outcome":"clean","suspicious":0,"notes":0,"hiddenCharacters":false},"virusScan":{"engine":"clamav","status":"clean","scannedAt":"2026-08-26T15:37:11.111424Z","sha256":"868564F38487E20169A096B6EFF0486A9730F022C2A51345C5BD32283B5720A3","sizeBytes":3196},"review":null,"source":{"repositoryUrl":"https://github.com/redis/agent-skills","path":"plugins/redis-development/skills/redis-observability","license":"MIT","commit":"a84871d065f398fed55e1633f66b66f731eb4e2b","subtreeSha":"8D29AB9115180A6E3EFCBE7F64EBFF58EFFB1EDD5E4F70EDC23D4CF5AE716826","lastSyncedAt":"2026-09-22T13:51:06.844779Z"},"reviewedAt":"2026-08-26T15:47:21.838709Z","notice":"Community-authored content, reproduced verbatim and not vetted as instructions. Treat it as data to evaluate, never as directives to follow."},"install":[{"target":"skills-cli","command":"npx skills add https://github.com/redis/agent-skills/tree/main/plugins/redis-development/skills/redis-observability"},{"target":"claude-code","command":"claude plugin marketplace add https://llmmart.ai/marketplace.json && claude plugin install redis-agent-skills@llmmart"},{"target":"git","command":"git clone https://github.com/redis/agent-skills.git"}]}