Ce guide couvre les problèmes courants que vous pouvez rencontrer lors de l'installation et de la configuration de l'intégration Redis OpenTelemetry.
Problèmes de démarrage du Collector
Message d'erreur :
'receivers' unknown type: "redis" for id: "redis" (valid values: [elasticsearch hostmetrics ...])Cause : votre version de NRDOT n'inclut pas le Récepteur Redis. Le Récepteur Redis nécessite NRDOT v1.18.0+.
Correction : soit :
- Mettre à jour NRDOT vers la dernière version
- Passez à
otelcol-contrib, qui inclut tous les récepteurs de la communauté
Message d'erreur :
cannot unmarshal the configuration: error reading receivers configurationCauses courantes :
- Indentation YAML invalide (mélange de tabulations et d’espaces)
- Problèmes Heredoc lors de la création de ConfigMaps à partir de scripts shell
- Guillemets manquants autour des valeurs de point de terminaison contenant des deux-points
Correctif :
$# Validate YAML syntax$python3 -c "import yaml; yaml.safe_load(open('/etc/nrdot-collector/redis-collector-config.yaml'))"Comment vérifier :
$systemctl status nrdot-collector$# or$systemctl status otelcol-contribCauses courantes :
- YAML invalide dans le fichier de configuration du collecteur
- Conflit de port avec un autre processus (vérifiez le port 13133 pour la vérification de l'état de santé)
- Mémoire insuffisante (augmentez
limit_mibdans memory_limiter)
Correctif :
$# Check for port conflicts$ss -tlnp | grep 13133Message d'erreur :
failed to fetch Redis INFO: dial tcp 127.0.0.1:6379: connect: connection refusedCause : Redis ne s’exécute pas, le point de terminaison configuré est incorrect ou un pare-feu bloque la connexion.
Correctif :
$# Verify Redis is running$redis-cli ping$
$# Test connectivity$nc -zv localhost 6379Problèmes d'exportation de données
Message d'erreur :
Exporting failed. 403 ForbiddenCause : clé de licence invalide ou point de terminaison OTLP incorrect pour votre région.
Correctif :
- Vérifiez que votre clé de licence est correcte et active
- Assurez-vous que le point de terminaison OTLP correspond à la région de votre compte
Étapes de vérification :
Vérifiez que le collecteur est en cours d'exécution :
bash$systemctl is-active nrdot-collectorVérifier le point de terminaison de santé :
bash$curl http://localhost:13133Testez avec NRQL :
FROM Metric SELECT count(*) WHERE metricName LIKE 'redis.%' SINCE 10 minutes ago
Problèmes de collecte de logs
Message d'erreur :
Failed to open file: /var/log/redis/redis-server.log: permission deniedCause : le processus du collecteur n'a pas accès en lecture au fichier de log Redis.
Correctif (basé sur l'hôte) :
$# Option 1: Make the log file readable$sudo chmod 644 /var/log/redis/redis-server.log$
$# Option 2: Add collector user to redis group$sudo usermod -a -G redis nrdot-collectorCorrectif (Kubernetes) : Assurez-vous que le DaemonSet a le volume /var/log/pods monté avec readOnly: true.
Problèmes spécifiques à Kubernetes
Cause : les étiquettes de pod ne correspondent pas à la règle de découverte receiver_creator.
Correctif :
$# Check pod labels$kubectl get pods -n <namespace> --show-labels | grep redisAssurez-vous que le rule dans votre ConfigMap correspond aux labels de vos pods Redis. Par exemple, si vos pods ont app.kubernetes.io/name: redis, mettez à jour la règle en conséquence.
Comment vérifier :
$kubectl get pods -n newrelic$kubectl logs -n newrelic <pod-name> --previousCauses courantes :
- YAML du ConfigMap invalide (vérifiez l'indentation dans le champ
data.config.yaml) - Secret Kubernetes manquant pour les identifiants
- Autorisations RBAC manquantes (pour le DaemonSet avec
k8s_observer)
Correctif :
$# Validate ConfigMap content$kubectl get configmap otel-collector-redis-config -n newrelic -o jsonpath='{.data.config\.yaml}' | python3 -c "import yaml,sys; yaml.safe_load(sys.stdin); print('Valid YAML')"$
$# Check secret exists$kubectl get secret newrelic-credentials -n newrelic$
$# Check RBAC$kubectl auth can-i list pods --as=system:serviceaccount:newrelic:otel-collector-redisErreur : Délai de connexion dépassé vers le point de terminaison Redis.
Correctif :
$# Verify Redis pods are running$kubectl get pods -n <namespace> -l app=redis$
$# Test connectivity from collector pod$kubectl exec -n newrelic <collector-pod> -- nc -zv <redis-pod-ip> 6379Causes courantes :
L’espace de nommage n’existe pas
values.yaml non valide
Référentiel (repository) Helm non ajouté
Correctif :
bash$# Create namespace first$kubectl create namespace newrelic$$# Validate (dry run)$helm template redis-otel open-telemetry/opentelemetry-collector -f values.yaml --dry-run
Problèmes de monitoring du Cluster
Symptômes : Les entités d'instance apparaissent, mais aucune entité Cluster Redis n'est créée.
Causes courantes :
redis.cluster.namenon défini sur le pipeline du clusterredis.instance.idouserver.addressprésent sur les métriques de cluster (empêche la règle d'entité de cluster de correspondre)Métriques de cluster désactivées (toutes les métriques de cluster sont désactivées par défaut dans le Récepteur Redis)
Correction : vérifiez que le pipeline de votre cluster contient :
redis.cluster.namedéfini via le processeurresource/clusterserver.address: {enabled: false}etserver.port: {enabled: false}sur le Récepteur du clusterAucun
redis.instance.idsur le pipeline du clusterVérifiez avec NRQL :
SELECT count(*) FROM MetricWHERE redis.cluster.name IS NOT NULLAND redis.instance.id IS NULLAND server.address IS NULLSINCE 5 minutes agoSi cela renvoie 0, les métriques de cluster ne circulent pas correctement.
Symptômes : l'entité de Cluster existe mais le dashboard affiche des widgets vides.
Causes courantes :
Redis ne s'exécute pas en mode Cluster (les instances autonomes ne produisent pas de métriques de cluster)
Les métriques de Cluster ne sont pas activées dans la configuration du Récepteur Redis
Correctif : Vérifiez que Redis est en mode Cluster :
bash$redis-cli INFO cluster | grep cluster_enabledDoit renvoyer
cluster_enabled:1. S'il renvoie0, votre Redis n'est pas en mode Cluster.Vérifiez que les métriques de cluster sont activées dans la configuration de votre Récepteur :
redis/cluster:metrics:redis.cluster.state: {enabled: true}redis.cluster.known_nodes: {enabled: true}# ... all 9 cluster metrics must be explicitly enabled
Symptômes : plus d'une entité Cluster Redis apparaît pour le même cluster.
Cause : différents collecteurs utilisent des valeurs redis.cluster.name différentes pour le même cluster.
Correction : assurez-vous que tous les collecteurs monitorant le même cluster utilisent exactement la même valeur redis.cluster.name dans leur processeur resource/cluster. L'identifiant de l'entité du cluster est ce nom — des noms différents créent des entités différentes.
Symptômes : les entités de cluster et d'instance existent toutes les deux, mais aucune relation CONTAINS n'apparaît dans les cartes de service.
Cause : Les métriques d'instance ne portent pas l'attribut redis.cluster.name, la règle de relation ne peut donc pas les lier.
Solution : ajoutez redis.cluster.name au processeur de ressources du pipeline de votre instance :
resource/redis_identity: attributes: - key: redis.instance.id value: "my-instance:6379" action: upsert - key: redis.cluster.name value: "my-redis-cluster" # Must match the cluster pipeline value action: upsertSymptômes : redis.cluster.state signale 0 (FAIL) même si Redis semble opérationnel.
Causes courantes :
Les 16 384 emplacements de hachage ne sont pas tous attribués (configuration de cluster incomplète)
Un nœud maître est en panne sans réplica disponible pour le basculement automatique
Partition réseau entre les nœuds
Correctif :
bash$# Check cluster state directly$redis-cli CLUSTER INFO | grep cluster_state$$# Check slot coverage$redis-cli CLUSTER INFO | grep cluster_slots$$# Check for failed nodes$redis-cli CLUSTER NODES | grep failSi
cluster_slots_assignedest inférieur à 16 384, certains emplacements ne sont pas attribués. Corrigez en ajoutant les plages d'emplacements manquantes aux nœuds disponibles.
Prochaines étapes
- Guides d'installation: revoyez les étapes de configuration
- Référence des métriques: vérifiez les métriques attendues
- Trouvez vos données: Requête et alerte sur les métriques Redis