redis-observability

Par redis · agent-skills

Guide d'observabilité Redis — quelles métriques surveiller (mémoire, connexions, hit ratio, ops/sec, connexions rejetées), quelles commandes intégrées utiliser lors du triage d'un incident (`SLOWLOG`, `INFO`, `MEMORY DOCTOR`, `CLIENT LIST`, `FT.PROFILE`), et quand recourir à l'interface Redis Insight. À utiliser lors de la mise en place d'une surveillance ou d'alertes sur une instance Redis, du diagnostic d'une régression de performances, du profilage d'une requête `FT.SEARCH` lente, ou de l'intégration des métriques Redis dans Prometheus, Datadog ou un outil similaire.

npx skills add https://github.com/redis/agent-skills --skill redis-observability

Observabilité Redis

Quoi surveiller, quoi exécuter, et sur quoi déclencher des alertes. Couvre les métriques que tout déploiement Redis doit monitorer et les commandes intégrées pour le diagnostic ad-hoc.

Quand l'appliquer

  • Configurer le monitoring ou les alertes pour une instance Redis.
  • Diagnostiquer une régression de performance Redis (latence élevée, pression mémoire, rafales de connexions).
  • Profiler une FT.SEARCH lente ou un pipeline.
  • Intégrer les métriques Redis à Prometheus, Datadog, CloudWatch, ou similaire.

1. Surveiller ces métriques

Celles-ci proviennent de INFO et doivent être exportées vers votre système de monitoring.

Métrique Ce qu'elle vous dit Alerter quand
used_memory Utilisation mémoire actuelle > 80 % de maxmemory
connected_clients Connexions ouvertes Pics ou chutes soudains
blocked_clients Clients en attente d'opérations bloquantes > 0 soutenu
instantaneous_ops_per_sec Débit actuel Chutes significatives
keyspace_hits / keyspace_misses Ratio de hits du cache Ratio < 80 %
rejected_connections Limite maxclients atteinte > 0
rdb_last_save_time Dernier snapshot de persistance Trop ancien vs. RPO
info = redis.info()
hit_ratio = info["keyspace_hits"] / max(1, info["keyspace_hits"] + info["keyspace_misses"])
print(f"Memory:    {info['used_memory_human']}")
print(f"Clients:   {info['connected_clients']}")
print(f"Ops/sec:   {info['instantaneous_ops_per_sec']}")
print(f"Hit ratio: {hit_ratio:.1%}")

Voir references/metrics.md.

2. Commandes intégrées pour le débogage

Utilisez-les quand quelque chose semble anormal.

Sujet Commande
Commandes lentes SLOWLOG GET 10 / SLOWLOG LEN / SLOWLOG RESET
Snapshot serveur INFO all (ou INFO memory / INFO stats / INFO clients / INFO replication)
Diagnostics mémoire MEMORY DOCTOR / MEMORY STATS / MEMORY USAGE <key>
Connexions CLIENT LIST / CLIENT INFO
RQE / Search FT.INFO <idx> / FT.PROFILE <idx> SEARCH QUERY "..."

Les deux les plus utiles pour le triage d'incident :

  • SLOWLOG GET pour trouver les requêtes qui ont dépassé le seuil slowlog-log-slower-than (10 ms par défaut). La sortie montre la commande exacte et la durée en microsecondes.
  • MEMORY DOCTOR pour la pression mémoire — il retourne un résumé d'un paragraphe de ce qui est inhabituel dans l'utilisation mémoire en ce moment.
for entry in redis.slowlog_get(10):
    print(f"{entry['duration']}μs  {entry['command']}")

Voir references/commands.md.

3. Redis Insight

Pour une utilisation interactive (exécuter des requêtes, parcourir les clés, profiler des index), Redis Insight est l'interface graphique officielle. Elle affiche les mêmes données SLOWLOG / INFO / FT.PROFILE visuellement et inclut Redis Copilot pour les requêtes en langage naturel. Utile pendant le développement et la réponse aux incidents ; ne remplace pas l'export des métriques vers votre système de monitoring.

Références

Skills similaires