Problème
Vous voyez des erreurs dans votre fichier de daemon log après la mise à niveau de votre agent comme ceci :protocol mismatch: A.B != X.Y
.
Solution
Assurez-vous que votre agent et votre daemon sont tous deux à jour sur le même numéro de version.
Redémarrez votre serveur Web (Apache, Nginx, PHP-FPM, etc.).
Si le nombre
A.B
est inférieur au nombreX.Y
, cela signifie que vous avez un agent obsolète essayant de communiquer avec un daemon plus moderne.Si le nombre
A.B
est supérieur au nombreX.Y
, cela signifie que votre daemon est obsolète, et la cause la plus probable est que vous avez trop de daemons en cours d'exécution. Dans ce cas, tuez tous les processusnewrelic-daemon
actuellement en cours d'exécution et redémarrez le daemon en utilisant/etc/init.d/newrelic-daemon start
.
Cause
La seule raison de cette erreur est que votre agent et votre daemon ne sont pas synchronisés l'un avec l'autre. Le daemon et l'agent réel (l'extension PHP) sont une paire très étroitement couplée, et le daemon n'acceptera que les connexions et les commandes d'un agent qui lui correspond.
Parfois, le processus de mise à niveau ne parvient pas à tuer correctement l'ancien daemon et il se peut que d'anciens processus daemon soient toujours en cours d'exécution. Souvent, cette erreur est due au fait que vous n'avez pas redémarré votre serveur Web après une mise à niveau. Si le daemon a été mis à niveau correctement, mais que votre serveur Web contient toujours un agent plus ancien, vous verrez cette erreur. L'erreur elle-même indique laquelle est obsolète.