Intégration avec un Redis existant
Cette section explique comment configurer votre installation Redis existante afin d’envoyer des logs à ClickStack en modifiant la configuration du ClickStack OTel collector. Si vous souhaitez tester l’intégration Redis avant de configurer votre propre environnement, vous pouvez utiliser notre configuration préconfigurée et les données d’exemple de la section "Jeu de données de démonstration".
Prérequis
- Une instance ClickStack en cours d’exécution
- Une installation Redis existante (version 3.0 ou ultérieure)
- Un accès aux fichiers journaux de Redis
Vérifier la configuration de journalisation de Redis
Commencez par vérifier la configuration de journalisation de Redis. Connectez-vous à Redis et vérifiez l’emplacement du fichier journal :
redis-cli CONFIG GET logfileEmplacements courants des journaux Redis :
- Linux (apt/yum) :
/var/log/redis/redis-server.log - macOS (Homebrew) :
/usr/local/var/log/redis.log - Docker : souvent redirigé vers stdout, mais peut être configuré pour écrire dans
/data/redis.log
Si Redis écrit ses journaux vers stdout, configurez-le pour les écrire dans un fichier en mettant à jour redis.conf :
# Log to file instead of stdout
logfile /var/log/redis/redis-server.log
# Set log level (options: debug, verbose, notice, warning)
loglevel noticeAprès avoir modifié la configuration, redémarrez Redis :
# For systemd
sudo systemctl restart redis
# For Docker
docker restart <redis-container>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. La configuration personnalisée est fusionnée avec la configuration de base gérée par HyperDX via OpAMP.
Créez un fichier nommé redis-monitoring.yaml avec la configuration suivante :
receivers:
filelog/redis:
include:
- /var/log/redis/redis-server.log
start_at: beginning
operators:
- type: regex_parser
regex: '^(?P\d+):(?P\w+) (?P\d{2} \w+ \d{4} \d{2}:\d{2}:\d{2})\.\d+ (?P[.\-*#]) (?P.*)$'
parse_from: body
parse_to: attributes
- type: time_parser
parse_from: attributes.timestamp
layout: '%d %b %Y %H:%M:%S'
- type: add
field: attributes.source
value: "redis"
- type: add
field: resource["service.name"]
value: "redis-production"
service:
pipelines:
logs/redis:
receivers: [filelog/redis]
processors:
- memory_limiter
- transform
- batch
exporters:
- clickhouseCette configuration :
- Lit les Redis Logs à leur emplacement standard
- Analyse le format de logs de Redis à l’aide d’une expression régulière pour extraire les champs structurés (
pid,role,timestamp,log_level,message) - Ajoute l’attribut
source: redispour faciliter le filtrage dans HyperDX - Achemine les logs vers le ClickHouse exporter via un pipeline dédié
Configurer ClickStack pour charger une configuration personnalisée
Pour activer une configuration personnalisée du collector dans votre déploiement ClickStack existant, vous devez :
- Monter le fichier de configuration personnalisé sur
/etc/otelcol-contrib/custom.config.yaml - Définir la variable d'environnement
CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml - Monter le répertoire de journaux Redis afin que le collector puisse les lire
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
# ... other environment variables ...
volumes:
- ./redis-monitoring.yaml:/etc/otelcol-contrib/custom.config.yaml:ro
- /var/log/redis:/var/log/redis:ro
# ... other volumes ...Option 2 : Docker Run (image tout-en-un)
Si vous utilisez l'image tout-en-un avec Docker, exécutez :
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-monitoring.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
-v /var/log/redis:/var/log/redis:ro \
clickhouse/clickstack-all-in-one:latestVérifier les logs dans HyperDX
Une fois la configuration effectuée, connectez-vous à HyperDX et vérifiez que les logs remontent :


Jeu de données de démonstration
Pour les utilisateurs qui souhaitent tester l’intégration Redis avant de configurer leurs systèmes de production, nous fournissons un jeu de données d’exemple contenant des logs Redis pré-générés avec des motifs réalistes.
Télécharger le jeu de données d’exemple
Téléchargez le fichier de logs d’exemple :
curl -O https://datasets-documentation.s3.eu-west-3.amazonaws.com/clickstack-integrations/redis/redis-server.logCréer une configuration de collector de test
Créez un fichier nommé redis-demo.yaml avec la configuration suivante :
cat > redis-demo.yaml << 'EOF'
receivers:
filelog/redis:
include:
- /tmp/redis-demo/redis-server.log
start_at: beginning # Lire depuis le début pour les données de démonstration
operators:
- type: regex_parser
regex: '^(?P<pid>\d+):(?P<role>\w+) (?P<timestamp>\d{2} \w+ \d{4} \d{2}:\d{2}:\d{2})\.\d+ (?P<log_level>[.\-*#]) (?P<message>.*)$'
parse_from: body
parse_to: attributes
- type: time_parser
parse_from: attributes.timestamp
layout: '%d %b %Y %H:%M:%S'
- type: add
field: attributes.source
value: "redis-demo"
- type: add
field: resource["service.name"]
value: "redis-demo"
service:
pipelines:
logs/redis-demo:
receivers: [filelog/redis]
processors:
- memory_limiter
- transform
- batch
exporters:
- clickhouse
EOFExécuter ClickStack avec la configuration de démonstration
Exécutez ClickStack avec les logs de démonstration et cette configuration :
docker run --name clickstack-demo \
-p 8080:8080 -p 4317:4317 -p 4318:4318 \
-e CUSTOM_OTELCOL_CONFIG_FILE=/etc/otelcol-contrib/custom.config.yaml \
-v "$(pwd)/redis-demo.yaml:/etc/otelcol-contrib/custom.config.yaml:ro" \
-v "$(pwd)/redis-server.log:/tmp/redis-demo/redis-server.log:ro" \
clickhouse/clickstack-all-in-one:latestVérifier les logs dans HyperDX
Une fois ClickStack démarré :
- Ouvrez HyperDX et connectez-vous à votre compte (vous devrez peut-être d’abord en créer un)
- Accédez à la vue Search et définissez la source sur
Logs - Définissez l’intervalle de temps sur 2025-10-26 10:00:00 - 2025-10-29 10:00:00


Tableaux de bord et visualisation
Pour vous aider à démarrer la surveillance de Redis avec ClickStack, nous fournissons les visualisations essentielles pour log Redis.
Télécharger la configuration du tableau de bord
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 "importer le tableau de bord" dans le coin supérieur droit, dans le menu à trois points.

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

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 est correctement définie :
docker exec <container-name> printenv CUSTOM_OTELCOL_CONFIG_FILE
# Expected output: /etc/otelcol-contrib/custom.config.yamlVérifiez que le fichier de configuration personnalisé est bien monté :
docker exec <container-name> ls -lh /etc/otelcol-contrib/custom.config.yaml
# Expected output: Should show file size and permissionsAffichez le contenu de la configuration personnalisée :
docker exec <container-name> cat /etc/otelcol-contrib/custom.config.yaml
# Should display your redis-monitoring.yaml contentVérifiez que la configuration effective inclut votre receiver filelog :
docker exec <container> cat /etc/otel/supervisor-data/effective.yaml | grep -A 10 filelog
# Should show your filelog/redis receiver configurationAucun log ne s’affiche dans HyperDX
Assurez-vous que Redis consigne les logs dans un fichier :
redis-cli CONFIG GET logfile
# Expected output: Should show a file path, not empty string
# Example: 1) "logfile" 2) "/var/log/redis/redis-server.log"Vérifiez que Redis journalise bien :
tail -f /var/log/redis/redis-server.log
# Should show recent log entries in Redis formatVérifiez que le collector peut lire les logs :
docker exec <container> cat /var/log/redis/redis-server.log
# Should display Redis log entriesVérifiez si les logs du collector contiennent des erreurs :
docker exec <container> cat /etc/otel/supervisor-data/agent.log
# Look for any error messages related to filelog or RedisSi vous utilisez docker-compose, vérifiez les volumes partagés :
# Check both containers are using the same volume
docker volume inspect <volume-name>
# Verify both containers have the volume mountedLes logs ne sont pas analysés correctement
Vérifiez que le format de logs de Redis correspond au modèle attendu :
# Redis Logs should look like:
# 12345:M 28 Oct 2024 14:23:45.123 * Server started
tail -5 /var/log/redis/redis-server.logSi vos logs Redis ont un format différent, vous devrez peut-être adapter le pattern regex dans l’opérateur regex_parser. Le format standard est :
pid:role timestamp level message- Exemple :
12345:M 28 Oct 2024 14:23:45.123 * Server started
Étapes suivantes
- Configurez des alertes pour les métriques critiques (taux d’erreur, seuils de latence)
- Créez des tableaux de bord supplémentaires pour des cas d’usage spécifiques (surveillance des API, événements de sécurité)
Mise en production
Ce guide s'appuie sur l'OpenTelemetry Collector intégré à ClickStack pour une configuration 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 Envoi de données OpenTelemetry pour la configuration de production.