Configuration de l'Agent Node.js

Vous devez ajouter un collecteur de données d'agent à votre application Node.js et la redémarrer pour que l'agent puisse commencer à la surveiller.

Avant de commencer

Avant de reconfigurer les paramètres de l'agent dans la même version, nettoyez les fichiers du collecteur de données qui ont été créés par la configuration précédente de la manière suivante :
  1. Accédez au répertoire rép_install/lx8266/nj/bin.
  2. Exécutez la commande ./uninstall.sh pour supprimer les fichiers du collecteur de données existants.

Pourquoi et quand exécuter cette tâche

L'agent Node.js est un agent à instance unique. Il enregistre des sous-noeuds pour chaque application Node.js surveillée. Le sous-noeud possède la structure suivante :

NJ:hostname_port:NJA
Conseil : Si une application Node.js est en mode écoute sur plusieurs numéros de port, le numéro de port le plus bas est utilisé.
Vous devez ajouter un collecteur de données d'agent à votre application Node.js et la redémarrer pour que l'agent puisse commencer à la surveiller. Les collecteurs de données d'agent collectent des données qui sont transmises à l'agent Node.js. Actuellement, les collecteurs de données d'agent suivants sont fournis :
  • Le collecteur de données de ressources collecte les données de surveillance des ressources à partir de vos applications Node.js.
  • Le collecteur de données de diagnostic collecte les données de diagnostic et de surveillance des ressources à partir de vos applications Node.js.
  • Le collecteur de données de trace de méthode collecte les traces de méthode, les données de diagnostic et les données de surveillance des ressources à partir de vos applications Node.js.

Procédure

  1. Assurez-vous que l'ID utilisateur utilisé pour exécuter le serveur d'applications a des droits complets sur le répertoire rép_install de l'agent.
  2. Accédez au répertoire rép_install/bin et exécutez la commande suivante :
    ./nodejs-agent.sh config
  3. Suivez les instructions des invites pour spécifier les valeurs des options de configuration suivantes :
    KNJ_NODEJS_RUNTIME_BIN_LOCATION
    Répertoire contenant le dossier bin de votre exécution Node.js. Le répertoire par défaut est /usr/local/bin.
    KNJ_NPM_RUNTIME_BIN_LOCATION
    Répertoire contenant le dossier bin de votre commande npm. Le répertoire par défaut est /usr/local/bin.
    KNJ_NPM_LIB_LOCATION
    Répertoire contenant le dossier lib de votre répertoire d'installation global du package npm. Le répertoire par défaut est /usr/local/lib. Par exemple, si vous installez le package npm en exécutant la commande npm install -g, le package est installé dans /rép_base_nodejs/lib/node_modules et KNJ_NPM_LIB_LOCATION correspond à /rép_base_nodejs/lib.
    CP_PORT
    Port sur lequel l'agent écoute les données provenant des clients du socket. La valeur 0 indique qu'un port éphémère sera utilisé. La valeur par défaut est 63336.
    Remarque : N'utilisez pas le numéro de port déjà utilisé sur votre système. Pour vérifier si le port est déjà utilisé, exécutez la commande netstat -apn | grep numéro_port.
  4. Démarrez l'agent en exécutant la commande suivante :
    ./nodejs-agent.sh start
  5. Vérifiez que l'Agent Node.js est démarré avec succès. Le dossier KNJ_NPM_LIB_LOCATION/node_modules/ibmapm est généré si l'agent démarre correctement.
  6. En fonction de l'offre dont vous disposez et des exigences, insérez l'une des entrées suivantes dans le fichier .js de votre application Node.js pour configurer les collecteurs de données d'agent :
    Remarque : Une seule entrée peut être ajoutée à votre application Node.js afin d'activer les fonctionnalités du collecteur de données de l'agent. De même, si vous activez les fonctionnalités qui ne sont pas incluses dans l'offre, le système peut être inutilement surchargé, ce qui peut réduire l'efficacité de l'exécution de l'application.
    • Si vous n'avez que des fonctionnalités de surveillance de ressources, vous pouvez ajouter le collecteur de données de ressource. Pour ce faire, insérez la ligne suivante au début du fichier d'application Node.js :
      require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm');
      Si la valeur de KNJ_NPM_LIB_LOCATION est /usr/local/lib dans votre environnement, la ligne apparaît comme suit :
      require('/usr/local/lib/node_modules/ibmapm');
    • Si vous avez des fonctionnalités de diagnostic en plus de la surveillance au niveau de la ressource, vous pouvez choisir d'ajouter l'un des collecteurs de données d'agent suivants :
      • Pour ajouter le collecteur de données de trace de méthode, insérez la ligne suivante au début du fichier d'application Node.js :
        require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm/methodtrace.js');
      • Pour ajouter le collecteur de données de diagnostic, insérez la ligne suivante au début du fichier d'application Node.js :
        require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm/deepdive.js');
      • Pour ajouter le collecteur de données de surveillance des ressources, insérez la ligne suivante au début du fichier d'application Node.js :
        require('KNJ_NPM_LIB_LOCATION/node_modules/ibmapm');

      Pour améliorer les performances, ajoutez le collecteur de données de trace de méthode à des fins de débogage uniquement.

    Remarque : le code des plug-in change à partir de Cloud APM mars 2017. Si vous mettez à niveau votre agent à partir de versions antérieures, vous devez mettre à jour le code des collecteurs de données existants dans vos applications pour que la fonctionnalité de surveillance fonctionne correctement.
  7. Redémarrez l'application Node.js pour activer le collecteur de données de l'agent.

Résultats

Vous avez correctement configuré l'Agent Node.js.

Que faire ensuite