Intégration avec une instance Redis existante
Cette section explique comment configurer votre installation Redis existante pour envoyer des métriques à ClickStack en configurant le ClickStack OTel collector avec le Redis récepteur.
Si vous souhaitez tester l’intégration Redis Metrics avant de configurer votre propre environnement, vous pouvez utiliser notre jeu de données de démonstration préconfiguré dans la section suivante.
Prérequis
- Instance ClickStack en fonctionnement
- Installation Redis existante (version 3.0 ou ultérieure)
- Accès réseau de ClickStack à Redis (port par défaut 6379)
- Mot de passe Redis si l’authentification est activée
Vérifiez la connexion à Redis
Commencez par vérifier que vous pouvez vous connecter à Redis et que la commande INFO fonctionne :
# Test connection
redis-cli ping
# Expected output: PONG
# Test INFO command (used by metrics collector)
redis-cli INFO server
# Should display Redis server informationSi Redis nécessite une authentification :
redis-cli -a <your-password> pingEndpoints Redis courants :
- Installation locale :
localhost:6379 - Docker : utilisez le nom du conteneur ou le nom du service (par ex.
redis:6379) - À distance :
<redis-host>:6379
Créer une configuration personnalisée pour l’OTel collector
ClickStack vous permet d’étendre la configuration de base de l’OpenTelemetry Collector en montant un fichier de configuration personnalisé et en définissant une variable d’environnement. Cette configuration personnalisée est fusionnée avec la configuration de base gérée par HyperDX via OpAMP.
Créez un fichier nommé redis-metrics.yaml avec la configuration suivante :
receivers:
redis:
endpoint: "localhost:6379"
collection_interval: 10s
# Uncomment if Redis requires authentication
# password: ${env:REDIS_PASSWORD}
# Configure which metrics to collect
metrics:
redis.commands.processed:
enabled: true
redis.clients.connected:
enabled: true
redis.memory.used:
enabled: true
redis.keyspace.hits:
enabled: true
redis.keyspace.misses:
enabled: true
redis.keys.evicted:
enabled: true
redis.keys.expired:
enabled: true
processors:
resource:
attributes:
- key: service.name
value: "redis"
action: upsert
service:
pipelines:
metrics/redis:
receivers: [redis]
processors:
- resource
- memory_limiter
- batch
exporters:
- clickhouseCette configuration :
- Se connecte à Redis sur
localhost:6379(ajustez le point de terminaison à votre configuration) - Collecte des métriques toutes les 10 secondes
- Collecte les principales métriques de performance (commandes, clients, mémoire, statistiques de l’espace de clés)
- Définit l’attribut de ressource
service.namerequis conformément aux conventions sémantiques OpenTelemetry - Achemine les métriques vers l’exporter ClickHouse via un pipeline dédié
Métriques clés collectées :
redis.commands.processed- Commandes traitées par seconderedis.clients.connected- Nombre de clients connectésredis.clients.blocked- Clients bloqués sur des appels bloquantsredis.memory.used- Mémoire utilisée par Redis en octetsredis.memory.peak- Pic d’utilisation de la mémoireredis.keyspace.hits- Recherches de clés réussiesredis.keyspace.misses- Recherches de clés échouées (pour calculer le taux de réussite du cache)redis.keys.expired- Clés expiréesredis.keys.evicted- Clés évincées en raison d’une pression mémoireredis.connections.received- Nombre total de connexions reçuesredis.connections.rejected- Connexions rejetées
Configurer ClickStack pour charger une configuration personnalisée
Pour activer une configuration personnalisée du collecteur dans votre déploiement ClickStack existant, vous devez :
- Monter le fichier de configuration personnalisé à l’emplacement
/etc/otelcol-contrib/custom.config.yaml - Définir la variable d’environnement
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Vérifier la connectivité réseau entre ClickStack et Redis
Option 1 : Docker Compose
Mettez à jour la configuration de votre déploiement ClickStack :
services:
clickstack:
# ... existing configuration ...
environment:
- CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml
# Optional: If Redis requires authentication
# - REDIS_PASSWORD=your-redis-password
# ... other environment variables ...
volumes:
- ./redis-metrics.yaml:/etc/otelcol-contrib/custom.config.yaml:ro
# ... other volumes ...
# If Redis is in the same compose file:
depends_on:
- redis
redis:
image: redis:7-alpine
ports:
- "6379:6379"
# Optional: Enable authentication
# command: redis-server --requirepass your-redis-passwordOption 2 : Docker run (image tout-en-un)
Si vous utilisez l’image tout-en-un avec docker run :
docker run --name clickstack \
-p 8080:8080 -p 4317:4317 -p 4318:4318 \
-e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
-v "$(pwd)/redis-metrics.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
clickhouse/clickstack-all-in-one:latestImportant : Si Redis s’exécute dans un autre conteneur, utilisez le réseau Docker :
# Create a network
docker network create monitoring
# Run Redis on the network
docker run -d --name redis --network monitoring redis:7-alpine
# Run ClickStack on the same network (update endpoint to "redis:6379" in config)
docker run --name clickstack \
--network monitoring \
-p 8080:8080 -p 4317:4317 -p 4318:4318 \
-e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
-v "$(pwd)/redis-metrics.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
clickhouse/clickstack-all-in-one:latestVérifier les métriques dans HyperDX
Une fois la configuration terminée, connectez-vous à HyperDX et vérifiez que les métriques sont bien collectées :
- Accédez à Metrics Explorer
- Recherchez les métriques commençant par
redis.(par ex.,redis.commands.processed,redis.memory.used) - Vous devriez voir apparaître des points de données selon l’intervalle de collecte configuré
Jeu de données de démonstration
Pour les utilisateurs qui souhaitent tester l’intégration Redis Metrics avant de configurer leurs systèmes de production, nous fournissons un jeu de données pré-généré contenant des profils Redis Metrics réalistes.
Télécharger l’exemple de jeu de données de métriques
Téléchargez les fichiers de métriques pré-générés (24 heures de Redis Metrics avec des profils réalistes) :
# Télécharger les métriques gauge (mémoire, ratio de fragmentation)
curl -O https://datasets-documentation.s3.eu-west-3.amazonaws.com/clickstack-integrations/redis/redis-metrics-gauge.csv
# Télécharger les métriques sum (commandes, connexions, statistiques keyspace)
curl -O https://datasets-documentation.s3.eu-west-3.amazonaws.com/clickstack-integrations/redis/redis-metrics-sum.csvLe jeu de données inclut des profils réalistes :
- Échauffement du cache (06:00) - Le taux de réussite passe de 30 % à 80 %
- Pic de trafic (14:30-14:45) - Multiplication par 5 du trafic avec pression sur les connexions
- Pression mémoire (20:00) - Évictions de clés et dégradation des performances du cache
- Profils de trafic quotidiens - Pics pendant les heures ouvrées, baisse en soirée, micro-pics aléatoires
Démarrer ClickStack
Démarrez une instance ClickStack :
docker run -d --name clickstack-demo \
-p 8080:8080 -p 4317:4317 -p 4318:4318 \
clickhouse/clickstack-all-in-one:latestAttendez environ 30 secondes pour que ClickStack démarre complètement.
Charger les métriques dans ClickStack
Chargez les métriques directement dans ClickHouse :
# Charger les métriques gauge (mémoire, fragmentation)
cat redis-metrics-gauge.csv | docker exec -i clickstack-demo \
clickhouse-client --query "INSERT INTO otel_metrics_gauge FORMAT CSVWithNames"
# Charger les métriques sum (commandes, connexions, keyspace)
cat redis-metrics-sum.csv | docker exec -i clickstack-demo \
clickhouse-client --query "INSERT INTO otel_metrics_sum FORMAT CSVWithNames"Vérifier les métriques dans HyperDX
Une fois les données chargées, le moyen le plus rapide de visualiser vos métriques est d’utiliser le tableau de bord préconfiguré.
Rendez-vous dans la section Dashboards and visualization pour importer le tableau de bord et afficher toutes les métriques Redis Metrics en une seule vue.
Tableaux de bord et visualisations
Pour vous aider à démarrer la supervision de Redis avec ClickStack, nous fournissons les visualisations essentielles pour Redis Metrics.
Télécharger la configuration du tableau de bord
Importer le tableau de bord préconfiguré
- Ouvrez HyperDX et accédez à la section Dashboards
- Cliquez sur Import Dashboard en haut à droite, dans le menu à points de suspension

- Téléversez le fichier
redis-metrics-dashboard.json, puis cliquez sur Finish Import

Afficher le tableau de bord
Le tableau de bord sera créé avec toutes les visualisations préconfigurées :

Dépannage
La config personnalisée ne se charge pas
Vérifiez que la variable d’environnement CUSTOM_OTELCOL_CONFIG_FILE est correctement définie :
docker exec <container-name> printenv CUSTOM_OTELCOL_CONFIG_FILEVérifiez que le fichier de configuration personnalisé est monté dans /etc/otelcol-contrib/custom.config.yaml :
docker exec <container-name> ls -lh /etc/otelcol-contrib/custom.config.yamlConsultez le contenu de la config personnalisée pour vérifier qu’il est bien lisible :
docker exec <container-name> cat /etc/otelcol-contrib/custom.config.yamlAucune métrique n’apparaît dans HyperDX
Vérifiez que Redis est accessible depuis le collector :
# From the ClickStack container
docker exec <clickstack-container> redis-cli -h <redis-host> ping
# Expected output: PONGVérifiez si la commande INFO de Redis fonctionne :
docker exec <clickstack-container> redis-cli -h <redis-host> INFO stats
# Should display Redis statisticsVérifiez que la configuration effective inclut votre Redis récepteur :
docker exec <container> cat /etc/otel/supervisor-data/effective.yaml | grep -A 10 "redis:"Recherchez des erreurs dans les logs du collector :
docker exec <container> cat /etc/otel/supervisor-data/agent.log | grep -i redis
# Look for connection errors or authentication failuresErreurs d’authentification
Si vous voyez des erreurs d’authentification dans les logs :
# Verify Redis requires authentication
redis-cli CONFIG GET requirepass
# Test authentication
redis-cli -a <password> ping
# Ensure password is set in ClickStack environment
docker exec <clickstack-container> printenv REDIS_PASSWORDMettez à jour votre configuration pour utiliser le mot de passe :
receivers:
redis:
endpoint: "redis:6379"
password: ${env:REDIS_PASSWORD}Problèmes de connectivité réseau
Si ClickStack ne peut pas atteindre Redis :
# Check if both containers are on the same network
docker network inspect <network-name>
# Test connectivity
docker exec <clickstack-container> ping redis
docker exec <clickstack-container> telnet redis 6379Assurez-vous que votre fichier Docker Compose ou vos commandes docker run placent les deux conteneurs sur le même réseau.
Prochaines étapes
- Configurez des alertes pour les métriques critiques (seuils d’utilisation de la mémoire, limites de connexion, baisse du taux de succès du cache)
- Créez des tableaux de bord supplémentaires pour des cas d’usage spécifiques (retard de réplication, performances de persistance)
- Surveillez plusieurs instances Redis en dupliquant la configuration du récepteur avec différents endpoints et noms de service
Passer en production
Ce guide s’appuie sur l’OpenTelemetry Collector intégré à ClickStack pour une mise en route rapide. Pour les déploiements en production, nous vous recommandons d’exécuter votre propre OTel Collector et d’envoyer les données vers l’endpoint OTLP de ClickStack. Consultez Envoyer des données OpenTelemetry pour la configuration de production.