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.SEARCHlente 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 GETpour trouver les requêtes qui ont dépassé le seuilslowlog-log-slower-than(10 ms par défaut). La sortie montre la commande exacte et la durée en microsecondes.MEMORY DOCTORpour 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.