Vous pouvez installer l' agent PHP sur un conteneur Docker ou autre conteneur pour monitorer une ou plusieurs de vos applications PHP. Ceci est pris en charge pour les conteneurs qui répondent aux exigences et à la compatibilité standard de l' agent PHP.
Important
L' agent PHP daemon transmet périodiquement des données à New Relic pendant le cycle de collecte d'une minute. Si vous démarrez et démontez souvent le conteneur, assurez-vous de laisser le conteneur de daemon fonctionner suffisamment longtemps pour transmettre les données restantes.
Options de conteneur
L'agent PHP nécessite deux composants pour fonctionner : l'agent PHP (un pour chaque application) et un daemon, qui regroupe les données envoyées par un ou plusieurs agents et les envoie à New Relic. Pour cette raison, il existe deux options pour activer l' agent PHP pour les environnements conteneurisés :
- Installez l'agent et le daemon sur différents conteneurs. Cela peut être utile si vous avez un conteneur à courte durée de vie.
- Installez l'agent et le daemon sur le même conteneur. Il s'agit de la configuration recommandée.
Installer agent et le daemon dans différents conteneurs
L'installation de l'agent et du daemon dans différents conteneurs est prise en charge à partir de l'agent PHP New Relic version 9.2.0 .
Pour voir un exemple d'application, accédez au forum d'assistance de New Relic. Si vous utilisez un conteneur application de courte durée, nous vous recommandons d'utiliser un conteneur séparé pour le daemon de l' agent PHP.
Prudence
Les données transmises de l'agent au démon ne sont pas cryptées. La seule exception à cette règle est l’ obfuscation SQL qui se produit avant l’envoi de données au démon. Si l'agent et le démon s'exécutent sur des hôtes différents, nous vous recommandons d'utiliser une connexion réseau privée entre l'agent et le démon.
Configurer le conteneur de daemon
Si vous utilisez Docker, vous pouvez extraire notre image de daemon depuis Docker Hub:
- Exécutez cette commande :
docker pull newrelic/php-daemon
. - Pour personnaliser l'image, suivez les étapes sur Docker Hub.
Vous pouvez également créer votre propre image de daemon :
- Pour installer le daemon, téléchargez le package de l'agent PHP à partir du site de téléchargement du fichier tar de New Relic et exécutez le script
newrelic-install
avec l'argumentinstall_daemon
. - Démarrez le daemon en utilisant les arguments
--address
et--watchdog-foreground
.
L'argument --address
définit un port pour que le daemon accepte les connexions. L'argument --watchdog-foreground
garantit que le daemon s'exécute au premier plan.
Configurer le conteneur d'agent PHP
Pour configurer le conteneur d’agent PHP pour Docker :
- Assurez-vous qu'une installation PHP est disponible dans le conteneur. Par exemple, utilisez une « image officielle » Docker pour
php
commephp:fpm
ouphp:cli
. - Pour installer l'agent, téléchargez le package de l'agent PHP à partir du site de téléchargement de New Relic et exécutez le script
newrelic-install
avec l'argumentinstall
. - Dans le fichier
newrelic.ini
, définissez le nom de l'application et avec les entréesnewrelic.appname
etnewrelic.license
. - Dirigez l'agent vers le daemon en définissant l'option
newrelic.daemon.address
dans le fichiernewrelic.ini
. Assurez-vous que la valeur de cette option estHOST:PORT
, oùHOST
est le nom ou l'adresse IP de l'hôte sur lequel le daemon s'exécute etPORT
est le numéro de port sur lequel le daemon écoute
Installer l'agent et le daemon dans le même conteneur
Prudence
Par défaut, la première transaction provoque le déclenchement par l'agent d'un démarrage du daemon et d'une initialisation de la connexion à l'application. Pour des raisons de performances, l'agent n'attend pas que ces opérations soient terminées avant d'initialiser la connexion. Cela peut entraîner la perte des premières transactions après le démarrage d’un conteneur. Pour éviter cette perte, définissez les entrées newrelic.daemon.start_timeout
et newrelic.daemon.app_connect_timeout
dans le fichier newrelic.ini
sur nos valeurs recommandées de 5 et 15 respectivement.
Pour configurer l' agent PHP et le daemon dans le même conteneur Docker :
- Assurez-vous qu'une installation PHP est disponible dans le conteneur. Par exemple, utilisez une « image officielle » Docker pour
php
commephp:fpm
ouphp:cli
. - Pour installer l'agent, téléchargez le package de l'agent PHP à partir du site de téléchargement de New Relic et exécutez le script
newrelic-install
avec l'argumentinstall
. - Définissez le nom de l'application et via les entrées
newrelic.license
etnewrelic.appname
dans le fichiernewrelic.ini
.
Conseil
Voici quelques ressources de dépannage Docker :